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.

S

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.

canon CLI
$ canon setup
Created docs/specs/_template.md
Created canon.yaml
$ canon plan docs/specs/payments.md
Payments Overhaul — 3 sections, 9 ACs
§3.2 Retry Logic           [todo]  3 ACs
§3.3 Idempotency Keys     [todo]  4 ACs
§4.1 Monitoring            [todo]  2 ACs
$ canon verify docs/specs/payments.md
§3.2 Retry Logic
AC1 Exponential backoff     [realized]
AC2 Max 3 retries          [conflict]
AC3 Idempotency key        [not found]
$ canon status
Payments Overhaul    ██████████  62%
Auth Migration       ██████████  100%
Claude Code + MCP
# In Claude Code, Cursor, or VS Code:
> "What does the spec say about retry handling?"
From payments-overhaul.md §3.2:
Exponential backoff, max 3 retries, with jitter.
Idempotency key preserved across retries.
Current code (src/payments/retry.ts:42):
Max retries is 5 — conflicts with spec.
> /sw:task §3.2
Starting task: §3.2 Retry Logic
☐ AC1: Exponential backoff
☐ AC2: Max 3 retries
☐ AC3: Preserve idempotency key
Let me implement each AC...

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.

canonhq.co/app/acme/
Canon

4

Repos

10

Specs

34

Sections

68%

Coverage

acme/payments-service

in progress

4 specs

78%

acme/auth-platform

done

2 specs

100%

acme/notification-hub

in progress

3 specs

45%

acme/analytics-pipeline

todo

1 specs

0%

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.

Monthly Annual -20%

Self-Hosted

Free

Open source. Your infrastructure. Unlimited repos.

  • Unlimited repos
  • PR analysis
  • Spec indexing
  • 1 ticket system
  • Auto doc PRs
  • Stale detection
  • Community support
View Setup Guide
14-day Pro trial

Starter

$9/user/mo

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
Start Free Trial
Most Popular

Pro

$19/user/mo

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
Start Free Trial

Enterprise

Custom

SSO, audit logs, dedicated support.

  • Unlimited repos
  • Unlimited AI ops
  • All ticket systems + custom
  • SSO / SAML
  • Audit logs
  • Slack Q&A
  • Dedicated support
Contact Sales

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.

1

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.

2

Deploy the platform

Use the Helm chart for Kubernetes or docker compose for local development. Requires an Anthropic API key for Claude agent capabilities.

3

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.