Notican connects GitHub to Notion via Claude AI. Every PR, commit, and issue becomes living documentation — zero manual work.
Notican listens to your GitHub activity and decides what to document — automatically.
Claude reads the diff, generates a Changelog entry and — for significant architecture changes — an Architecture Decision Record (ADR).
API file changes update the API Reference. Infrastructure changes (Dockerfile, k8s, Terraform) trigger Runbook creation or updates.
A linked task is created in the Notion Tasks database. When the issue closes, the task status syncs automatically.
Tag any Notion task with github_sync and Notican automatically creates a GitHub issue with full context.
Everything you need to keep your documentation alive without touching it.
Claude Sonnet 4.6 reads every diff and decides what type of documentation to generate — not just templated output, but contextually accurate docs.
AI-nativeEvery Notion page is keyed by a GitHub external ID (PR number, commit SHA, issue number). Re-processing an event updates the page, never duplicates it.
ReliableReal-time processing. HMAC signature verification on every request. The server always returns 200 to GitHub — no retries, no duplicate events.
Production-readyNotion isn't just a write target. Tasks flow from Notion to GitHub Issues automatically, making Notion the single source of truth for your team.
Two-wayPattern-based routing distinguishes API changes from infra changes from architecture changes. Each triggers the right doc type automatically.
Intelligent80% coverage enforced in CI. Every layer independently testable. Fixtures for all event types. No mocking of real external calls in tests.
TDDThree commands to get your team's documentation pipeline live.
Each module has a single responsibility. No layer crosses into another's domain.
GitHub ──webhook──► src/server/ HMAC verification, routing │ ▼ src/handlers/ Parse event, decide what to generate ┌─────┴──────┐ │ │ ▼ ▼ src/processors/ src/github/ Claude AI · GitHub API claude.ts client.ts │ ▼ src/notion/ Write structured docs (idempotent) client.ts Markdown → Notion blocks Notion ◄──poll 60s── src/watcher/ Tasks with github_sync=true │ ▼ src/github/ Creates GitHub issue, marks task synced
Auto-created by npm run setup:notion. Maintained forever after.
Your documentation writes itself. Your team stays in flow.