mcpField
A
adk-unit-design

adk-unit-design

github.com/google开发22.0k69 次安装今天更新
代码仓库

关于 adk-unit-design

adk-unit-design 是面向开发者的技能,用于记录代码单元的实际行为,帮助评估改动影响。它依据源码、测试、接口和示例编写设计文档。

主要功能

  1. 01分析用途、流程与依赖
  2. 02识别扩展点和约束
  3. 03将文档放在 docs/design/
  4. 04原位更新已有文档
  5. 05将引用链接改为 GitHub 源码

适用场景

  1. 01评估修改类或方法的风险
  2. 02结合测试与源码记录单元
  3. 03使设计文档与代码保持一致

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/google/adk-python --skill adk-unit-design

安装后在 Claude Code 中输入/adk-unit-design确认已加载。

附带文件references/design-template.md

详细介绍

ADK 代码单元设计

单元设计应记录代码单元实际实现的内容,就像单元测试会按实际实现的方式对其进行测试。任何设想或愿景都不应写入其中。读者正在判断可以安全修改哪些内容,因此应回答“如果我改动这里,会有什么内容出问题?”——而不是“该如何调用它?”

输入

需要提供源文件,或其中提到的类或方法。如果存在,也请阅读:该单元实现的基类和接口、该单元的测试(这是判断预期行为的最佳依据),以及示例用法。

写作前先分析

根据源代码回答以下各项。代码未体现的内容不要写入文档——不要根据名称推断设计意图。

  • 单元的用途和预期用法。
  • 执行流程,以及流入和流出的数据。
  • 上游依赖项,以及依赖于该单元的类。
  • 扩展接口:抽象方法、钩子、回调、可配置字段。
  • 约束——子类或调用方不得更改的内容,以及原因。
  • 运行限制。

文档放置位置

在 docs/design/ 下镜像源文件路径,每个单元对应一个目录,文档命名为 index.md。私有模块的目录名去掉开头的下划线:

源文件设计文档
src/google/adk/workflow/_function_node.pydocs/design/workflow/function_node/index.md
src/google/adk/events/event.pydocs/design/events/event/index.md

如果该路径下已有文档,请直接更新,并保留代码未发生变化部分的现有措辞,这样差异中只会显示实际变更的内容。

此仓库目前还没有 docs/design/——第一份设计文档会创建它。docs/guides/ 是现有的同级目录树;请采用相同的目录结构。

链接到 GitHub,而非本地路径

这些文档会在 GitHub 上渲染,本地文件系统路径无法使用。 将 {repo_root}/src/google/adk/{topic}/{unit}.py#L93 改写为 https://github.com/google/adk-python/blob/main/src/google/adk/{topic}/{unit}.py#L93。

结构

按照 references/design-template.md 的各个章节依次编写。

评论

支持 Markdown