canon
v0.2.1Adds canon-driven (baseline-driven) workflows: spec-first, code-first, spec-drift. Requires Canon Core preset installation.
Spec Kit Canon
What Is Canon?
Canon is a body of work, rules, or descriptions considered authoritative and official. For a codebase, it is the agreed description of how the system is supposed to work.
Spec Kit Canon represents that source of truth as a structured set of Markdown
documents. The canon can cover business rules, domains, architecture,
terminology, and workflows, organized into nested areas with _toc.md indexes.
Why Spec Kit Canon?
Spec Kit Canon adds canon-driven workflows to Spec Kit.
Code and specifications naturally drift during feature work, bug fixes, and low-ceremony vibecoding. Spec Kit Canon provides structured spec-first and code-first workflows for detecting that drift, reviewing the intended truth, and bringing the canon and implementation back into alignment.
Packages
The product is distributed as two version-locked packages that are installed together:
canon: the primary extension, itsspeckit.canon.*commands, scripts, templates, configuration, and complete product documentationcanon-core: the required companion preset that adapts corespeckit.*commands to the canon-driven workflow
canon-core is not a standalone product. Install it at the same version as
the canon extension.
Workflow Quick Reference
All workflows assume both canon and canon-core are installed.
| Workflow | Use it when | Command order |
|---|---|---|
| Standard spec-first | Requirements should lead implementation and canon should participate throughout the normal Spec Kit lifecycle. | 1. /speckit.specify2. /speckit.clarify3. /speckit.checklist4. /speckit.plan5. /speckit.tasks6. /speckit.analyze (optional)7. /speckit.implement8. Polish the implementation 9. Run the standard drift recovery workflow below |
| Standard drift recovery | Implementation has diverged from an existing specification and the differences require review. | 1. /speckit.canon.drift-reverse2. /speckit.canon.drift-detect3. /speckit.canon.drift-resolve4. /speckit.canon.drift-implement (when alignment tasks exist)5. /speckit.canon.drift-reconcile6. /speckit.canon.drift-analyze (optional)7. /speckit.canon.drift-canonize |
| Vibecoding code-first | You want to start implementation with minimal ceremony and synchronize the canon afterward. | 1. /speckit.canon.vibecode-specify "<intent>"2. Implement the change 3. Run the vibecoding drift workflow below |
| Vibecoding drift recovery | A vibecoding implementation is ready to be captured in canon. | 1. /speckit.canon.vibecode-drift-reverse2. /speckit.canon.vibecode-drift-detect3. /speckit.canon.vibecode-drift-reconcile4. /speckit.canon.vibecode-drift-analyze (optional)5. /speckit.canon.vibecode-drift-canonize |
For end-to-end execution, use orchestration commands:
/speckit.canon.drift for standard drift,
/speckit.canon.vibecode-drift for vibecoding drift, or
/speckit.canon.vibecode-drift-express for the shortest vibecoding path for
simple changes.
Documentation
Stats
Version
Install
Using the Specify CLI
specify extension add canon --from https://github.com/maximiliamus/spec-kit-canon/releases/download/v0.1.0/spec-kit-canon-v0.1.0.zip