Spec-driven development platform
Your specs run the show. Code follows.
The source of truth for what you're building. AI agents verify code against acceptance criteria, sync tickets bidirectionally, and flag when reality drifts from the plan.
Install a GitHub App. Write specs in markdown. The agent handles PR reviews, ticket sync, and code-aware verification—across your entire org.
See it in action
Every PR gets spec-aware analysis
When a developer opens a PR, the Canon agent comments with a detailed spec realization report.
canon bot commented on PR #142
The problem
Specs say one thing. Code does another.
The moment a PR merges, some spec somewhere becomes wrong. Nobody notices until a new hire reads it, a customer hits a bug, or an audit fails.
Without Canon
- ×Specs go stale within weeks — nobody trusts them
- ×PRs are reviewed without any spec context
- ×Tickets close but nobody verifies the code matches the spec
- ×READMEs, ADRs, and guides rot silently
- ×"What percentage is done?" requires a meeting
- ×New engineers have no idea what's been built or why
With Canon
- ✓Agent verifies code against spec acceptance criteria
- ✓Every PR analyzed against all indexed docs
- ✓Stale docs flagged before anyone reads them
- ✓Doc-update PRs generated automatically on merge
- ✓Tickets sync bidirectionally from spec sections
- ✓One search across every doc in every repo
The feedback loop
How specs stay alive
Canon creates a continuous loop between specs, code, and tickets. Every PR makes the system smarter. Every merge keeps docs accurate.
PM writes a structured spec
Define requirements, acceptance criteria, owners, and teams in markdown. Specs live in your repo — version controlled, reviewable, always the source of intent.
Agent indexes all markdown
On every push, Canon indexes specs, READMEs, ADRs, architecture docs, and guides. Every doc becomes searchable and available as context for AI analysis.
Tickets created from spec sections
Each spec section generates a ticket in Jira, Linear, or GitHub Issues. Links are embedded as hidden comments. Engineers work tickets as normal.
Engineer opens a PR
The agent analyzes the diff against all indexed docs. It evaluates whether acceptance criteria are realized, flags conflicts, and identifies undocumented behavior.
PR merges, docs update
The agent generates doc-update PRs for any affected markdown. Spec sections auto-transition to "done" when the code verifies all acceptance criteria.
Stale docs flagged proactively
A scheduled scan compares doc freshness against code changes. If code changed but docs didn't, the agent opens an issue with links to the relevant PRs.
Updated docs feed back into the knowledge base — richer context for the next PR.
Capabilities
Everything specs need to drive development
Install as a GitHub App across your entire org. Write specs, push code, let the agent handle the rest.
01 / parse
Structured Spec Parser
Markdown with frontmatter, numbered sections, acceptance criteria, and status tracking. Specs are the input; agents are the runtime.
02 / verify
Code-Aware Verification
The agent reads code to verify that acceptance criteria are actually implemented — not just that a ticket was closed. CLI and PR-level verification.
03 / review
Spec-Aware PR Analysis
When a PR opens, Claude analyzes the diff against all relevant docs. It identifies which spec sections are addressed, flags discrepancies, and catches stale docs.
04 / sync
Bidirectional Ticket Sync
Spec sections generate tickets in Jira, Linear, or GitHub Issues. Close a ticket and the spec updates; mark a section done and the ticket closes.
05 / dashboard
Coverage Dashboard
Track spec completion across sections and acceptance criteria. Org-wide coverage by repo, team, and status. Know exactly what's shipped vs. planned.
06 / cli
CLI & Agent Skills
The canon CLI provides plan, verify, status, start, and done commands. Claude Code skills give agents spec context for task-driven development.
Developer experience
Specs where you already work
A CLI for your terminal, skills for Claude Code, and MCP for any AI editor. No context switching.
The platform
Your org's specs at a glance
The Spec Explorer gives real-time visibility into spec coverage and documentation health across every repo.
4
Repos
10
Specs
34
Sections
68%
Coverage
acme/payments-service
in progress4 specs
acme/auth-platform
done2 specs
acme/notification-hub
in progress3 specs
acme/analytics-pipeline
todo1 specs
Pricing
Simple per-seat pricing. Start free.
Self-hosted is free forever. Every paid plan starts with a 14-day free trial with full Pro features.
Self-Hosted
Open source. Your infrastructure. Unlimited repos.
- Unlimited repos
- PR analysis
- Spec indexing
- 1 ticket system
- Auto doc PRs
- Stale detection
- Community support
Starter
BYOK — bring your own Anthropic key.
- Up to 10 repos
- BYOK (you pay Anthropic)
- 1 ticket system
- PR analysis
- Auto doc PRs
- Stale detection
- Email support
Pro
AI compute included. No second bill.
- Unlimited repos
- 500 AI ops/user/mo included
- All ticket systems
- Slack Q&A
- PR analysis
- Auto doc PRs
- Priority support
Enterprise
SSO, audit logs, dedicated support.
- Unlimited repos
- Unlimited AI ops
- All ticket systems + custom
- SSO / SAML
- Audit logs
- Slack Q&A
- Dedicated support
Minimum 3 seats on all paid plans. All prices in USD.
Integrations
Connects to your stack
Canon plugs into the tools your team already uses. No migration required.
Source Control
- GitHub (native)
Tickets
- Jira
- Linear
- GitHub Issues
Dev Tools
- Claude Code (MCP + skills)
- Cursor (MCP)
- canon CLI
Observability
- PostHog (analytics)
- OpenTelemetry (logs)
Setup
Self-hosted, your data stays yours
Deploy with Helm or Docker Compose and connect your GitHub org. Three steps to spec-driven development.
Install the GitHub App
One click installs Canon across your org. It subscribes to pushes, PRs, and issues. Select all repos or choose specific ones.
Deploy the platform
Use the Helm chart for Kubernetes or docker compose for local development. Requires an Anthropic API key for Claude agent capabilities.
Write specs and push
Add structured markdown to docs/specs/ in any repo. Optionally add canon.yaml for per-repo config. Every push indexes your docs.
Stop maintaining docs. Let the agent do it.
Install the Canon GitHub App on your organization. Self-hosted, open source, and free. Your specs will never go stale again.