用途:在 codegraph 仓库中为一个新语言接入 tree-sitter 支持,从语法(grammar)与提取器接线,到测试、热门仓库选取与基准评测,全流程自主执行。参数为 Language 联合中使用的语言标记,如 lua、elixir、zig;未提供时需询问,统一使用小写单词形式(如 csharp 而非 c#)。需在 codegraph 仓库根目录运行,前置条件包括 node、git、gh 以及已登录的 claude CLI,基准使用本地 dev 构建。
主要流程(按清单顺序):1) 解析语言,已支持则直接基准;2) 查找语法并健康检查(ABI/堆损坏),如 check-grammar.mjs 失败则改用 ABI 14/15 的 vendored wasm,无法获取健康 wasm 应停止;3) 用 dump-ast.mjs 发现 AST 节点类型;4) 接线,涉及 src/types.ts、src/extraction/grammars.ts、新增 src/extraction/languages/<lang>.ts、src/extraction/languages/index.ts,有时还需改 src/extraction/tree-sitter.ts;5) npm run build 后建索引并用 verify-extraction.mjs 验证直到 PASS;6) 在 tests/extraction.test.ts 添加检测与提取测试并用 npx vitest run 跑绿;7) 用 gh search repos 按大中小规模各选 3 个语言主导仓库并写入 corpus.json;8) 用 bench.sh 做提取与有/无 codegraph 的 A/B 基准;9) 更新 README 与 CHANGELOG;10) 汇报但不得 commit、push、publish 或打 tag,改动交由用户审阅。
限制:基准会启动真实付费 claude -p 运行(opus、--max-budget-usd),2 臂 × 3 仓库;语料目录 /tmp/codegraph-corpus 与 /agent-eval 共享;新增 wasm 必须放在 src/extraction/wasm/ 以便随构建复制到 dist/;索引须由构建它的同一二进制提供服务。若语法无法获得或提取无法达到 PASS,应停止并报告,不得交付半接线的语言。