[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"pack-detail-legacy-code-onboarding-zh":3,"seo:pack:legacy-code-onboarding:zh":98},{"code":4,"message":5,"data":6},200,"操作成功",{"pack":7},{"slug":8,"icon":9,"tone":10,"status":11,"status_label":12,"title":13,"description":14,"items":15,"install_cmd":97},"legacy-code-onboarding","🗺️","#7C3AED","new","本周新建","老代码库新人上手套件 — 10 年祖传代码不再劝退","你刚入职。代码库 10 年了，80 万行，三个早就没人维护的微服务，唯一懂全栈的人上个月走了。这十个 pick 把 AI agent 变成你的入职搭档：先索引仓库、再画架构、再生成调用图、再总结模块、再标记死代码，最后写出团队一直没有的 CLAUDE.md \u002F AGENTS.md。Codebase Memory MCP + Codebase Explorer + Pattern Finder + ast-index + CodeGraphContext + Graphify + Legacy Modernizer + Technical Debt Manager + CLAUDE.md 模板 + Architect Reviewer。",[16,28,38,45,55,62,69,76,83,91],{"id":17,"uuid":18,"slug":19,"title":20,"description":21,"author_name":22,"view_count":23,"vote_count":24,"lang_type":25,"type":26,"type_label":27},852,"a3fe5165-33ca-11f1-9bc6-00163e2b0d79","codebase-memory-mcp-code-intelligence-ai-agents-a3fe5165","Codebase Memory MCP — Code Intelligence for AI Agents","High-performance code intelligence MCP server. Indexes repos in milliseconds via tree-sitter AST, supports 66 languages, sub-ms graph queries. MIT, 1,300+ stars.","MCP Hub",220,0,"en","mcp","MCP",{"id":29,"uuid":30,"slug":31,"title":32,"description":33,"author_name":34,"view_count":35,"vote_count":24,"lang_type":25,"type":36,"type_label":37},4389,"7b3ad600-e85c-4e84-812f-d3ef57b62b16","claude-code-agent-codebase-explorer-7b3ad600","Claude Code Agent: Codebase Explorer","|","TokRepo精选",24,"skill","Skill",{"id":39,"uuid":40,"slug":41,"title":42,"description":43,"author_name":34,"view_count":44,"vote_count":24,"lang_type":25,"type":36,"type_label":37},4390,"bb32e488-ee43-44ed-9458-30755eee7cad","claude-code-agent-codebase-pattern-finder-bb32e488","Claude Code Agent: Codebase Pattern Finder","Specialist for finding code patterns and examples in the codebase, providing concrete implementations that can serve as templates for new work",21,{"id":46,"uuid":47,"slug":48,"title":49,"description":50,"author_name":51,"view_count":52,"vote_count":24,"lang_type":25,"type":53,"type_label":54},3702,"8af1d19c-c287-537f-a08f-d3ab7d1a144f","ast-index-fast-code-search-for-agents","ast-index — Fast Code Search for Agents","ast-index builds an AST index for fast code search and integrates with Claude\u002FCodex\u002FCursor; verified 347★ and installs via Homebrew.","Script Depot",80,"script","Script",{"id":56,"uuid":57,"slug":58,"title":59,"description":60,"author_name":22,"view_count":61,"vote_count":24,"lang_type":25,"type":26,"type_label":27},3218,"c1dbc5db-1dde-463c-b63b-5c0393595eb6","codegraphcontext-graph-index-for-code-mcp","CodeGraphContext — Graph Index for Code + MCP","CodeGraphContext indexes a repo into a code graph so developers and agents can query call chains, dependencies, and architecture via CLI or MCP mode.",56,{"id":63,"uuid":64,"slug":65,"title":66,"description":67,"author_name":51,"view_count":68,"vote_count":24,"lang_type":25,"type":53,"type_label":54},3072,"e38149fa-1a44-425e-9c82-2bd8eb4d9c6c","graphify-repo-knowledge-graph-mcp","Graphify — Repo Knowledge Graph + MCP","Graphify extracts docs\u002Fcode into a knowledge graph and can install as an MCP\u002Fskill across Claude Code, Cursor, Codex, and Gemini CLI. Install via uv\u002Fpipx.",107,{"id":70,"uuid":71,"slug":72,"title":73,"description":74,"author_name":34,"view_count":75,"vote_count":24,"lang_type":25,"type":36,"type_label":37},4505,"dccb0175-e306-4c4b-ba7c-039b28f8847b","claude-code-agent-legacy-modernizer-dccb0175","Claude Code Agent: Legacy Modernizer","Use this agent when modernizing legacy systems that need incremental migration strategies, technical debt reduction, and risk mitigation while maintaining business continuity. Specifically:\\\\n\\\\n\u003Cexample>\\\\nContext: A development team has a 15-year-old mono...",23,{"id":77,"uuid":78,"slug":79,"title":80,"description":81,"author_name":34,"view_count":82,"vote_count":24,"lang_type":25,"type":36,"type_label":37},4410,"6285fca6-68a4-4b43-bbdc-0fc70327a3ef","claude-code-agent-technical-debt-manager-6285fca6","Claude Code Agent: Technical Debt Manager","Expert technical debt analyst for code health, maintainability, and strategic refactoring planning. Use PROACTIVELY when codebase shows complexity growth, when planning...",25,{"id":84,"uuid":85,"slug":86,"title":87,"description":88,"author_name":89,"view_count":90,"vote_count":24,"lang_type":25,"type":36,"type_label":37},813,"b152c845-95bc-493e-af27-b7f882e8896b","claude-code-claude-md-best-practices-template-b152c845","Claude Code CLAUDE.md — Best Practices Template","Production-tested CLAUDE.md template for Claude Code projects. Covers coding conventions, test requirements, git workflow, and project-specific AI instructions.","Skill Factory",245,{"id":92,"uuid":93,"slug":94,"title":95,"description":96,"author_name":34,"view_count":82,"vote_count":24,"lang_type":25,"type":36,"type_label":37},4383,"a8044a3f-4d19-4012-b1b4-ae98d3a98174","claude-code-agent-architect-reviewer-a8044a3f","Claude Code Agent: Architect Reviewer","Use this agent when you need to evaluate system design decisions, architectural patterns, and technology choices at the macro level. Specifically:\\ \\ \\ Context: Team has...","tokrepo install pack\u002Flegacy-code-onboarding",{"pageType":99,"pageKey":8,"locale":100,"title":13,"metaDescription":101,"h1":102,"tldr":103,"bodyMarkdown":104,"faq":105,"schema":121,"internalLinks":128,"citations":141,"wordCount":154,"generatedAt":155},"pack","zh","十个 AI 工具，把又老又乱的 legacy 代码库变成可导航的地图：建索引、画架构、生成调用图、总结模块、标记死代码，然后写出团队一直没有的 CLAUDE.md \u002F AGENTS.md。给入职第一周的工程师的实战顺序。","老代码库新人上手套件 — 让 AI 先把代码读懂，你再来","十个 pick，按精心安排的顺序：先索引仓库，再扫架构，再找重复模式，再建结构化调用图，再每模块出一段总结，再标记死代码，最后写出团队一直没有的 CLAUDE.md \u002F AGENTS.md。周五之前你就能把整个系统讲给陌生人听，并交出像样的第一个 PR。","## 这个 pack 给谁用\n\n你刚入职。代码库 **8 到 12 年了**，几十万行，三个半死不活的微服务，命名约定相互冲突，唯一懂全栈的那个人两个月前走了。没有 `ARCHITECTURE.md`。README 还在引用 Python 2。Wiki 在某个谁也找不着 URL 的 Confluence 上。\n\n这种情境下，**一套精心编排的 AI 工具链才真正解决问题** — 不是替你读代码，而是给你一张能用的地图，让入职第一周从「绝望」变成「真正出活」。\n\n这个 pack 对**顺序**有强烈观点。链条上每个工具产出的工件，是下一个工具的输入。乱装一通你只会得到噪音；按顺序装完，周五之前你就能在脑中跑出整个系统的可工作模型。\n\n## 推荐安装顺序\n\n1. **Codebase Memory MCP** — 先建索引。持久化的代码知识图谱，支持 MCP 的 agent（Claude Code \u002F Cursor \u002F Windsurf）可以直接查。第一天就跑起来，后面所有问题都是查真实索引，而不是 grep 猜。\n2. **Claude Code Agent: Codebase Explorer** — 宏观地图。扫一遍仓库，输出模块\u002F服务清单：入口在哪、谁调用谁、测试目录长什么样。\n3. **Claude Code Agent: Codebase Pattern Finder** — 重复模式。挖出重复的写法、自定义的封装、老员工在标准库之上盖的「内部方言」。这里你能学到**团队的本地黑话**。\n4. **ast-index** — 快速结构化搜索。基于 Tree-sitter 的 CLI，做 AST 级查询（「找出所有以 Y 形参调用 X 的地方」）。要的是结构而不是文本时用它替代 ripgrep。\n5. **CodeGraphContext** — 调用图变 MCP。把函数和类的关系建成可查图。agent 能回答**谁调了它**、**改这个签名会断什么**，用的是 edge 不是凭感觉。\n6. **Graphify** — 仓库级依赖图。在调用图之上叠加模块到模块、文件到文件的 edge。那张你巴不得五年前有人画过的架构图，五分钟生成出来。\n7. **Claude Code Agent: Legacy Modernizer** — 模块级摘要。读每个模块（配合前面那两张图），写一段话：做什么的、谁在调它、依赖谁、哪里看着不对。存成 `docs\u002Fmodules\u002F*.md`，全队会感谢你。\n8. **Claude Code Agent: Technical Debt Manager** — 死代码和债务。交叉调用图 + git blame + 测试覆盖率，标出不可达代码、关键路径没测试、从 2019 年起没人动过的模块。输出是**待 triage 清单**，不是 delete 脚本。\n9. **Claude Code CLAUDE.md — Best Practices Template** — 写下团队一直没有的那份文件。用前面的清单 + 摘要 + 债务表，起草一份 `CLAUDE.md`（外加一份内容相同的 `AGENTS.md` 给非 Claude 的 agent），告诉下一个新人「雷在哪儿」。\n10. **Claude Code Agent: Architect Reviewer** — 你的第一个 PR。真开 PR 前，先让 architect-reviewer agent 跑一遍 diff。它会抓出你不知道存在的约定、你不小心穿过的层、你重命名时打破的公共 API。\n\n## 这条链怎么产出价值\n\n```\nCodebase Memory MCP  ──┐\n                       ├── 共享索引\nast-index ─────────────┤\n                       │\nCodebase Explorer ─────┤───►  模块\u002F服务清单\nPattern Finder ────────┤───►  团队专属写法\n                       │\nCodeGraphContext ──────┤───►  调用 edge\nGraphify ──────────────┤───►  模块 edge\n                       │\nLegacy Modernizer ─────┴───►  每模块摘要 (docs\u002Fmodules\u002F*.md)\nTechnical Debt Manager ────►  triage 清单 (docs\u002Fdebt.md)\n                            │\n                            ▼\n        CLAUDE.md  +  AGENTS.md  ◄── 你来写\n                            │\n                            ▼\n         第一个 PR + Architect Reviewer 把关\n```\n\n关键洞察：第 1-6 步**补齐结构化上下文** — 团队多年缺的就是这块。第 7-8 步把上下文变成可读散文 + triage 表。第 9 步是真正会被后面工程师（和后面 agent）依赖的写作产出。第 10 步保证你的第一个 PR 不丢人。\n\n## 你会遇到的取舍\n\n- **全量索引 vs 增量索引** — Codebase Memory MCP 和 CodeGraphContext 都需要第一次全量索引。百万行仓库首次跑 30-90 分钟很正常。**挂夜里跑**，剩下一周都是亚秒级查询。\n- **MCP server vs CLI** — ast-index 本身是 CLI 可独立用；CodeGraphContext 和 Codebase Memory MCP 在 MCP-aware agent 里发挥最大价值。卡在不支持 MCP 的工具上就走 CLI；agent 支持 MCP 就走 MCP。\n- **自动生成文档 vs 手写文档** — Legacy Modernizer 出的模块摘要是**初稿**不是定稿。当成可编辑的起点，别当成权威。\n- **死代码：标记 vs 删除** — **永远不要让 agent 在 legacy 仓库里删死代码**。静态分析会漏 cron 调度的调用方、动态派发和反射。先标，找老员工 review，再人工删。\n- **CLAUDE.md vs AGENTS.md** — Claude Code 读 `CLAUDE.md`，通用 agent 读 `AGENTS.md`。两份文件**内容相同两个文件名**（软链或单源生成），多工具团队就不会 fork。\n\n## 常见踩坑\n\n- **跳过索引步骤** — 后面每个工具都会退化成 grep 质量的输出。**别跳**。\n- **100% 相信调用图** — 反射、依赖注入、YAML 配的路由对静态分析全部不可见。重构热路径前先用 runtime trace 验证。\n- **只用 agent 输出写 CLAUDE.md** — 定稿前花 30 分钟找一个老员工聊。他会告诉你三个图永远看不见的雷。\n- **没搞懂就先现代化** — Legacy Modernizer 的名字有挑衅性。**先用它做摘要，长远再考虑改造**。入职第一周就重写代码 = 必被 revert 的姿势。\n- **第一个 PR 跳过 Architect Reviewer** — 第一印象很重要。10 分钟跑一遍 reviewer 抓出的约定问题，能省你三天 code-review 撕逼。",[106,109,112,115,118],{"q":107,"a":108},"AI agent 不会瞎编架构吗？","如果你让它直接读原始文件回答，会编。所以前三个 pick（Codebase Memory MCP \u002F Codebase Explorer \u002F Pattern Finder）的存在意义就是：先建一个结构化索引，agent 查索引而不是猜。答案有真实图谱兜底，hallucination 大幅下降。头几个回答自己手工 verify 一下，对得上之后再扩大信任 — 这是合理的递进。",{"q":110,"a":111},"百万行仓库索引到底要多久？","Codebase Memory MCP 和 CodeGraphContext 在中端笔记本上首次跑 30-90 分钟很常见。ast-index 快很多，通常 5 分钟内。第一天**挂夜里跑重的那两个**，后面查询都是亚秒级。三个都支持 file save 后增量索引，每次改动只额外几毫秒。",{"q":113,"a":114},"入职第一周真能写出有用的 CLAUDE.md 吗？","能 — 前提是把输出当**初稿**而不是定稿，并且配一次老员工 review。模块摘要 + 债务 triage + 团队黑话清单，是大部分团队从来没系统化过的结构化第一稿。花 30 分钟跟一个老员工标错处，然后发出 CLAUDE.md \u002F AGENTS.md 的 v0.1。每周迭代。一旦团队看到具体的东西可以挑错，他们就会开始贡献。",{"q":116,"a":117},"为什么要 CLAUDE.md 和 AGENTS.md 两份？一份不够吗？","Claude Code 按约定读 CLAUDE.md；通用 agent（Codex \u002F Cursor \u002F OpenCode \u002F 各种 agent SDK）越来越多看的是 AGENTS.md。两份都保留，覆盖未来两年团队可能用的所有 agent。用软链或单源生成两份避免 drift。",{"q":119,"a":120},"我们仓库是私有的，代码不能传云端 LLM，怎么办？","这十个 pick 全都支持本地优先或自部署。Codebase Memory MCP \u002F CodeGraphContext \u002F Graphify \u002F ast-index 全本地跑。Claude Code subagent 和 CLAUDE.md 模板可以接 agent 能对话的任意模型 — 包括本地 Ollama 或 vLLM endpoint。整套 pack 可以做到一个字节代码都不离开你笔记本。",{"@context":122,"@type":123,"name":124,"description":125,"numberOfItems":126,"inLanguage":127},"https:\u002F\u002Fschema.org","ItemList","老代码库新人上手套件","十个 AI 工具按顺序编排，帮工程师在 10 年祖传代码库里完成入职：建索引、画地图、生成调用图、模块摘要、标记死代码、写出团队从未有过的 CLAUDE.md \u002F AGENTS.md。",10,"zh-CN",[129,133,137],{"url":130,"anchor":131,"reason":132},"\u002Fzh\u002Fai-tools-for\u002Fcode-intelligence","AI 代码情报工具集","代码索引和图谱构建工具是这条入职链的天然补充",{"url":134,"anchor":135,"reason":136},"\u002Fzh\u002Ftopics\u002Fagent-frameworks-multilang","跨语言 Agent 框架","入职工具配上对应技术栈的 agent 框架更顺手",{"url":138,"anchor":139,"reason":140},"\u002Fzh\u002Ftopics","浏览其他主题 pack","AI Agent \u002F MCP \u002F 工程师工具箱等更多主题 pack",[142,146,150],{"claim":143,"source_name":144,"source_url":145},"Tree-sitter 是 AST 搜索工具广泛使用的语言感知解析器","Tree-sitter 文档","https:\u002F\u002Ftree-sitter.github.io\u002Ftree-sitter\u002F",{"claim":147,"source_name":148,"source_url":149},"Model Context Protocol 是 MCP server 实现的开放标准","Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"claim":151,"source_name":152,"source_url":153},"Anthropic 文档把 CLAUDE.md 定义为 Claude Code 的项目级指令文件","Claude Code 官方文档","https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fmemory",900,"2026-05-22T10:00:00Z"]