mcpField
C
create-adr

create-adr

github.com/majesticlabs-dev开发5064 次安装8 周前更新
代码仓库

关于 create-adr

create-adr 是面向开发者的架构决策记录技能,帮助梳理代码和权衡因素,并按模板创建编号 ADR,留存决策背景。

主要功能

  1. 01判断是否需要记录决策
  2. 02检查代码及相关背景
  3. 03创建顺序编号的 ADR
  4. 04使用模板组织决策内容
  5. 05记录替代方案与后果

适用场景

  1. 01记录技术选型
  2. 02功能实现后整理设计权衡
  3. 03留存重构中的架构变更

安装

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

$npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill create-adr

安装后在 Claude Code 中输入/create-adr确认已加载。

附带文件assets/adr-template.md

详细介绍

创建 ADR 技能

**用途:**记录架构决策,为后续开发者提供背景信息,并维护关于技术选择原因的组织知识。

何时使用此技能

在以下情况下触发此技能:

  • 做出重要的架构决策
  • 在相互竞争的技术或方案之间进行选择
  • 设计新的系统组件或 API
  • 会改变系统结构的重构
  • 实现涉及设计权衡的功能后

以下情况跳过创建 ADR

  • 仅涉及小型 Bug 修复或重构
  • 仅涉及文档或测试的更改
  • 不影响架构的配置调整
  • 实现方式显而易见的简单更改

工作流

1. 收集背景信息

检查实现,了解:

  • 做出了哪些技术决策
  • 为什么选择这种方案
  • 有哪些替代方案
  • 接受了哪些权衡

如果正在检查现有代码:

git diff main...HEAD
git log --oneline main..HEAD
2. 进一步调查

如果差异内容未提供足够背景信息:

  • 阅读引用的文件/函数
  • 检查配置文件
  • 查看相关测试
  • 检查新增的依赖项
3. 创建 ADR

位置:docs/adr/NNNN-descriptive-title.md

命名约定:

  • 使用连续编号(0001、0002 等)
  • 使用小写字母,以连字符分隔
  • 描述清晰且简洁

示例:

  • 0001-use-jwt-for-authentication.md
  • 0002-adopt-event-sourcing-for-orders.md
  • 0003-postgres-over-mysql.md
4. 使用模板

使用 assets/adr-template.md 中的模板来组织文档。

需完成的主要部分:

  • 状态:提议、已接受、已弃用或已取代
  • 背景:推动此次决策的问题或机会
  • 决策:做出的决定及技术方案
  • 后果:积极影响、消极影响及风险
  • 替代方案:考虑过的其他方案,以及未选择它们的原因

质量指南

优秀的 ADR 应包含:

  • 具体的技术细节(而非模糊的描述)
  • 有帮助时提供具体示例和代码片段
  • 如实评估权衡
  • 链接到相关资源或先前实践

避免:

  • 模糊的理由(“它更好”)
  • 缺少替代方案部分
  • 未讨论后果
  • 过多的实现细节(这些内容应放在代码注释中)

示例

用户:“记录使用 Redis 进行缓存的决策”

技能触发后:

  1. 检查缓存实现
  2. 找出考虑过的替代方案(Memcached、内存缓存等)
  3. 记录权衡(复杂度与性能)
  4. 创建 docs/adr/0005-redis-for-application-cache.md

集成

适用于:

  • 重大功能实现
  • 系统重构工作
  • 技术迁移
  • API 设计决策

评论

支持 Markdown