更新 Codemaps¶
分析代码库结构,并生成 token 精简的架构文档。
步骤 1:扫描项目结构¶
- 识别项目类型(monorepo、单一应用、库、微服务)
- 找到所有源代码目录(src/、lib/、app/、packages/)
- 映射入口点(main.ts、index.ts、app.py、main.go 等)
步骤 2:生成 Codemaps¶
在 docs/CODEMAPS/(或 .reports/codemaps/)中创建或更新 Codemaps:
| 文件 | 内容 |
|---|---|
architecture.md |
高层系统图、服务边界、数据流 |
backend.md |
API 路由、中间件链、服务 → 仓库映射 |
frontend.md |
页面树、组件层级、状态管理流程 |
data.md |
数据库表、关系、迁移历史 |
dependencies.md |
外部服务、第三方集成、共享库 |
Codemap 格式¶
每个 Codemap 都应保持 token 精简——优化用于 AI 上下文消费:
# Backend Architecture
## Routes
POST /api/users → UserController.create → UserService.create → UserRepo.insert
GET /api/users/:id → UserController.get → UserService.findById → UserRepo.findById
## Key Files
src/services/user.ts (business logic, 120 lines)
src/repos/user.ts (database access, 80 lines)
## Dependencies
- PostgreSQL (primary data store)
- Redis (session cache, rate limiting)
- Stripe (payment processing)
步骤 3:差异检测¶
- 如果存在先前的 Codemaps,计算差异百分比
- 如果变更 > 30%,显示差异并在覆盖前请求用户批准
- 如果变更 <= 30%,就地更新
步骤 4:添加元数据¶
在每个 Codemap 中添加一个新鲜度头部:
步骤 5:保存分析报告¶
在 .reports/codemap-diff.txt 中写入摘要:
- 自上次扫描以来添加/删除/修改的文件
- 检测到的新依赖
- 架构变更(新路由、新服务等)
- 对 90 天以上未更新的文档发出过时警告
提示¶
- 聚焦高层结构,而非实现细节
- 优先使用文件路径和函数签名,而不是完整代码块
- 保持每个 Codemap 低于 1000 tokens,以实现高效的上下文加载
- 使用 ASCII 图表示数据流,而不是冗长的描述
- 在大型功能添加或重构会话后运行
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC