- template-target
- Spec
- template-levels
- pro
- template-note
- the specification of a pro project, made when the project is created (P-1097: one spec template per level; starter)
- description
- The specification of {{project}}: what it does, as its users and AIs meet it
- tags
- #ai #spec #wip
- status
- draft
{{project}}: specification¶✎ edit
A project is specified in Spec and SpecUi, designed in Design and DesignRoutes, tested in SpecTest. You create these and keep them up to date and in sync, preferably through your AI - the d2 skills teach it how to keep all these documents in-sync, index them with feature tags that correlate a feature end-to-end, visible in system view.
This is the specification for {{project}}, a detailed, exact description and set of requirements that explain what it does and how, driving all other steps in this project. The entire creation pipeline is driven from this specification, so be brief but not too terse. Avoid lots of text, use indentation and best keep feature descriptions per section and behaviours per line.
It says what's true now; how it got here is in PROJECT; what's still open is in PROJECT. Its companions: Spec (what it does), SpecUi (how the UI behaves), Design (the mechanisms), DesignRoutes (the API) and SpecTest (the black-box tests).
Goals¶✎ edit
What this topic is for, and how to tell a line belongs here:
- Role: what {{project}} does, as a user or an AI meets it, the same however it is built.
- A line belongs here if it would be wrong only when a user or an AI would notice.
- It fails if two builds that both follow it behave noticeably differently, or if it holds a mechanism, a file or a host (those go in Design and the code base's topics).
Purpose¶✎ edit
What this project is for, and for whom.
Requirements¶✎ edit
What it must do.