Published by Anvil Coder · Halvic Labs GmbH
Updated
What is spec-driven development?
Spec-driven development uses a versioned specification as the working reference. Connect requirements, acceptance criteria, planning and code review.
What does spec-driven development mean?
Spec-driven development puts an explicit specification before implementation: what should be built, which constraints apply, and how will the result be checked? The specification is versioned and updated as the team learns. It is a working reference, not a document frozen forever.
Chat can help clarify requirements. The distinction is not whether a team uses chat, but whether current decisions are recorded in a traceable form outside the conversation.
What belongs in a useful specification?
- The problem and audience: who needs which change?
- Scope and non-goals: what is explicitly excluded?
- Acceptance criteria: which observable behavior counts as success?
- Interfaces, dependencies and unresolved assumptions.
- Verification strategy: which tests and human reviews are needed?
For example, “improve registration” is open-ended. “Reject an empty email address, create no record and show a clear message” gives implementation and review a more concrete target.
How does Anvil Coder use this reference?
The Spec Studio prepares requirements and project foundations. These become curated epics and tickets. Creating the tickets does not start a coding run. A story’s implementation follows planning in small work units.
From specification to pull request draft explains the practical transition. A stack profile identifies tools and verification commands; their availability must be established separately.
What are the limits of the method?
A wrong specification can produce a precisely implemented wrong solution. Conflicts, missing user needs and new findings must feed back into the specification. Neither the document nor its use proves code correctness.
As an external methodology reference, GitHub Spec Kit also describes a specification-driven workflow. This is a conceptual reference, not a claim of integration or independent validation of Anvil Coder.
