用途:帮助在陌生或未文档化的遗留代码库中做调查、编写文档或实施改动,强调以本地仓库地图、限定范围的源码上下文和可核验证据为依据。默认流程是调查,文档、启动修复、测试与现代化属于可选,构建失败不会把调查自动变成修复任务。
主要能力:已知路径或符号可直接搜索,无需预先建图;陌生子系统可用一个原生限定范围地图加原始源码;多模块或反复出现的难题再按规模与信息采集流程处理,如惰性目录、单任务地图和基于证据的可选试点。仓库体积大本身不要求检索。内置工具能力有边界,未在数百 MB 级生产语料上验证。
使用方式:默认用原生 Rust 映射器 legacy-repo-map 生成仓库地图。首次使用先运行 python /path/to/skill/scripts/setup_native.py status 检查本地就绪状态;若返回 needs-setup,按 next_action 执行 python /path/to/skill/scripts/setup_native.py install。安装器会选取并校验固定的预编译平台版本,无需 Rust 编译器。就绪后运行返回的程序路径,例如 /path/returned/as/program /path/to/repository --output-dir /path/to/artifacts --budget 16384。低层映射器需要外部输出/缓存目录并使用固定文件名,之后用 scripts/export_repo_map.py 导出命名报告、原始地图和证据附属文件。
报告与 Git:优先遵循用户指定路径;在获授权写入仓库时,默认保存到 <repository>/docs/repo-maps/,生成前先公布目标位置,完成后链接具体文件。只读工作使用获授权的外部产物位置。仓库内报告默认只把 <report-directory>/artifacts/ 加入 .gitignore,主概览、摘要和可选完整定义索引保持对 Git 可见,除非用户要求或保密规则要求。
限制:原生地图在本地运行、不依赖 LLM 端点,用 Tree-sitter 解析源码,标识符关系排序参考 Aider 的 repo map,并在声明预算内选择定义;它是导航工具,不是类型解析调用图,也不能替代方法体。默认地图预算为 16,384 估算 token(按 Unicode 字符数除以 4 向上取整,非模型分词器)。可用 --coverage 25 或 --max-definitions 1000 限制捕获定义,两者不可同时使用;--all-definitions 需配合足够预算。引用检查器可发现伪造或过期引用,但不能证明结论由引文推出。原生工具仍属实验性,语法/查询覆盖和消费端执行限制仍然适用。缺失事实暂未提供。