SuperAPI AI 工具集

setup-solid

编程与开发

查看项目

更新于 10-18 17:13

技能介绍

用途

在仓库中写入一条长期有效的架构指令:在架构层面应用 SOLID,并以“童子军规则”限定范围。整段规范只作用于当前正在编写的代码,以及当前流程已经流经的代码,绝不作用于整个仓库;代码库通过一次次的改动逐步收敛。每个仓库只需运行一次。

主要能力

  • 探索仓库:写作前先阅读仓库,不臆测。需要弄清:语言与代码分组方式(packages、文件夹、服务);哪些文件夹存放策略(领域/业务规则),哪些存放细节(数据库、HTTP、SDK、文件系统);根目录的 CLAUDE.md 与 AGENTS.md 是否存在、是否互为符号链接、是否已有 SOLID 段落或与之重叠的架构/编码规范段落;monorepo 信号(pnpm-workspace.yaml、package.json 的 workspaces 字段、带各包 CLAUDE.md 的 packages/*);GLOSSARY.md 中的领域词汇;ADR(.agents/adr/、docs/adr/);依赖当前如何注入、测试当前如何替换。完成条件是能用仓库自身的路径指出策略在哪、细节在哪、两者如何接线、测试如何替换细节。
  • 判断是否适用:如果没有策略/细节的划分就停止,不写该段落(文档仓库、薄脚本仓库、提示词文件仓库都没有需要塑造的 IO 边界);如果划分存在但很薄,提供精简版(仅 SRP 与 OCP,不含“In this repo”块,并说明删减了什么)。
  • 起草并确认:向用户展示填好占位符的完整段落;只询问真正需要分支的问题(哪个文件、含糊之处);主动暴露重叠的规范段落和 ADR 冲突,而不是悄悄解决。
  • 写入:优先编辑 CLAUDE.md,否则 AGENTS.md,否则用户指定的文件;已有其一则不创建另一个;互为符号链接时只写一个路径。若已存在 SOLID 段落(任意标题层级或大小写),就地更新而不追加第二份。
  • 收尾提示:告知用户编辑了哪个文件、SOLID 现已作用于新代码和每次改动触及的代码、其他技能的行为会随之改变(审查类技能会把文档化的仓库标准视为优先于自身基线,实现类技能写代码时会读取这些条目)。

段落结构

写入的段落包含:架构层面的 SOLID 总述;“Scope: boy scout rule”范围说明;“In this repo”块,填入仓库真实的策略路径、细节路径、接线约定和测试替换约定(用具体 glob,如 src/domain/**,而非类别);以及作为架构规则的 SRP、OCP、LSP、ISP、DIP 五条原则和应用要点(跨 IO 边界时从策略侧定义接口并注入实现;只有在测试会替换时才值得引入接口;模块与接口命名使用仓库领域词汇)。若 ADR 覆盖某原则,保留该条并在行内注明例外及所引 ADR。

使用方式

安装并运行一次即可;只需在需要重塑段落本身时重新运行,直接编辑段落也可以。

限制

  • 正文始终为英文,与其余编码标准一致,无论仓库散文使用何种语言。
  • 不适用于没有策略/细节划分的仓库。
  • 不进行仓库级 SOLID 重构,除非明确要求。

适用场景

希望把架构级 SOLID 以渐进方式固化到单个仓库,并让后续技能与改动一致遵循的项目。