Specifications
The specifications describe what the widget does. The specifications of
nix-module-form are:
- Form rendering
- Validation
- Difference from a baseline
- Schema changes and migration
- Large forms
- Package, demo and documentation
Each specification is in its own directory NNN-<feature>/. The principles in
the constitution apply to all changes. A change in behavior
updates the matching specification in the same pull request.
The specifications are plain Markdown. You can read and change them without other tools.
If you want to use an agent to write them, the development shell contains
Spec Kit. To add the agent commands (for example /speckit-specify)
for your agent, run these commands in the root of the repository:
specify init --here --integration <agent> --script sh --force
ln -sf ../../specs/constitution.md .specify/memory/constitution.md
The first command writes templates and scripts to .specify/, and the agent
commands to the directory of your agent (for example .claude/). The second
command replaces the template constitution with a link to the constitution of
this repository, so that the agent commands read and change it. Git ignores
.specify/. Do not commit the agent commands.