关于 writing-adrs
writing-adrs 是一项指导编写架构决策记录的技能,适用于需要记录重要技术选择及其背景和影响的开发团队。它提供 ADR 的结构、状态定义和编写实践。
主要功能
- 01说明 ADR 的适用决策场景
- 02提供 ADR 标题与状态结构
- 03记录背景、决策、理由和后果
- 04给出简洁编写与编号建议
适用场景
- 01选择框架或数据库时记录决策
- 02定义 API 模式或编码规范
- 03记录基础设施方案及其取舍
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dralgorhythm/ claude-agentic-framework --skill writing-adrs安装后在 Claude Code 中输入/writing-adrs确认已加载。
详细介绍
编写架构决策记录
什么是 ADR?
架构决策记录用于记录重要的架构决策,以及该决策的背景和后果。
何时编写 ADR
- 选择框架或库
- 选择数据库或存储方案
- 定义 API 模式
- 制定编码规范
- 做出基础设施决策
- 任何会影响多个组件的决策
ADR 结构
标题
简短描述该决策的短语。
状态
- Proposed:讨论中
- Accepted:已做出决策
- Rejected:经考虑但未采纳
- Deprecated:不再有效
- Superseded:已被另一份 ADR 取代
背景
当前情况是什么?有哪些因素需要考虑?
决策
我们要做出什么变更?
理由
为什么这是最佳选择?
后果
有哪些权衡?包括正面和负面影响。
ADR 示例
# ADR: Use PostgreSQL for Primary Database
## Status
Accepted
## Context
We need a database for our new service. Requirements:
- ACID transactions
- JSON support
- Strong ecosystem
- Team familiarity
## Decision
We will use PostgreSQL 15+ as our primary database.
## Rationale
- Mature, reliable RDBMS
- Excellent JSON support with JSONB
- Strong extension ecosystem (pgvector, PostGIS)
- Team has deep PostgreSQL experience
- Well-supported by all cloud providers
## Consequences
### Positive
- Reliable, battle-tested technology
- Rich feature set
- Easy to find developers
### Negative
- Vertical scaling has limits
- Requires careful connection management
- More operational overhead than managed NoSQL
最佳实践
- 保持简短:最多 1-2 页
- 做出决策时编写:不要事后补写
- 列出替代方案:说明考虑过哪些选项
- 更新状态:将已弃用或已取代的 ADR 标记出来
- 按顺序编号:
ADR-001、ADR-002等
评论
支持 Markdown