---
paths:
  - "**/*.md"
---

# Spec-Kit Implementation Plans

- Derive the plan from the spec; only the plan names technologies, and each choice records its rationale.
- Check the plan against project principles (the constitution) before coding; document justification for any gate you fail.
- Simplicity gate: start with the minimum number of components; add more only with written justification.
- Anti-abstraction gate: use frameworks directly; do not wrap them in speculative abstraction layers.
- Test-first gate: write contracts and failing tests before implementation code; get tests reviewed before making them pass.
- Prefer integration-first testing: real databases and real service instances over mocks where practical.
- Break the plan into small, independently executable tasks; mark tasks that can run in parallel.
- Resolve open technical unknowns in a dedicated research step before design; a plan that still carries unknowns is not ready to become tasks.
