cx-adr
npx skills add https://github.com/m19803261706/cx-workflow --skill cx-adr
Agent 安装分布
Skill 文档
cx-adr: æ¶æå³çè®°å½
è®°å½ææ¯éååæ¶æå³çï¼ä¸ºå¤§è§æ¨¡åè½ï¼Lï¼æä¾å®æ´å³çæ¡£æ¡ã
ä½¿ç¨æ¹æ³
/cx-adr <å³çæ é¢> # è®°å½ä¸ä¸ªæ¶æå³ç
/cx-adr # æç¤ºè¾å
¥å³çæ é¢
使¶éè¦ ADR
- å¼å ¥æ°ææ¯ãæ¡æ¶æåº
- éæ©æ°æ®å卿¹æ¡ï¼SQL vs NoSQLãç¼åçç¥çï¼
- éæ©éä¿¡åè®®ï¼REST vs WebSocket vs gRPCï¼
- éå¤§æ¶æåæ´ï¼å¾®æå¡æåãåä½åå¹¶ï¼
- æ°æ®æµæç¶æç®¡çæ¹æ¡éæ©
- æå¤ä¸ªå¯è¡æ¹æ¡ä¸åæ trade-off
æ ¸å¿æ¥éª¤
Step 0: åå§åæ¬å°ç¯å¢
PROJECT_ROOT=$(git rev-parse --show-toplevel)
DEVELOPER_ID=$(jq -r '.developer_id' "$PROJECT_ROOT/.claude/cx/config.json" 2>/dev/null || echo "cx")
FEATURE_DIR="$PROJECT_ROOT/.claude/cx/features/${DEVELOPER_ID}-{feature_slug}"
Step 1: æ¶éå³çä¸ä¸æ
{
"questions": [
{
"question": "è¿ä¸ªå³çè¦è§£å³ä»ä¹é®é¢ï¼",
"header": "å³çç±»å",
"multiSelect": false,
"options": [
{"label": "ææ¯éå", "description": "éæ©ä½¿ç¨åªä¸ªææ¯/æ¡æ¶/åº"},
{"label": "æ¶æåæ´", "description": "ç³»ç»æ¶æå±é¢çè°æ´"},
{"label": "æ¹æ¡éæ©", "description": "å¤ä¸ªå¯è¡æ¹æ¡éè¦åè"},
{"label": "è§èå¶å®", "description": "ç¡®ç«ææ¯è§èææ å"}
]
}
]
}
Step 2: å ³èææ¡£æ¥æ¾
仿¬å°æ¥æ¾å ³èç prd.md å design.mdï¼å¦ææï¼ã
Step 3: ææ¯è°ç
æ ¹æ®å³çç±»åï¼ä½¿ç¨ Context7ï¼å¦éï¼æ¥é ç¸å ³ææ¯ææ¡£ï¼
- åéææ¯å¯¹æ¯
- æä½³å®è·µ
- 项ç®çº¦æåå ¼å®¹æ§
æ«æé¡¹ç®ç°æä»£ç çè§£ææ¯æ å约æã
Step 4: çæ ADR
模æ¿ï¼
# ADR: {å³çæ é¢}
## ç¶æ
**Proposed** â å¾
确认
## å
³è
${design_number:+Design Doc: #$design_number}
${prd_number:+PRD: #$prd_number}
## èæ¯
{为ä»ä¹éè¦åè¿ä¸ªå³çï¼é®é¢æè¿°}
## å³ç驱å¨å ç´
- {å ç´ 1ï¼å¦æ§è½è¦æ±}
- {å ç´ 2ï¼å¦å¢éçæåº¦}
- {å ç´ 3ï¼å¦ç»´æ¤ææ¬}
## åéæ¹æ¡
### æ¹æ¡ A: {æ¹æ¡å}
{æ¹æ¡æè¿°}
- ä¼å¿:
- {ä¼å¿1}
- {ä¼å¿2}
- å£å¿:
- {å£å¿1}
- {å£å¿2}
- éç¨åºæ¯: {说æ}
### æ¹æ¡ B: {æ¹æ¡å}
{æ¹æ¡æè¿°}
- ä¼å¿:
- {ä¼å¿1}
- {ä¼å¿2}
- å£å¿:
- {å£å¿1}
- {å£å¿2}
- éç¨åºæ¯: {说æ}
## 对æ¯
| 维度 | æ¹æ¡ A | æ¹æ¡ B |
|------|--------|--------|
| æ§è½ | {è¯ä¼°} | {è¯ä¼°} |
| å¤æåº¦ | {è¯ä¼°} | {è¯ä¼°} |
| ç»´æ¤ææ¬ | {è¯ä¼°} | {è¯ä¼°} |
| å¦ä¹ æ²çº¿ | {è¯ä¼°} | {è¯ä¼°} |
| å¢éçæåº¦ | {è¯ä¼°} | {è¯ä¼°} |
## 建议
**æ¨èæ¹æ¡ {X}**
{æ¨èçç±ï¼åºäºå³ç驱å¨å ç´ çåæ}
## å½±å
- å¯¹ç°æä»£ç : {å½±å说æ}
- 对åç»å¼å: {å½±å说æ}
- è¿ç§»ææ¬: {è¯ä¼°}
- åéææ¬: {è¯ä¼°}
## 宿½è®¡å
{使¶å®æ½ãåé¶æ®µè®¡åãä¾èµæ¡ä»¶}
---
> CX 工使µ | ADR
ä¿åå° .claude/cx/features/{dev_id}-{feature}/adr.mdã
Step 5: å³ç确认
{
"questions": [
{
"question": "éæ©åªä¸ªæ¹æ¡ï¼",
"header": "å³ç",
"multiSelect": false,
"options": [
{"label": "æ¹æ¡ A", "description": "{æ¹æ¡Aç®è¿°}"},
{"label": "æ¹æ¡ B", "description": "{æ¹æ¡Bç®è¿°}"},
{"label": "éè¦æ´å¤ä¿¡æ¯", "description": "è¡¥å
è°ç ååå³å®"},
{"label": "ææ¶æç½®", "description": "å
ä¸åå³å®"}
]
}
]
}
Step 6: GitHub 忥ï¼å¯éï¼
æ ¹æ® config.github_syncï¼
- off/localï¼ä» ä¿åæ¬å°
- collab/fullï¼å建 GitHub Issueï¼æ ç¾
doc:adrï¼ï¼è®°å½ Issue ç¼å·
æ´æ° ADR ç¶æä¸º Acceptedï¼å¦ç¨æ·ç¡®è®¤ï¼æ Proposedï¼å¦å¾ å®ï¼ã
Step 7: è¿åè°ç¨è
å¦æç± cx-design 触åï¼è¿å Design Doc æµç¨ç»§ç»ã å¦ææ¯æå¨è°ç¨ï¼è¯¢é®ä¸ä¸æ¥ã
æ¬å°æä»¶ç»æ
.claude/cx/features/{dev_id}-{feature}/
âââ adr.md â ADR ææ¡£
âââ adr.json â Issue ç¼å·ï¼å¯éï¼ãå³çå
æ°æ®
âââ ...
ADR 管ç
æ¬å° adr.json è®°å½ææ ADRï¼
{
"adr_list": [
{
"id": 1,
"title": "éæ© React èé Vue",
"status": "Accepted",
"decided_at": "2024-01-15T10:00:00Z",
"recommendation": "æ¹æ¡ A"
}
]
}
ä¸ Design Doc çå ³è
- Design Doc å¨çæè¿ç¨ä¸ä¼æ£æµæ¯å¦æ¶åæ¶æå³ç
- 妿£æµå°ï¼ä¼èªå¨è¯¢é®æ¯å¦éè¦ ADR
- cx-design 宿åï¼ç¨æ·å¯ä»¥è¿è¡
/cx-adrè¡¥å å³çè®°å½
ä¸ cx-plan çè¡æ¥
- è¾å ¥ï¼design.mdï¼æ¥èª cx-designï¼
- è¾åºï¼adr.mdï¼ä¾ cx-plan åèï¼
- cx-plan å¨çæä»»å¡æ¶ä¼å¼ç¨ ADR å³çä½ä¸ºææ¯èæ¯
L è§æ¨¡åè½çå¿ é项
å¯¹äº Lï¼å¤§è§æ¨¡ï¼åè½ï¼
- Design Doc æ¯å¼ºå¶é¡¹
- ADR æ¯å¼ºå¶é¡¹ï¼å¦ææ¶æå³çï¼
- cx-plan çæçæ¯ä¸ªåä»»å¡é½ä¼å ³èç¸å ³ ADR å³ç
å³ççå¯è¿½æº¯æ§
æ¯ä¸ª ADR è®°å½å®æ´çå³çè¿ç¨ï¼ä¾åç»å¢éæåã审æ¥è ææªæ¥ç»´æ¤è åèï¼å½¢æé¡¹ç®çæ¶æå³çå岿¡£æ¡ã