promptsterhq/codemaps

GitHub: promptsterhq/codemaps

Codemaps 是一款本地优先的代码上下文引擎,通过六大分析视角为 AI 编程 agent 提供精确的代码库结构理解,从而减少因上下文缺失导致的修改错误。

Stars: 0 | Forks: 0

# Codemaps [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/62/62ee5cf923e135fd4d3826a3979a08b4e9b219e6bfbd8aece2742a2c2f6ff658.svg)](https://github.com/promptsterhq/codemaps/actions/workflows/codemaps.yml) [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) **一个本地优先的上下文引擎,它映射你的代码库并将其提供给 AI 编程 agent —— 从而让它们少犯错、改代码更快,并且知道*不要*去碰哪些地方。** AI agent 失败最常见的原因不是模型能力弱,而是因为缺乏上下文:它们会凭空捏造 API,编辑错误的层级,破坏不变量,并且不知道哪些部分是承重结构。“缺乏上下文”是排名第一的 agent 失败模式(约 60–65% 的开发者这样报告)。Codemaps 就是缺失的上下文层。 基于 MCP 的代码图(调用者、导入、影响范围)在 2026 年已成为常规技术——现在有几款很棒的免费工具都提供了这一功能。Codemaps *站在*这些基础代码图*之上*,并增加了其他工具所不具备的判断层:**这里什么必须保持不变(Guardrails),哪里是脆弱的(Risk),以及安全关键面(Security)**——这些正是当今模型在没有辅助的情况下最不擅长回答的问题。 与基于云的、依赖 embedding 的工具不同,Codemaps 是: - **精确,而非模糊** —— 确定性的代码图(tree-sitter → SQLite),因此 agent 对调用者和影响范围获得的是*确定性*,而不是“看起来相似的代码块”。 - **本地优先且私密** —— 在你的机器上运行;你的源码永远不会离开本地。 - **始终最新** —— 变更时增量重新索引;过期的映射比没有映射更糟。 - **Agent 原生** —— 通过 **MCP** 提供,并生成 **`AGENTS.md`**,因此它可以在 Claude Code、Cursor、Copilot、Cline 和 Codex 中运行——而不是一个封闭的客户端。 ## 六大视角 Codemaps 回答了资深/首席/安全工程师要安全地修改陌生代码库所需的问题——每一个既是 agent 可调用的 MCP 工具,也是人类可读的视图: | 视角 | 回答 | |------|---------| | **Orient(定位)** | 这是一个什么系统,它的各个部分是如何通信的? | | **Locate(查找)** | 我应该在哪里进行这项修改? | | **Impact(影响)** | 如果我修改这个,什么会崩溃?谁依赖它? | | **Guardrails(护栏)** | 什么必须保持不变?什么是承重结构 / 禁止触碰的? | | **Risk(风险)** | 哪里是脆弱的?(热点、代码变动、覆盖率、归属) | | **Security(安全)** | 这里的安全关键面是什么? | ## 状态 可用的 pre-alpha 版本 —— **全部六大视角均已上线,支持端到端本地测试。** ``` npm install -g @codemaps/cli # or: npx @codemaps/cli # 然后在任何 git repo 中: codemaps init # risk + guardrails + graph + AGENTS.md (+ CLAUDE.md bridge) codemaps orient # what is this system? components, entry points, comms codemaps risk # 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)是一个独立的专有代码库。

标签:AI编程辅助, MCP, MITM代理, SOC Prime, 上下文引擎, 代码图谱, 开发工具, 本地优先, 自动化攻击