sourcebook
sourcebook
捕捉 AI 代理遗漏修改的文件。
代码变更的安全层。sourcebook 通过分析 git diff 来确保完整性——标记出那些本应修改但未被修改的文件。结合基于规则的结构检测与 AI 驱动的语义分析。在干净的 diff 上实现零误报。
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 missing它能捕捉什么
你的 AI 代理修改了处理程序。它更新测试了吗?更新了关联模块吗?更新了引用旧值的配置吗?
sourcebook 根据仓库的实际结构检查你的 diff:
缺失的测试文件 — 源文件已更改,但测试文件未更改
关联模块 — 导入了你所修改内容或被其导入的文件
协同变更伴侣 — 在 git 提交历史中通常一起变更的文件
核心文件影响范围 — 你触碰了拥有 50 个以上依赖项的文件
使用 --ai 参数:跨模块语义关系、需要迁移的字段重命名、过时的验证逻辑。
Related MCP server: N3MO
关键统计数据
指标 | 结果 |
完整性门控 | 100% 准确 (30/30 diffs) |
误报率 | 0% (针对干净的 diff) |
测试文件检测 | 73% |
关联模块检测 | 71% |
AI 分析成本 | ~$0.012/次运行 |
四大应用场景
1. CLI
在任何 diff 上运行。无需设置。
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 钩子
一条命令即可连接预提交钩子。代理编辑文件时,sourcebook 会检查 diff,代理会在提交落地前看到缺失的内容。
npx sourcebook init # generates CLAUDE.md + installs hooks3. MCP 服务器
已发布在官方 MCP 注册表中。代理可以按需查询仓库结构、影响范围、规范和协同变更数据。
npx sourcebook serve添加到你的 MCP 客户端:
{
"mcpServers": {
"sourcebook": {
"command": "npx",
"args": ["-y", "sourcebook", "serve", "--dir", "/path/to/your/project"]
}
}
}4. GitHub App (即将推出)
对每个拉取请求进行自动完整性检查。加入候补名单。
命令
命令 | 描述 |
| 分析当前 diff 的完整性 |
| 添加 AI 驱动的语义分析 (需要 ANTHROPIC_API_KEY) |
| 仅返回退出代码 — 发现问题返回 1,干净返回 0 |
| 结构化 JSON 输出 |
| 将 HEAD 与分支进行比较 |
| 自定义协同变更耦合阈值 (0-1) |
| 设置 Claude Code 钩子 + 生成 CLAUDE.md/AGENTS.md |
| 对近期提交进行回顾性扫描 |
| 安装或检查 Claude Code 钩子 |
| 生成仓库真值图 (2.5D 可视化) |
| 启动 MCP 服务器 |
| 在保留手动编辑的同时重新分析 |
| 显示将要变更的内容 (如果发现变更则退出代码为 1) |
| 在源文件变更时自动重新生成上下文文件 |
| 用自然语言查询代码库知识 |
工作原理
A 层 — 基于规则 (无 LLM,<1 秒)
协同变更分析 — 从 git 历史中挖掘一起变更的文件。如果你修改了
auth.ts,且它在 88% 的提交中与session.ts一起变更,sourcebook 会标记session.ts。测试文件检测 — 通过命名规范和协同变更历史将源文件映射到测试文件。
导入图 — 构建依赖图,并检查导入(或被导入)你所修改文件的文件是否也需要更新。
核心检测 — 当你修改了具有高扇入(大量依赖项)的文件时进行标记。这些变更具有影响范围。
B 层 — AI 驱动 (~$0.012/次运行)
将 diff 和依赖上下文发送给 Claude Sonnet。捕捉 A 层无法看到的语义关系——需要迁移的字段重命名、假设旧模式的验证逻辑、没有导入链接的跨模块依赖。
每个 AI 建议都需要依赖引用。幻觉产生的文件路径会被过滤掉。完整性门控确保零误报:如果 diff 实际上是完整的,B 层将保持静默。
配置
# Required for --ai flag only
export ANTHROPIC_API_KEY=sk-ant-...无需其他配置。sourcebook 直接读取你仓库的 git 历史和文件结构。
语言支持
语言 | 导入图 | Git 分析 | 规范检测 |
TypeScript / JavaScript | 完整 | 完整 | 完整 |
Python | 完整 | 完整 | 完整 |
Go | 完整 | 完整 | 完整 |
Rust | 完整 | 完整 | 部分 |
研究
基于真实基准测试,而非主观感受:
查看验证结果 — 方法论和准确性数据
基准测试:19 个任务,10 个仓库,4 种语言 — 受控的代理性能测试
为什么自动生成的上下文会让代理表现更差 — 苏黎世联邦理工学院的研究发现,塑造了我们的方法
许可证
BSL-1.1 — 源码可见,免费使用,不可作为托管服务提供。将于 2030-03-25 转换为 MIT 协议。详情请参阅 LICENSE。
sourcebook.run · GitHub · npm · @maroond_
This server cannot be deployed
Maintenance
Related MCP Connectors
Codebase intelligence for AI agents — dead code, blast radius, ownership.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Codebase graphs, caller impact analysis, and recorded project context for AI coding agents.
AI-powered codebase analysis — call graphs, security, dead code, complexity. 150+ tools.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI coding tools to query your live codebase for routes, import graph, domain context, and blast radius, eliminating hallucinations about project structure.50 npm76MIT
- FlicenseAqualityAmaintenanceDeterministic code intelligence engine — indexes 27 languages into a queryable symbol graph for real-time blast-radius analysis, no embeddings or LLM calls.525-
- AlicenseNot gradedqualityAmaintenanceProvides a dependency graph of any local repository with tools for change impact, transitive dependents, health audits, and more, enabling AI coding agents to see structure and refactor safely.4,912 npm4MIT
- AlicenseNot gradedqualityAmaintenanceProvides live, graph-verified code intelligence for AI agents, including call graphs, dependency awareness, and safety gates on edits to prevent breaking changes.16MIT