SuperAPI AI 工具集

contextualizar-repo

编程与开发

查看项目

更新于 10-22 01:16

技能介绍

用途

本技能用于将已有的(brownfield)代码仓库整理成与全新项目(greenfield)同等清晰的状态:让之后到来的任何智能体或人员都能找到关于系统如何启动、如何构建、继承了哪些决策、应模仿哪些模式、不应模仿哪些模式、技术债在哪里以及改动时须遵守哪些规则的书面记录。

本技能覆盖技术上下文(第 1、2、5 层)。功能上下文(能力、业务规则和术语表)由 BA 通过 contextualizar-negocio 记录。

本技能不修改代码,也不修复技术债。它只阅读、测量、记录、提问,然后停止。

原则

  • 无证据不下结论。关于系统的每项断言都须附带文件:行、带输出的命令,或标记为 NO VERIFICADO(未验证)。
  • 现有文档是来源,不是真相。README、AGENTS.md、CLAUDE.md 或既有 docs 会被阅读,但每项被复用的断言都要对照代码验证。
  • 描述代码是什么,而非应该是什么。改进建议放入技术债地图,绝不与描述混在一起。
  • 不做出新的架构决策。只记录继承的决策。当多种模式并存时,选定 canon 须由人确认。

输入

  • 仓库路径(默认为当前目录)。
  • 现有文档(如有):README*、AGENTS.md、CLAUDE.md、docs/、既有 ADR。
  • 可选:团队最关心的系统部分(以便优先深入)。

工作流程

1. 使其可读(第 1 层)

找到如何安装、启动和测试:package.json(或等价物)、README、Dockerfile、docker-compose*、现有文档。

验证每条命令:若用户授权,运行并记录结果与耗时。若未运行,标记为 NO VERIFICADO。

CodeGraph 索引:

  • 若已安装 codegraph:运行 codegraph init(或若已存在 .codegraph/ 则运行 codegraph index)。记录耗时。
  • 若未安装:建议安装(参见其现行文档),并在没有它的情况下继续,同时写明依赖地图是通过阅读代码构建的。

在后续步骤中使用该索引来查询依赖、影响和调用方。

2. 真实分层地图(第 2 层)

遍历文件夹结构,为每个目录分配其观察到的职责。

跟踪一条典型的端到端流程(一个请求从进入到触及数据),记录它经过的每个文件。该路径用于验证地图。

指出存在两代并存的层(例如旧前端和新前端)。

3. 继承的决策(第 2 层)

识别已做出的结构性决策:持久化、扩展机制、通信协议、认证、模块组织、测试策略。

为每项决策写一份 ADR,状态为 Aceptado(heredado),使用 assets/adr-heredado-template.md(或若已安装则使用 generar-tech-design 的模板)。从 adrs/ 中下一个可用编号开始编号。

决策部分描述代码当前实际行为,并附证据。后果部分至少包含该决策今天实际付出的一个成本。

4. 模式目录(第 2 层)

对每个相关主题(如何新增端点或路由、数据访问、错误处理、配置、依赖、测试、模块组织、可见文本、扩展):

  • 检测解决该主题有多少种不同方式并存,每种给出一个文件:行示例和大致使用次数。
  • 提出哪个是 canon(应模仿),哪个是 legacy(不应模仿),并声明标准:项目文档推荐、最新代码使用,或新代码中的多数用法。
  • 若没有明确标准,则不选择:留作向人提出的问题。

明确包含依赖如何连接(注入还是直接导入)以及这对代码可测试性的后果。

5. 技术债地图(第 2 层)

记录而不修复每项发现,包含:id、描述、证据、风险(高·中·低)以及何时适合处理(通常是:当某个功能经过那里时)。

至少查找:

  • 过大或职责过多的文件或模块;
  • 做同一件事的重复路径;
  • 无法删除的遗留兼容;
  • 团队自己声明的债(TODO、FIXME、HACK);
  • 弱类型或缺失的校验;
  • 高耦合(许多文件依赖一个),若可用则使用 CodeGraph。

性能:只登记待测量的候选,绝不登记未经测量的已确认 bug。

6. 构建规则(第 5 层)

从 canon 和继承的 ADR 推导规则。每条规则包含:

  • 陈述(“新功能以插件形式添加”);
  • 来源(ADR、canon 模式或项目文档);
  • 如何验证:一条命令、一个工具或一个现有测试。

若某条规则无法验证,标记为软规则,并建议如何验证(lint、测试或使用 crear-guardrail 的护栏),但不创建它。

7. 编写

文件 内容 模板
docs/contexto/ARQUITECTURA.md 已验证的启动与测试、分层地图、端到端流程 assets/arquitectura-template.md
docs/contexto/PATRONES.md canon 与 legacy 目录 assets/patrones-template.md
docs/contexto/DEUDA.md 技术债地图 assets/deuda-template.md
adrs/NNNN-*.md 继承的决策 assets/adr-heredado-template.md
AGENTS.md 简短索引 + 构建规则 assets/agents-md-template.md

若已存在 AGENTS.md,不覆盖:提出修改建议,由人决定。

AGENTS.md 将术语表和能力的入口指向 docs/contexto/,即使这些文件由 BA 完成。

8. 自验证

在呈现任何内容之前:

  • 重新打开每个引用的文件:行,确认其内容与断言一致。
  • 确认每条记录的命令都已运行或标记为 NO VERIFICADO。
  • 确认没有任何改进建议被写成描述。
  • 建议人进行交叉审查:从干净会话运行 audit-agent-context,最好用另一个模型,以免上下文自我验证。

9. 人工门禁

呈现摘要和待决事项:

  • 每个存在多种模式的主题中待确认的 canon;
  • 软规则及其建议的验证方式;
  • 所有标记为 NO VERIFICADO 的内容。

等待明确批准。在人工批准之前,此上下文的任何内容都不得使用或传达给其他智能体。

10. 与 BA 协调

若会话中有 BA(见 invoke-agent),在批准后:

  • 发送 CONTEXTO TÉCNICO LISTO: <docs/contexto 和 adrs 的路径> — <未决点>。
  • 当 BA 发送 GLOSARIO: TÉRMINOS NUEVOS 时,为 docs/contexto/GLOSARIO.md 中每个术语的“Dónde vive”列填写证据,并回复 GLOSARIO COMPLETO。

同一分歧最多两轮;之后由人决定。

约束

  • 不修改项目的代码、配置或依赖。
  • 不修复技术债,即使微不足道。
  • 当标准不明确时不选择 canon:提问。
  • 未经批准不覆盖现有文档。
  • 在人工门禁之前不与其他智能体通信。

适用场景

适用于接手遗留系统、需要让后续智能体或人员快速理解现有项目、建立 AI-first 工作上下文的场景。

限制

本技能不修改代码、不修复技术债、不做出新架构决策,也不覆盖现有文档。所有未验证内容均明确标注。