Canon
Spec-driven development, automated.
Canon is an AI-native documentation platform. Write structured specs in markdown, and AI agents handle PR reviews, ticket sync, and code verification — keeping product, engineering, and business aligned.
This is the private monorepo. The open-source repo is at canonhq/canon.
Features
- Spec-Aware PR Reviews — Analyzes PRs against relevant specs, identifies which acceptance criteria are addressed, flags gaps
- Bidirectional Ticket Sync — Spec sections sync to Jira, Linear, or GitHub Issues in both directions
- Code-Aware Verification — AI verifies that acceptance criteria are actually implemented, not just that tickets were closed
- Coverage Dashboard — Track spec completion across your org by repo, team, and status
- CLI & MCP Server — Plan, verify, status, sync, search, and dashboard commands with rich terminal output. MCP server for AI coding agents.
- Claude Code Plugin — Spec-aware skills for spec-driven development workflows
Quick Start
Install the GitHub App on your organization:
Or use the CLI:
pip install canonhq
canon setup
canon status
canon dashboard
Documentation
- Docs Site — Full documentation
- Self-Hosting Guide
- Agent Behavior
- Vision
Development
With Devbox (recommended)
Devbox provides a reproducible environment with all tools:
curl -fsSL https://get.jetify.com/devbox | bash # one-time install
devbox shell # enter environment
devbox run test # run tests
devbox run lint # lint + format check
devbox run dev # start dev server
Without Devbox
uv sync --extra dev --extra cloud
uv run pytest
uv run ruff check
uv run uvicorn canon.main:app --reload
See docs/contributing/testing.md for the full testing guide (integration tests, scenario tests, contract recording).
License
BSL 1.1 — converts to Apache 2.0 after four years per release.
Metadata
Release files for canonhq 1.84.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| canonhq-1.84.0.tar.gz | 1.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| canonhq-1.84.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.4 MB
Release files / canonhq-1.84.0.tar.gz
| Download URL | canonhq-1.84.0.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36692e50c3c391512c4be0549c884a19cd32bf2a37689b7498aa936cc70a494b
|
|
BLAKE2b-256 checksum How to use checksums |
eee475453011da2503e96e6576d1fdbaefbc07385f737ccedd4026ab056b2df5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 22, 2026.
Transparency logRelease files / canonhq-1.84.0-py3-none-any.whl
| Download URL | canonhq-1.84.0-py3-none-any.whl |
|---|---|
| Size | 611.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f2350dcf099b550789b3a4c85a62dc689e3c2f26420cb8eff6a8372704f0021
|
|
BLAKE2b-256 checksum How to use checksums |
b68ac7fe8621a056cfd901ff7e62479763994593b20d4d38c299b93f2c42e59d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 22, 2026.
Transparency log