canon

v0.2.1

Adds canon-driven (baseline-driven) workflows: spec-first, code-first, spec-drift. Requires Canon Core preset installation.

Community extension — Independently maintained. Use at your own discretion. Learn more

Latest Release Spec Kit Version

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, its speckit.canon.* commands, scripts, templates, configuration, and complete product documentation
  • canon-core: the required companion preset that adapts core speckit.* 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.

WorkflowUse it whenCommand order
Standard spec-firstRequirements should lead implementation and canon should participate throughout the normal Spec Kit lifecycle.1. /speckit.specify
2. /speckit.clarify
3. /speckit.checklist
4. /speckit.plan
5. /speckit.tasks
6. /speckit.analyze (optional)
7. /speckit.implement
8. Polish the implementation
9. Run the standard drift recovery workflow below
Standard drift recoveryImplementation has diverged from an existing specification and the differences require review.1. /speckit.canon.drift-reverse
2. /speckit.canon.drift-detect
3. /speckit.canon.drift-resolve
4. /speckit.canon.drift-implement (when alignment tasks exist)
5. /speckit.canon.drift-reconcile
6. /speckit.canon.drift-analyze (optional)
7. /speckit.canon.drift-canonize
Vibecoding code-firstYou 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 recoveryA vibecoding implementation is ready to be captured in canon.1. /speckit.canon.vibecode-drift-reverse
2. /speckit.canon.vibecode-drift-detect
3. /speckit.canon.vibecode-drift-reconcile
4. /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

7 stars

Version

0.2.1release
Updated 5 months ago

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

License

MIT