sourcebook
sourcebook
Catches the files your AI agent forgot to change.
A safety layer for code changes. sourcebook analyzes git diffs for completeness — flags files that should've been modified but weren't. Rules-based structural detection plus AI-powered semantic analysis. Zero false positives on clean diffs.
npx sourcebook init # sets up Claude Code hooks + generates CLAUDE.md
npx sourcebook check # check your current diff for missing files
npx sourcebook scan-history # see what you've been missingWhat It Catches
Your AI agent changed the handler. Did it update the test? The sibling module? The config that references the old value?
sourcebook checks your diff against the repo's actual structure:
Missing test files — source file changed, test file didn't
Sibling modules — files that import or are imported by what you changed
Co-change companions — files that historically change together in git commits
Hub file blast radius — you touched something with 50+ dependents
With --ai: cross-module semantic relationships, field renames that need migrations, stale validation logic.
Key Stats
Metric | Result |
Completeness gate | 100% accurate (30/30 diffs) |
False positive rate | 0% on clean diffs |
Test file detection | 73% |
Sibling detection | 71% |
AI analysis cost | ~$0.012/run |
Four Surfaces
1. CLI
Run it on any diff. No setup required.
npx sourcebook check # check staged/unstaged changes
npx sourcebook check --ai # add AI semantic analysis (requires ANTHROPIC_API_KEY)
npx sourcebook check --quiet # exit code only (for CI/scripts)
npx sourcebook check --branch main # compare vs a branch2. Claude Code Hooks
One command wires up pre-commit hooks. Agent edits a file, sourcebook checks the diff, agent sees what's missing — all before the commit lands.
npx sourcebook init # generates CLAUDE.md + installs hooks3. MCP Server
Published on the official MCP registry. Agents can query repo structure, blast radius, conventions, and co-change data on demand.
npx sourcebook serveAdd to your MCP client:
{
"mcpServers": {
"sourcebook": {
"command": "npx",
"args": ["-y", "sourcebook", "serve", "--dir", "/path/to/your/project"]
}
}
}4. GitHub App (coming soon)
Automated completeness checks on every pull request. Join the waitlist.
Commands
Command | Description |
| Analyze current diff for completeness |
| Add AI-powered semantic analysis (requires ANTHROPIC_API_KEY) |
| Exit code only — 1 if findings, 0 if clean |
| Structured JSON output |
| Compare HEAD against a branch |
| Custom co-change coupling threshold (0-1) |
| Set up Claude Code hooks + generate CLAUDE.md/AGENTS.md |
| Retrospective scan of recent commits |
| Install or check Claude Code hooks |
| Generate a Repo Truth Map (2.5D visualization) |
| Start MCP server |
| Re-analyze while preserving manual edits |
| Show what would change (exit code 1 if changes found) |
| Auto-regenerate context files on source changes |
| Query codebase knowledge in natural language |
How It Works
Layer A — Rules-based (no LLM, <1 second)
Co-change analysis — mines git history for files that change together. If you touched
auth.tsand it changes withsession.tsin 88% of commits, sourcebook flagssession.ts.Test file detection — maps source files to test files via naming conventions and co-change history.
Import graph — builds a dependency graph and checks whether files that import (or are imported by) your changed files also need updates.
Hub detection — flags when you've modified a file with high fan-in (many dependents). These changes have blast radius.
Layer B — AI-powered (~$0.012/run)
Sends the diff plus dependency context to Claude Sonnet. Catches semantic relationships Layer A can't see — field renames that need migrations, validation logic that assumes old schemas, cross-module dependencies with no import link.
Every AI suggestion requires a dependency citation. Hallucinated file paths are filtered out. The completeness gate ensures zero false positives: if the diff is actually complete, Layer B stays silent.
Configuration
# Required for --ai flag only
export ANTHROPIC_API_KEY=sk-ant-...No other configuration needed. sourcebook reads your repo's git history and file structure directly.
Language Support
Language | Import Graph | Git Analysis | Convention Detection |
TypeScript / JavaScript | Full | Full | Full |
Python | Full | Full | Full |
Go | Full | Full | Full |
Rust | Full | Full | Partial |
Research
Built on real benchmarks, not vibes:
Check validation results — methodology and accuracy data
Benchmark: 19 tasks, 10 repos, 4 languages — controlled agent performance testing
Why auto-generated context makes agents worse — the ETH Zurich finding that shaped our approach
License
BSL-1.1 — source-available, free to use, cannot be offered as a hosted service. Converts to MIT on 2030-03-25. See LICENSE for details.
sourcebook.run · GitHub · npm · @maroond_
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/maroondlabs/sourcebook'
If you have feedback or need assistance with the MCP directory API, please join our Discord server