# hotspot pct, churn, owners, bus-factor, coverage + warnings
codemaps guardrails # do-not-touch zones + mined invariants (materiality-gated)
codemaps guardrails confirm # promote to human-confirmed (durable, versioned in codemap/)
codemaps security # (beta) traversal guards, auth gates, sinks, secrets — with consequences
codemaps impact # reverse blast radius + affected tests (TS/JS, Python, Go, Java, Kotlin, Ruby)
codemaps locate # ranked symbol/file search
codemaps serve # MCP server: all six lenses for any MCP agent
codemaps explore # localhost dashboard: risk table, guardrail confirm/reject, impact search
codemaps init --hooks # PreToolUse hook: warns on hotspots/invariants,
# blocks only human-CONFIRMED do-not-touch zones
# 一次性验证所有内容:
./scripts/e2e-smoke.sh # 13 checks: build, tests, lenses, MCP, hook, explorer
```
**基准测试证据**(相同的模型,相同的 prompt;[`bench/ANALYSIS.md`](bench/ANALYSIS.md)):在 lockfile 陷阱中,基准 agent 手动编辑了 `pnpm-lock.yaml`,而 Codemaps 分支拒绝编辑,引用了护栏规则,并以快 2 倍的速度完成。在安全陷阱中,两个分支最初都移除了路径遍历防护——这推动了 Security 视角(包含后果的不变量)的开发;在重新运行时,agent 标记了风险,指出了 `../../etc/passwd` 攻击,并提出了安全的替代方案。**避免了 2/6 的违规,0 次回归,每个单元格 n=1(早期阶段)。**
## 语言支持
支持是**按视角划分的,而不是全有或全无**——需要最少解析的视角在任何地方都能工作,并且深度会从那里开始增加:
| 视角 | 语言 | 原因 |
|------|-----------|-----|
| **Risk**(热点、代码变动、归属、巴士因子) | **任何 git 仓库,任何语言** | 从 git 历史中挖掘——从不解析代码 |
| **Guardrails**(禁止触碰区域、不变量) | TS/JS、Python、Go、Ruby、Java、Rust、C# | 每种语言的注释/断言约定 |
| **Contracts**(提供 / 调用 / 事件) | Express 风格路由、NestJS、**Next.js**(App Router + `pages/api`)、FastAPI/Flask —— 加上 `.proto`、GraphQL、OpenAPI(与语言无关的 IDL) | 轻量的按框架检测器 |
| **Orient**(组件、入口点) | JS/TS + Python 清单 | 由清单驱动 |
| **Impact / Locate**(代码图、影响范围) | TypeScript/JavaScript、Python、**Go**、**Java**、**Kotlin**、**Ruby** | 真正的按语言索引器(TS compiler API / tree-sitter) |
| **Security**(beta) | TS/JS + Python 启发式规则 | 按语言的 sink/防护模式 |
更多的语言支持是语法工作,而不是架构问题——Python 索引器已经在 web-tree-sitter 上运行,它为数十种语言预构建了语法。
**框架检测器是我们接受的最简单的贡献**:开启一个
[检测器请求](https://github.com/promptsterhq/codemaps/issues/new?template=lens_request.yml)
并附带一个最小的遗漏模式片段,或者发送 PR —— 模式 + 夹具测试
(关于结构,请参阅 `packages/core/src/core.test.ts` 中的 `contracts:` 测试)。
## 仓库布局
```
packages/
core/ @codemaps/core the context engine (graph, lenses, language analyzers)
cli/ @codemaps/cli npx codemaps (init / index / serve / explore)
mcp/ @codemaps/mcp MCP server exposing the six lenses
```
## 开发
```
pnpm install
pnpm build
```
## 许可证
Codemaps 引擎、CLI 和 MCP server(`packages/*`)均采用 **Apache-2.0** 协议 ——
请参阅 [LICENSE](LICENSE)。贡献需要 DCO 签署
([CONTRIBUTING.md](CONTRIBUTING.md))。Codemaps 云端(跨仓库服务图,托管在 codemaps.dev)是一个独立的专有代码库。