Metadata-Version: 2.4
Name: canonhq
Version: 1.18.4
Summary: Canon — spec-driven development platform
Project-URL: Homepage, https://canonhq.co
Project-URL: Repository, https://github.com/canonhq/canon
Project-URL: Issues, https://github.com/canonhq/canon/issues
License-Expression: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: FastAPI
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.12
Requires-Dist: anthropic>=0.43
Requires-Dist: cryptography>=44.0
Requires-Dist: fastapi>=0.115
Requires-Dist: httpx>=0.28
Requires-Dist: jinja2>=3.1
Requires-Dist: mcp[cli]>=1.7
Requires-Dist: mistune>=3.1
Requires-Dist: opentelemetry-api>=1.20
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.20
Requires-Dist: opentelemetry-sdk>=1.20
Requires-Dist: posthog>=3.7
Requires-Dist: pydantic-settings>=2.7
Requires-Dist: pydantic>=2.10
Requires-Dist: pyjwt[crypto]>=2.9
Requires-Dist: python-frontmatter>=1.1
Requires-Dist: pyyaml>=6.0
Requires-Dist: uvicorn[standard]>=0.34
Provides-Extra: cloud
Requires-Dist: asyncpg>=0.30; extra == 'cloud'
Requires-Dist: authlib>=1.3; extra == 'cloud'
Requires-Dist: google-genai>=1.0; extra == 'cloud'
Requires-Dist: itsdangerous>=2.1; extra == 'cloud'
Provides-Extra: dev
Requires-Dist: mypy>=1.14; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.25; extra == 'dev'
Requires-Dist: pytest-cov>=6.0; extra == 'dev'
Requires-Dist: pytest-httpx>=0.35; extra == 'dev'
Requires-Dist: pytest>=8.3; extra == 'dev'
Requires-Dist: respx>=0.22; extra == 'dev'
Requires-Dist: ruff>=0.9; extra == 'dev'
Description-Content-Type: text/markdown

# Canon

**The source of truth for what you're building.**

Canon is a spec-driven development platform. Write structured specs in markdown, and AI agents handle PR reviews, ticket sync, and code verification — keeping product, engineering, and business aligned.

## Features

- **Spec-Aware PR Reviews** — When a PR opens, Canon analyzes the diff against relevant specs, identifies which sections are addressed, and flags discrepancies.
- **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.
- **Code-Aware Verification** — AI reads your code to verify that acceptance criteria are actually implemented, not just that a ticket was closed.
- **Coverage Dashboard** — Track spec completion across your org by repo, team, and status.
- **CLI & Agent Skills** — The `canon` CLI provides plan, verify, status, and sync commands. Claude Code skills give agents spec context for task-driven development.

## Quick Start

Install the GitHub App on your organization:

[Install Canon](https://github.com/apps/canon-hq)

Or use the CLI:

```bash
pip install canonhq
canon setup
canon status
```

## Documentation

- [Self-Hosting Guide](docs/self-hosting.md)
- [CLI Reference](https://canonhq.co/docs)

## License

MIT
