Commit c786feec07a3e64222303da3183d16ff20903c21
1 parent
a4154981
refactor: drop lite branding — rename lite-init/design/build-db → init/design/bu…
…ild-db, de-brand plugin meta/README/banners
Showing
29 changed files
with
141 additions
and
141 deletions
.claude-plugin/plugin.json
| 1 | 1 | { |
| 2 | 2 | "name": "erp-workflow", |
| 3 | - "description": "ERP/全栈项目精简流程框架(lite):计划三段(一次性)+ 编码统一功能循环(后端模块 / 前端阶段共用),保留 TDD、需求可追溯、DB-as-SSoT + Flyway、本地里程碑 tag。", | |
| 4 | - "version": "0.1.0-lite", | |
| 3 | + "description": "ERP/全栈项目全流程开发框架:计划三段(一次性)+ 编码统一功能循环(后端模块 / 前端阶段共用),保留 TDD、需求可追溯、DB-as-SSoT + Flyway、本地里程碑 tag。", | |
| 4 | + "version": "0.1.0", | |
| 5 | 5 | "skills": ["./skills/plan", "./skills/coding", "./skills/crosscut"] |
| 6 | 6 | } | ... | ... |
README.md
| 1 | -# erp-workflow(lite) | |
| 1 | +# erp-workflow | |
| 2 | 2 | |
| 3 | -Claude Code æ’件:ERP / åŽç«¯ç®¡ç†ç³»ç»Ÿå…¨æµç¨‹å¼€å‘框架(精简版)。 | |
| 3 | +Claude Code æ’件:ERP / åŽç«¯ç®¡ç†ç³»ç»Ÿå…¨æµç¨‹å¼€å‘框架。 | |
| 4 | 4 | |
| 5 | 5 | 把"从零到 N 个åŽç«¯æ¨¡å—上线 + å‰ç«¯æ•´ä½“阶段"的整个æµç¨‹å›ºåŒ–æˆ **11 个 skill + 2 个 agent + 22 ä»½æ¨¡æ¿ + 3 个脚本**,让 CC 在 schema 演化用 Flyway migrationã€éœ€æ±‚å¯è¿½æº¯ã€çº¯æœ¬åœ° git çš„å‰æä¸‹æŽ¨è¿›ç¼–ç 。åŽç«¯æŒ‰æ¨¡å—å¾ªçŽ¯ä¾æ¬¡æ‰“里程碑 tag,所有åŽç«¯æ¨¡å—打里程碑åŽè¿›å…¥å‰ç«¯æ•´ä½“é˜¶æ®µï¼ˆä»¥é¡¹ç›®æ ¹ `prototype/` 陿€ HTML mockup ä¸ºé¡µé¢æƒå¨ï¼‰ã€‚两阶段共用åŒä¸€å¥—功能循环 skill,由 `phase` 傿•°åŒºåˆ†ã€‚ |
| 6 | 6 | |
| ... | ... | @@ -8,12 +8,12 @@ Claude Code æ’件:ERP / åŽç«¯ç®¡ç†ç³»ç»Ÿå…¨æµç¨‹å¼€å‘æ¡†æž¶ï¼ˆç²¾ç®€ç‰ˆï¼ |
| 8 | 8 | |
| 9 | 9 | ``` |
| 10 | 10 | ┌────────────────────────────────────────────────────────┠|
| 11 | -│ erp-workflow-lite │ | |
| 11 | +│ erp-workflow │ | |
| 12 | 12 | │ │ |
| 13 | 13 | │ 计划(/plan-start,一次性,2 个审阅æ–点) │ |
| 14 | -│ â‘ lite-init åˆå§‹åŒ– + REQ å¡ç‰‡ ⸠审阅 REQ │ | |
| 15 | -│ ② lite-design 脚手架 + docs/03 ⸠审阅 schema │ | |
| 16 | -│ ③ lite-build-db V1+apply + docs/05/08 │ | |
| 14 | +│ â‘ init åˆå§‹åŒ– + REQ å¡ç‰‡ ⸠审阅 REQ │ | |
| 15 | +│ ② design 脚手架 + docs/03 ⸠审阅 schema │ | |
| 16 | +│ ③ build-db V1+apply + docs/05/08 │ | |
| 17 | 17 | │ │ |
| 18 | 18 | │ ç¼–ç (/coding-start,统一功能循环) │ |
| 19 | 19 | │ åŽç«¯æ¨¡å—循环 ┠│ |
| ... | ... | @@ -37,9 +37,9 @@ Claude Code æ’件:ERP / åŽç«¯ç®¡ç†ç³»ç»Ÿå…¨æµç¨‹å¼€å‘æ¡†æž¶ï¼ˆç²¾ç®€ç‰ˆï¼ |
| 37 | 37 | ``` |
| 38 | 38 | Plan 阶段**三段å¼**执行,ä¸é—´æœ‰ä¸¤ä¸ªäººå·¥å®¡é˜…æ–点: |
| 39 | 39 | |
| 40 | - - **第一段(首次è¿è¡Œï¼‰**:执行 `lite-init`(ä¾èµ–检查 / git init / åˆå§‹åŒ– docs + CLAUDE.md / å¼•å¯¼å¡«æŠ€æœ¯æ ˆ + 需求索引 / ç”Ÿæˆ REQ å¡ç‰‡éª¨æž¶ï¼‰åŽ**åœä¸‹**,ç‰ä½ 审阅并补全 `docs/01-需求清å•/<module>/REQ-*.md`(第一个人工关å£ï¼šä¸šåŠ¡èŒƒå›´ï¼‰ | |
| 41 | - - **第二段(REQ å®¡é˜…å®Œé‡æ–°è¿è¡Œï¼‰**:执行 `lite-design`ï¼ˆç”Ÿæˆ docs/04 架构规范 / scripts / .env.local / 从 REQ æ£å‘设计 `docs/03-æ•°æ®åº“设计文档.md`)åŽå†æ¬¡**åœä¸‹**,ç‰ä½ 审阅 docs/03 的表 / å—æ®µ / 索引 / 外键(第二个人工关å£ï¼šdatabase schema) | |
| 42 | - - **第三段(docs/03 å®¡é˜…å®Œé‡æ–°è¿è¡Œï¼‰**:执行 `lite-build-db`ï¼ˆè§£æž docs/03 → ç”Ÿæˆ V1 migration → DROP+CREATE 本地 schema å¹¶ apply → ç”Ÿæˆ docs/05 API 契约 + è¿½åŠ docs/08 § 二 æ¨¡å—æ¸…å•),Plan 完æˆåŽ**åœä¸‹** | |
| 40 | + - **第一段(首次è¿è¡Œï¼‰**:执行 `init`(ä¾èµ–检查 / git init / åˆå§‹åŒ– docs + CLAUDE.md / å¼•å¯¼å¡«æŠ€æœ¯æ ˆ + 需求索引 / ç”Ÿæˆ REQ å¡ç‰‡éª¨æž¶ï¼‰åŽ**åœä¸‹**,ç‰ä½ 审阅并补全 `docs/01-需求清å•/<module>/REQ-*.md`(第一个人工关å£ï¼šä¸šåŠ¡èŒƒå›´ï¼‰ | |
| 41 | + - **第二段(REQ å®¡é˜…å®Œé‡æ–°è¿è¡Œï¼‰**:执行 `design`ï¼ˆç”Ÿæˆ docs/04 架构规范 / scripts / .env.local / 从 REQ æ£å‘设计 `docs/03-æ•°æ®åº“设计文档.md`)åŽå†æ¬¡**åœä¸‹**,ç‰ä½ 审阅 docs/03 的表 / å—æ®µ / 索引 / 外键(第二个人工关å£ï¼šdatabase schema) | |
| 42 | + - **第三段(docs/03 å®¡é˜…å®Œé‡æ–°è¿è¡Œï¼‰**:执行 `build-db`ï¼ˆè§£æž docs/03 → ç”Ÿæˆ V1 migration → DROP+CREATE 本地 schema å¹¶ apply → ç”Ÿæˆ docs/05 API 契约 + è¿½åŠ docs/08 § 二 æ¨¡å—æ¸…å•),Plan 完æˆåŽ**åœä¸‹** | |
| 43 | 43 | |
| 44 | 44 | æ¯æ¬¡è¿è¡Œéƒ½ä¼šè‡ªåŠ¨æŽ¥ä¸Šæ¬¡åœä¸‹çš„地方继ç»ã€‚Plan 完æˆåŽ**ä¸ä¼šè‡ªåŠ¨è¿›å…¥ç¼–ç **,需è¦ä½ 手动è¿è¡Œ `/erp-workflow:coding-start`。 |
| 45 | 45 | |
| ... | ... | @@ -83,9 +83,9 @@ erp-workflow-plugin/ |
| 83 | 83 | │ └── fe-code-reviewer.md # å‰ç«¯ä¸“用 reviewer(feature-review å‰ç«¯é˜¶æ®µè°ƒç”¨ï¼Œ7 ç»´ review) |
| 84 | 84 | └── skills/ |
| 85 | 85 | ├── plan/ # 计划阶段:3 个一次性规划 skill |
| 86 | - │ ├── lite-init/ | |
| 87 | - │ ├── lite-design/ | |
| 88 | - │ └── lite-build-db/ | |
| 86 | + │ ├── init/ | |
| 87 | + │ ├── design/ | |
| 88 | + │ └── build-db/ | |
| 89 | 89 | ├── coding/ # ç¼–ç 阶段:5 个 skill(两阶段共用统一功能循环) |
| 90 | 90 | │ ├── phase-driver/ |
| 91 | 91 | │ ├── feature-spec/ |
| ... | ... | @@ -100,7 +100,7 @@ erp-workflow-plugin/ |
| 100 | 100 | |
| 101 | 101 | ## Hook æ¸…å• |
| 102 | 102 | |
| 103 | -lite 版本**æ— Hook**â€”â€”è·¨æ¨¡å—æ”¹åŠ¨ç•™ç—•å·²ç§»é™¤ã€‚è·¨æ¨¡å—æ”¹åŠ¨é¡»åœ¨ `milestone` å®ŒæˆæŠ¥å‘Šçš„ã€Œå离与å–èˆã€èŠ‚äººå·¥è®°å½•ã€‚ | |
| 103 | +本æ’ä»¶**æ— Hook**â€”â€”è·¨æ¨¡å—æ”¹åŠ¨ç•™ç—•å·²ç§»é™¤ã€‚è·¨æ¨¡å—æ”¹åŠ¨é¡»åœ¨ `milestone` å®ŒæˆæŠ¥å‘Šçš„ã€Œå离与å–èˆã€èŠ‚äººå·¥è®°å½•ã€‚ | |
| 104 | 104 | |
| 105 | 105 | ## Skill 清å•(11 个) |
| 106 | 106 | |
| ... | ... | @@ -116,9 +116,9 @@ lite 版本**æ— Hook**â€”â€”è·¨æ¨¡å—æ”¹åŠ¨ç•™ç—•å·²ç§»é™¤ã€‚è·¨æ¨¡å—æ”¹åЍ须 |
| 116 | 116 | |
| 117 | 117 | | Skill | 作用 | æµç¨‹ä¸è°è°ƒç”¨ | |
| 118 | 118 | |---|---|---| |
| 119 | -| `lite-init` | 计划 ①:ä¾èµ–检查 / git init / 创建 CLAUDE.md + docs/01/index.md + docs/04 § é›¶ + docs/08;引导填项目概述 / æŠ€æœ¯æ ˆ / 需求索引;按模å—ç”Ÿæˆ REQ å¡ç‰‡éª¨æž¶ï¼›**åœä¸‹**ç‰äººå·¥å®¡é˜… REQ | `plan-start` | | |
| 120 | -| `lite-design` | 计划 â‘¡ï¼šç”Ÿæˆ docs/04 架构规范大纲 + scripts(test.sh / setup-test-db.sh)+ .env.local + .gitignore åˆå¹¶ï¼›ä»Ž docs/01 REQ æ£å‘设计 `docs/03-æ•°æ®åº“设计文档.md`(schema SSoT);**åœä¸‹**ç‰äººå·¥å®¡é˜… docs/03 | `plan-start` | | |
| 121 | -| `lite-build-db` | 计划 â‘¢ï¼šè§£æž docs/03 → `sql/migrations/V1__initial_schema.sql`(5 ç»´åº¦æ ¡éªŒ DDL ↔ docs/03)→ DROP+CREATE 本地 schema å¹¶ apply V1ï¼›ç”Ÿæˆ docs/05 API 契约 + 回填 REQ ä¾èµ–接å£ï¼›è¿½åŠ æ¨¡å—æ¸…å•到 docs/08 § äºŒï¼›æ‰“å° Plan å®Œæˆæ¨ªå¹…å¹¶**åœä¸‹** | `plan-start` | | |
| 119 | +| `init` | 计划 ①:ä¾èµ–检查 / git init / 创建 CLAUDE.md + docs/01/index.md + docs/04 § é›¶ + docs/08;引导填项目概述 / æŠ€æœ¯æ ˆ / 需求索引;按模å—ç”Ÿæˆ REQ å¡ç‰‡éª¨æž¶ï¼›**åœä¸‹**ç‰äººå·¥å®¡é˜… REQ | `plan-start` | | |
| 120 | +| `design` | 计划 â‘¡ï¼šç”Ÿæˆ docs/04 架构规范大纲 + scripts(test.sh / setup-test-db.sh)+ .env.local + .gitignore åˆå¹¶ï¼›ä»Ž docs/01 REQ æ£å‘设计 `docs/03-æ•°æ®åº“设计文档.md`(schema SSoT);**åœä¸‹**ç‰äººå·¥å®¡é˜… docs/03 | `plan-start` | | |
| 121 | +| `build-db` | 计划 â‘¢ï¼šè§£æž docs/03 → `sql/migrations/V1__initial_schema.sql`(5 ç»´åº¦æ ¡éªŒ DDL ↔ docs/03)→ DROP+CREATE 本地 schema å¹¶ apply V1ï¼›ç”Ÿæˆ docs/05 API 契约 + 回填 REQ ä¾èµ–接å£ï¼›è¿½åŠ æ¨¡å—æ¸…å•到 docs/08 § äºŒï¼›æ‰“å° Plan å®Œæˆæ¨ªå¹…å¹¶**åœä¸‹** | `plan-start` | | |
| 122 | 122 | |
| 123 | 123 | ### ç¼–ç 阶段(`skills/coding/`) |
| 124 | 124 | |
| ... | ... | @@ -143,29 +143,29 @@ lite 版本**æ— Hook**â€”â€”è·¨æ¨¡å—æ”¹åŠ¨ç•™ç—•å·²ç§»é™¤ã€‚è·¨æ¨¡å—æ”¹åЍ须 |
| 143 | 143 | |
| 144 | 144 | | 所属 Skill | Banner 文件 | 用途 | |
| 145 | 145 | |---|---|---| |
| 146 | -| `plan-start` | `banners/flow-lite.txt` | 整体æµç¨‹å›¾ï¼ˆâ–¶ æ ‡åœ¨ plan-start åˆ†å‘æ¨ªå¹…å‰ï¼‰ | | |
| 147 | -| `coding-start` | `banners/flow-lite.txt` | 整体æµç¨‹å›¾ï¼ˆâ–¶ æ ‡åœ¨ coding-start åˆ†å‘æ¨ªå¹…å‰ï¼‰ | | |
| 146 | +| `plan-start` | `banners/flow.txt` | 整体æµç¨‹å›¾ï¼ˆâ–¶ æ ‡åœ¨ plan-start åˆ†å‘æ¨ªå¹…å‰ï¼‰ | | |
| 147 | +| `coding-start` | `banners/flow.txt` | 整体æµç¨‹å›¾ï¼ˆâ–¶ æ ‡åœ¨ coding-start åˆ†å‘æ¨ªå¹…å‰ï¼‰ | | |
| 148 | 148 | |
| 149 | 149 | ## Templates 清å•(22 ä»½æ¨¡æ¿æ–‡ä»¶ï¼Œ21 个ä¸åŒå——`commit-message-template.md` ç”± feature-tdd / feature-review 儿Œä¸€ä»½ï¼‰ |
| 150 | 150 | |
| 151 | 151 | | 所属 Skill | æ¨¡æ¿æ–‡ä»¶ | 用途 | |
| 152 | 152 | |---|---|---| |
| 153 | -| `lite-init` | `CLAUDE-template.md` | é¡¹ç›®æ ¹çš„ CLAUDE.md(4 æ¡é€šç”¨å‡†åˆ™ + ERP 专属约定 + skill 索引) | | |
| 154 | -| `lite-init` | `docs-01-index-template.md` | 需求清å•索引骨架 | | |
| 155 | -| `lite-init` | `docs-08-initial-template.md` | 工作æµè¿›åº¦æ–‡ä»¶éª¨æž¶ï¼ˆPlan â‘ â‘¡â‘¢ checkbox) | | |
| 156 | -| `lite-init` | `docs-04-stack-template.md` | docs/04 § é›¶ é»˜è®¤æŠ€æœ¯æ ˆæ€»è§ˆï¼ˆé›¶æ§½ä½ï¼Œcp å³å¯ï¼‰ | | |
| 157 | -| `lite-init` | `req-card-template.md` | å•å¼ REQ-XXX-NNN å¡ç‰‡éª¨æž¶ï¼ˆ6 个 `{{...}}` å ä½ç¬¦ç”± CC 替æ¢ï¼‰ | | |
| 158 | -| `lite-init` | `_module-template.md` | 模å—å目录的 `_module.md` 模å—头 | | |
| 159 | -| `lite-design` | `docs-04-skeleton-template.md` | docs/04 § 一+ ç¼–ç 规范大纲 | | |
| 160 | -| `lite-design` | `docs-03-header-template.md` | docs/03 æ•°æ®åº“设计头部 | | |
| 161 | -| `lite-design` | `docs-03-table-template.md` | docs/03 å•表å°èŠ‚æ¨¡æ¿ | | |
| 162 | -| `lite-design` | `scripts-setup-test-db-template.sh` | drop + create 空库脚本(0 æ§½ä½ï¼‰ | | |
| 163 | -| `lite-design` | `scripts-test-template.sh` | test.sh 骨架(多个命令槽ä½ï¼Œç”± lite-design æŒ‰æŠ€æœ¯æ ˆæŽ¨æ–填充) | | |
| 164 | -| `lite-design` | `env-local-template` | 6 å—æ®µå‡æ®æ¨¡æ¿ï¼ˆDB_* + JWT_SECRET) | | |
| 165 | -| `lite-design` | `gitignore-append-template` | æ’件推è忽略项(`.env.local`ã€`.tmp/`ã€æž„建产物ç‰ï¼‰ | | |
| 166 | -| `lite-build-db` | `docs-05-header-template.md` | docs/05 API 契约头部 | | |
| 167 | -| `lite-build-db` | `docs-05-endpoint-template.md` | docs/05 啿ޥå£å°èŠ‚ | | |
| 168 | -| `lite-build-db` | `docs-08-module-row-template.md` | docs/08 § 二 啿¨¡å— bullet 行 | | |
| 153 | +| `init` | `CLAUDE-template.md` | é¡¹ç›®æ ¹çš„ CLAUDE.md(4 æ¡é€šç”¨å‡†åˆ™ + ERP 专属约定 + skill 索引) | | |
| 154 | +| `init` | `docs-01-index-template.md` | 需求清å•索引骨架 | | |
| 155 | +| `init` | `docs-08-initial-template.md` | 工作æµè¿›åº¦æ–‡ä»¶éª¨æž¶ï¼ˆPlan â‘ â‘¡â‘¢ checkbox) | | |
| 156 | +| `init` | `docs-04-stack-template.md` | docs/04 § é›¶ é»˜è®¤æŠ€æœ¯æ ˆæ€»è§ˆï¼ˆé›¶æ§½ä½ï¼Œcp å³å¯ï¼‰ | | |
| 157 | +| `init` | `req-card-template.md` | å•å¼ REQ-XXX-NNN å¡ç‰‡éª¨æž¶ï¼ˆ6 个 `{{...}}` å ä½ç¬¦ç”± CC 替æ¢ï¼‰ | | |
| 158 | +| `init` | `_module-template.md` | 模å—å目录的 `_module.md` 模å—头 | | |
| 159 | +| `design` | `docs-04-skeleton-template.md` | docs/04 § 一+ ç¼–ç 规范大纲 | | |
| 160 | +| `design` | `docs-03-header-template.md` | docs/03 æ•°æ®åº“设计头部 | | |
| 161 | +| `design` | `docs-03-table-template.md` | docs/03 å•表å°èŠ‚æ¨¡æ¿ | | |
| 162 | +| `design` | `scripts-setup-test-db-template.sh` | drop + create 空库脚本(0 æ§½ä½ï¼‰ | | |
| 163 | +| `design` | `scripts-test-template.sh` | test.sh 骨架(多个命令槽ä½ï¼Œç”± design æŒ‰æŠ€æœ¯æ ˆæŽ¨æ–填充) | | |
| 164 | +| `design` | `env-local-template` | 6 å—æ®µå‡æ®æ¨¡æ¿ï¼ˆDB_* + JWT_SECRET) | | |
| 165 | +| `design` | `gitignore-append-template` | æ’件推è忽略项(`.env.local`ã€`.tmp/`ã€æž„建产物ç‰ï¼‰ | | |
| 166 | +| `build-db` | `docs-05-header-template.md` | docs/05 API 契约头部 | | |
| 167 | +| `build-db` | `docs-05-endpoint-template.md` | docs/05 啿ޥå£å°èŠ‚ | | |
| 168 | +| `build-db` | `docs-08-module-row-template.md` | docs/08 § 二 啿¨¡å— bullet 行 | | |
| 169 | 169 | | `feature-spec` | `feature-spec-plan-template.md` | åŠŸèƒ½è§„æ ¼ + 任务级计划åˆå¹¶æ–‡æ¡£ | |
| 170 | 170 | | `feature-review` | `feature-review-template.md` | 自审报告结构 | |
| 171 | 171 | | `feature-review` | `commit-message-template.md` | review fix commit ä¿¡æ¯ | |
| ... | ... | @@ -177,21 +177,21 @@ lite 版本**æ— Hook**â€”â€”è·¨æ¨¡å—æ”¹åŠ¨ç•™ç—•å·²ç§»é™¤ã€‚è·¨æ¨¡å—æ”¹åЍ须 |
| 177 | 177 | |
| 178 | 178 | | 所属 Skill | 脚本文件 | 用途 | |
| 179 | 179 | |---|---|---| |
| 180 | -| `lite-init` | `scripts/render.sh` | 渲染å•个 `_module.md` 或 `REQ-*.md`ï¼ˆæ›¿æ¢ 6 个å ä½ç¬¦ï¼‰ | | |
| 181 | -| `lite-design` | `scripts/merge-gitignore.sh` | åˆå¹¶ .gitignore(é€è¡Œåˆ¤é‡ï¼‰ | | |
| 180 | +| `init` | `scripts/render.sh` | 渲染å•个 `_module.md` 或 `REQ-*.md`ï¼ˆæ›¿æ¢ 6 个å ä½ç¬¦ï¼‰ | | |
| 181 | +| `design` | `scripts/merge-gitignore.sh` | åˆå¹¶ .gitignore(é€è¡Œåˆ¤é‡ï¼‰ | | |
| 182 | 182 | |
| 183 | 183 | **æµç¨‹ä½¿ç”¨æƒ…况**:所有模æ¿éƒ½è¢«å¯¹åº” skill çš„ `SKILL.md` 引用,没有å¤å„¿æ¨¡æ¿ã€‚ |
| 184 | 184 | |
| 185 | 185 | ## å‰ç½®ä¾èµ– |
| 186 | 186 | |
| 187 | -- **MySQL 8.x** å®žä¾‹å·²å°±ç»ªï¼ˆæŽ¨èæœ¬åœ° / `*.local` hostï¼›`lite-build-db` çš„å®‰å…¨å®ˆæŠ¤è¦æ±‚ host 在白åå•且 schema åå« `test`/`dev`/`local`,é¿å…è¯¯åˆ ç”Ÿäº§åº“ï¼‰ | |
| 188 | -- **`mysql` 命令行**:`lite-build-db` 验è¯è¿žæŽ¥ + 自动 `DROP+CREATE` schema åŽ apply V1ï¼›`scripts/setup-test-db.sh` 在测试闸门å‰åŽ drop+create 空库 | |
| 187 | +- **MySQL 8.x** å®žä¾‹å·²å°±ç»ªï¼ˆæŽ¨èæœ¬åœ° / `*.local` hostï¼›`build-db` çš„å®‰å…¨å®ˆæŠ¤è¦æ±‚ host 在白åå•且 schema åå« `test`/`dev`/`local`,é¿å…è¯¯åˆ ç”Ÿäº§åº“ï¼‰ | |
| 188 | +- **`mysql` 命令行**:`build-db` 验è¯è¿žæŽ¥ + 自动 `DROP+CREATE` schema åŽ apply V1ï¼›`scripts/setup-test-db.sh` 在测试闸门å‰åŽ drop+create 空库 | |
| 189 | 189 | - **Spring Boot + Flyway**(**必需**):pom.xml 声明 `flyway-core` + `flyway-mysql`ï¼›Spring å¯åŠ¨æ—¶è‡ªåŠ¨ apply `sql/migrations/V*.sql`。本æ’件生æˆçš„ `setup-test-db.sh` åªæ¸…库,schema 必须由 Flyway 应用 |
| 190 | -- **本地 git 仓库**(纯本地,**æ— éœ€è¿œç¨‹ / push / GitLab**):`lite-init` 执行 `git init`;编ç é˜¶æ®µæ¯æ¨¡å—ç”± `milestone` 本地 `git merge --no-ff` 进默认分支并 `git tag -a milestone/<id>`,完æˆä¿¡å·ç”± `git tag -l` 判定 | |
| 191 | -- **本地å¯è¿è¡Œ `mvn test` / `pnpm test`**:测试闸门 `scripts/test.sh` ç”± `lite-design` ç”Ÿæˆ | |
| 190 | +- **本地 git 仓库**(纯本地,**æ— éœ€è¿œç¨‹ / push / GitLab**):`init` 执行 `git init`;编ç é˜¶æ®µæ¯æ¨¡å—ç”± `milestone` 本地 `git merge --no-ff` 进默认分支并 `git tag -a milestone/<id>`,完æˆä¿¡å·ç”± `git tag -l` 判定 | |
| 191 | +- **本地å¯è¿è¡Œ `mvn test` / `pnpm test`**:测试闸门 `scripts/test.sh` ç”± `design` ç”Ÿæˆ | |
| 192 | 192 | |
| 193 | 193 | ## 设计原则 |
| 194 | 194 | |
| 195 | -å‚è§ `lite-init/templates/CLAUDE-template.md` 末尾的「通用工作准则ã€4 æ¡ï¼šâ‘ Think Before Coding â‘¡ Simplicity First â‘¢ Surgical Changes â‘£ Goal-Driven Execution。 | |
| 195 | +å‚è§ `init/templates/CLAUDE-template.md` 末尾的「通用工作准则ã€4 æ¡ï¼šâ‘ Think Before Coding â‘¡ Simplicity First â‘¢ Surgical Changes â‘£ Goal-Driven Execution。 | |
| 196 | 196 | |
| 197 | 197 | 最关键的 1 æ¡ï¼š"**æ‰€æœ‰æµ‹è¯•ä¸ŽéªŒè¯æ´¾å‘到全新åä¼šè¯æ‰§è¡Œï¼Œä¸»ä¼šè¯åªæŽ¥æ”¶ç»“构化结论**"——é¿å…主会è¯è¢«æµ‹è¯•è¾“å‡ºæ±¡æŸ“ï¼Œå¹¶è®©æµ‹è¯•ç»“æžœä½œä¸ºç‹¬ç«‹è¯æ®å˜æ¡£ã€‚ | ... | ... |
skills/coding/milestone/SKILL.md
| 1 | 1 | --- |
| 2 | 2 | name: milestone |
| 3 | -description: 单元(后端模块 / 前端阶段)全部 approve 后的收尾闸门:子会话跑测试 → 写精简完成报告 → 本地 merge 进默认分支 + 打 milestone/<id> tag + 回写 docs/08 → 自动回调 coding-start。phase 由当前分支推断。 | |
| 3 | +description: 单元(后端模块 / 前端阶段)全部 approve 后的收尾闸门:子会话跑测试 → 写完成报告 → 本地 merge 进默认分支 + 打 milestone/<id> tag + 回写 docs/08 → 自动回调 coding-start。phase 由当前分支推断。 | |
| 4 | 4 | user-invocable: false |
| 5 | 5 | allowed-tools: Read Write Edit Skill Agent Bash(git *) |
| 6 | 6 | --- |
| ... | ... | @@ -13,7 +13,7 @@ allowed-tools: Read Write Edit Skill Agent Bash(git *) |
| 13 | 13 | |
| 14 | 14 | 1. **推断 phase**(分支名 → backend / frontend) |
| 15 | 15 | 2. **测试闸门**(子会话跑测试,绿才能继续) |
| 16 | -3. **精简完成报告**(6 节,commit 到当前分支) | |
| 16 | +3. **完成报告**(6 节,commit 到当前分支) | |
| 17 | 17 | 4. **本地集成 + tag + 回写 docs/08 + 自动回调** |
| 18 | 18 | |
| 19 | 19 | ## 阶段 0:推断 phase 与关键变量 |
| ... | ... | @@ -76,7 +76,7 @@ allowed-tools: Read Write Edit Skill Agent Bash(git *) |
| 76 | 76 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 77 | 77 | ``` |
| 78 | 78 | |
| 79 | -## 阶段 2:精简完成报告 | |
| 79 | +## 阶段 2:完成报告 | |
| 80 | 80 | |
| 81 | 81 | > **核心约束:只收集 git 摘要,绝不把 diff 正文读入主会话上下文。** |
| 82 | 82 | |
| ... | ... | @@ -200,6 +200,6 @@ coding-start 重新检查后端 / 前端完成性(按 `里程碑:` 字段 + `g |
| 200 | 200 | |
| 201 | 201 | ## 参考 |
| 202 | 202 | |
| 203 | -- `${CLAUDE_SKILL_DIR}/templates/milestone-report-template.md`(6 节精简报告) | |
| 203 | +- `${CLAUDE_SKILL_DIR}/templates/milestone-report-template.md`(6 节完成报告) | |
| 204 | 204 | - 上游:`phase-driver`(后端所有 REQ / 前端所有 FE 全部 approve 后派发到此) |
| 205 | 205 | - 下游:`coding-start`(自治回调,由其路由下一阶段) | ... | ... |
skills/crosscut/coding-start/SKILL.md
| ... | ... | @@ -13,10 +13,10 @@ allowed-tools: Skill Read Glob Grep Bash(cat *) Bash(git tag *) |
| 13 | 13 | |
| 14 | 14 | ### 步骤 0:打印流程图 |
| 15 | 15 | |
| 16 | -**第一件事**:打印 lite 整体流程图。 | |
| 16 | +**第一件事**:打印 整体流程图。 | |
| 17 | 17 | |
| 18 | 18 | ```bash |
| 19 | -cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/coding-start/banners/flow-lite.txt" | |
| 19 | +cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/coding-start/banners/flow.txt" | |
| 20 | 20 | ``` |
| 21 | 21 | |
| 22 | 22 | ### 步骤 1:确认 docs/08 存在 |
| ... | ... | @@ -26,7 +26,7 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/coding-start/banners/flow-lite.txt" |
| 26 | 26 | |
| 27 | 27 | ### 步骤 2:计划完成性检查 |
| 28 | 28 | |
| 29 | -读取 `docs/08-模块任务管理.md § 一`,判断 ①②③ 三个 lite 计划阶段是否**全部勾选**(含各阶段子项)。 | |
| 29 | +读取 `docs/08-模块任务管理.md § 一`,判断 ①②③ 三个 计划阶段是否**全部勾选**(含各阶段子项)。 | |
| 30 | 30 | |
| 31 | 31 | - 任一未勾选 → 提示用户先运行 `/erp-workflow:plan-start` 完成计划阶段,并停下。 |
| 32 | 32 | - 全部勾选 → 进入步骤 3。 | ... | ... |
skills/crosscut/coding-start/banners/flow-lite.txt renamed to skills/crosscut/coding-start/banners/flow.txt
| 1 | 1 | ┌────────────────────────────────────────────────────────┐ |
| 2 | -│ erp-workflow-lite │ | |
| 2 | +│ erp-workflow │ | |
| 3 | 3 | │ │ |
| 4 | 4 | │ 计划(/plan-start,一次性,2 个审阅断点) │ |
| 5 | -│ ① lite-init 初始化 + REQ 卡片 ⏸ 审阅 REQ │ | |
| 6 | -│ ② lite-design 脚手架 + docs/03 ⏸ 审阅 schema │ | |
| 7 | -│ ③ lite-build-db V1+apply + docs/05/08 │ | |
| 5 | +│ ① init 初始化 + REQ 卡片 ⏸ 审阅 REQ │ | |
| 6 | +│ ② design 脚手架 + docs/03 ⏸ 审阅 schema │ | |
| 7 | +│ ③ build-db V1+apply + docs/05/08 │ | |
| 8 | 8 | │ │ |
| 9 | 9 | │ 编码(/coding-start,统一功能循环) │ |
| 10 | 10 | │ 后端模块循环 ┐ │ | ... | ... |
skills/crosscut/plan-start/SKILL.md
| 1 | 1 | --- |
| 2 | 2 | name: plan-start |
| 3 | -description: 计划阶段(Plan)入口与分发器。根据 docs/08 § 一 的 checkbox 状态派发到 ①②③ 对应的 lite 计划 skill。三阶段全部完成后打印提示让用户运行 /erp-workflow:coding-start 进入编码阶段。 | |
| 3 | +description: 计划阶段(Plan)入口与分发器。根据 docs/08 § 一 的 checkbox 状态派发到 ①②③ 对应的 计划 skill。三阶段全部完成后打印提示让用户运行 /erp-workflow:coding-start 进入编码阶段。 | |
| 4 | 4 | user-invocable: true |
| 5 | 5 | allowed-tools: Skill Read Glob Grep Bash(cat *) |
| 6 | 6 | --- |
| ... | ... | @@ -11,10 +11,10 @@ allowed-tools: Skill Read Glob Grep Bash(cat *) |
| 11 | 11 | |
| 12 | 12 | ## 步骤 0:打印流程图 |
| 13 | 13 | |
| 14 | -**第一件事**:打印 lite 整体流程图。 | |
| 14 | +**第一件事**:打印 整体流程图。 | |
| 15 | 15 | |
| 16 | 16 | ```bash |
| 17 | -cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-lite.txt" | |
| 17 | +cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow.txt" | |
| 18 | 18 | ``` |
| 19 | 19 | |
| 20 | 20 | ## 步骤 1:读取 docs/08 + 决定分发目标 |
| ... | ... | @@ -22,15 +22,15 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-lite.txt" |
| 22 | 22 | docs/08 § 一 是**计划阶段进度追踪**(①②③ 的 checkbox)。 |
| 23 | 23 | |
| 24 | 24 | 用 `Glob` 检查 `docs/08-模块任务管理.md` 是否存在: |
| 25 | -- 不存在 → 后续 = `lite-init`(对应阶段 ①) | |
| 25 | +- 不存在 → 后续 = `init`(对应阶段 ①) | |
| 26 | 26 | |
| 27 | -若存在,读取 `docs/08-模块任务管理.md § 一`,找到**第一个未勾选(`- [ ]`)的 lite 计划阶段**: | |
| 27 | +若存在,读取 `docs/08-模块任务管理.md § 一`,找到**第一个未勾选(`- [ ]`)的 计划阶段**: | |
| 28 | 28 | |
| 29 | 29 | | 进度 | 后续 | |
| 30 | 30 | |---|---| |
| 31 | -| 无 docs/08,或 ① 未勾选 | `lite-init` | | |
| 32 | -| ① 已勾、② 未勾选 | `lite-design` | | |
| 33 | -| ①② 已勾、③ 未勾选 | `lite-build-db` | | |
| 31 | +| 无 docs/08,或 ① 未勾选 | `init` | | |
| 32 | +| ① 已勾、② 未勾选 | `design` | | |
| 33 | +| ①② 已勾、③ 未勾选 | `build-db` | | |
| 34 | 34 | | ①②③ 全部勾选 | **无分发**(计划阶段结束) | |
| 35 | 35 | |
| 36 | 36 | ## 步骤 2:分发通知 + 调用目标 skill |
| ... | ... | @@ -68,12 +68,12 @@ docs/08 § 一 是**计划阶段进度追踪**(①②③ 的 checkbox)。 |
| 68 | 68 | ``` |
| 69 | 69 | |
| 70 | 70 | 立即用 `Skill` 工具调用 `后续`: |
| 71 | -- ① → `Skill(lite-init)` | |
| 72 | -- ② → `Skill(lite-design)` | |
| 73 | -- ③ → `Skill(lite-build-db)` | |
| 71 | +- ① → `Skill(init)` | |
| 72 | +- ② → `Skill(design)` | |
| 73 | +- ③ → `Skill(build-db)` | |
| 74 | 74 | |
| 75 | 75 | ## 参考 |
| 76 | 76 | |
| 77 | 77 | - `docs/08-模块任务管理.md § 一`(计划阶段进度追踪,①②③ checkbox) |
| 78 | 78 | - `CLAUDE.md`(项目指令) |
| 79 | -- 后续 skills(通过 `Skill` 工具按名称调用):`lite-init`、`lite-design`、`lite-build-db` | |
| 79 | +- 后续 skills(通过 `Skill` 工具按名称调用):`init`、`design`、`build-db` | ... | ... |
skills/crosscut/plan-start/banners/flow-lite.txt renamed to skills/crosscut/plan-start/banners/flow.txt
| 1 | 1 | ┌────────────────────────────────────────────────────────┐ |
| 2 | -│ erp-workflow-lite │ | |
| 2 | +│ erp-workflow │ | |
| 3 | 3 | │ │ |
| 4 | 4 | │ 计划(/plan-start,一次性,2 个审阅断点) │ |
| 5 | -│ ① lite-init 初始化 + REQ 卡片 ⏸ 审阅 REQ │ | |
| 6 | -│ ② lite-design 脚手架 + docs/03 ⏸ 审阅 schema │ | |
| 7 | -│ ③ lite-build-db V1+apply + docs/05/08 │ | |
| 5 | +│ ① init 初始化 + REQ 卡片 ⏸ 审阅 REQ │ | |
| 6 | +│ ② design 脚手架 + docs/03 ⏸ 审阅 schema │ | |
| 7 | +│ ③ build-db V1+apply + docs/05/08 │ | |
| 8 | 8 | │ │ |
| 9 | 9 | │ 编码(/coding-start,统一功能循环) │ |
| 10 | 10 | │ 后端模块循环 ┐ │ | ... | ... |
skills/plan/lite-build-db/SKILL.md renamed to skills/plan/build-db/SKILL.md
| 1 | 1 | --- |
| 2 | -name: lite-build-db | |
| 2 | +name: build-db | |
| 3 | 3 | description: 计划第 3 段——解析 docs/03 → V1 migration + validate.sh 校验 + apply 到本地 MySQL;生成 docs/05 API 契约 + 回填 REQ 依赖接口;计算模块/REQ 依赖顺序写入 docs/08 § 二(排序权威);最终占位符扫描后停下(计划完成)。 |
| 4 | 4 | user-invocable: false |
| 5 | 5 | allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(mkdir *) Bash(mysql *) Bash(set *) Bash(. .env.local) Bash(grep *) Bash(bash *) Bash(./scripts/setup-test-db.sh) Bash(cat *) Bash(cp *) |
| ... | ... | @@ -7,7 +7,7 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(mkdir *) Bas |
| 7 | 7 | |
| 8 | 8 | **所有输出必须使用中文。** |
| 9 | 9 | |
| 10 | -# lite-build-db | |
| 10 | +# build-db | |
| 11 | 11 | |
| 12 | 12 | ## 执行步骤 |
| 13 | 13 | |
| ... | ... | @@ -16,10 +16,10 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(mkdir *) Bas |
| 16 | 16 | 用 `Bash` 执行以下命令(文件不存在时静默忽略,不报错): |
| 17 | 17 | |
| 18 | 18 | ```bash |
| 19 | -cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-lite.txt" 2>/dev/null || true | |
| 19 | +cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow.txt" 2>/dev/null || true | |
| 20 | 20 | ``` |
| 21 | 21 | |
| 22 | -打印横幅:`▶ 计划阶段 ③ — lite-build-db`。 | |
| 22 | +打印横幅:`▶ 计划阶段 ③ — build-db`。 | |
| 23 | 23 | |
| 24 | 24 | ### A. DDL 生成(不依赖数据库连接) |
| 25 | 25 | |
| ... | ... | @@ -46,7 +46,7 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-lite.txt" 2>/ |
| 46 | 46 | 1. **头部注释**(6 行 SQL 注释): |
| 47 | 47 | - `-- Flyway migration V1 — initial schema for <project_name>`(从 `CLAUDE.md § 🎯 项目概述` 读) |
| 48 | 48 | - `-- Generated: <YYYY-MM-DDTHH:MM:SSZ>`(UTC ISO 8601 时间戳) |
| 49 | - - `-- Source: 由计划 ③ lite-build-db 从 docs/03-数据库设计文档.md 翻译生成(schema SSoT 是 docs/03)` | |
| 49 | + - `-- Source: 由计划 ③ build-db 从 docs/03-数据库设计文档.md 翻译生成(schema SSoT 是 docs/03)` | |
| 50 | 50 | - `-- This is the FIRST migration; subsequent schema changes must be written as new files sql/migrations/V2__<desc>.sql, V3__... etc.` |
| 51 | 51 | - `-- Apply: Flyway runs this automatically at Spring Boot startup.` |
| 52 | 52 | - `-- Do not hand-edit this file after it is committed; write a new migration instead.` |
| ... | ... | @@ -78,7 +78,7 @@ bash "${CLAUDE_SKILL_DIR}/scripts/validate.sh" \ |
| 78 | 78 | |
| 79 | 79 | #### B.1 检查 .env.local 凭据 |
| 80 | 80 | |
| 81 | -用 `Glob` 检查 `.env.local` 是否存在;不存在 → 提示用户重新运行计划 ② `lite-design` 重建并停下。 | |
| 81 | +用 `Glob` 检查 `.env.local` 是否存在;不存在 → 提示用户重新运行计划 ② `design` 重建并停下。 | |
| 82 | 82 | |
| 83 | 83 | 用 `Bash` 加载并校验 5 个必填字段非空: |
| 84 | 84 | |
| ... | ... | @@ -147,10 +147,10 @@ EXPECTED=$(grep -c '^## `' docs/03-数据库设计文档.md) |
| 147 | 147 | |
| 148 | 148 | #### D.2 回填模块头 + REQ 卡片的 TBD 字段 |
| 149 | 149 | |
| 150 | -1. 在 `docs/01-需求清单/*/_module.md`(模块头)和 `docs/01-需求清单/*/REQ-*.md`(REQ 卡片)中搜索 `TBD(lite-build-db 自动补)` 并回填。**不动** `TBD(lite-design 自动补)`(应已由 lite-design 回填完毕)。 | |
| 150 | +1. 在 `docs/01-需求清单/*/_module.md`(模块头)和 `docs/01-需求清单/*/REQ-*.md`(REQ 卡片)中搜索 `TBD(build-db 自动补)` 并回填。**不动** `TBD(design 自动补)`(应已由 design 回填完毕)。 | |
| 151 | 151 | - `_module.md` 的 `依赖模块` 字段:填入该模块所依赖的其他模块 ID(逗号分隔,无则填 `—`) |
| 152 | 152 | - `REQ-*.md` 的 `依赖接口` 字段:填入该 REQ 依赖的接口路径(逗号分隔,无则填 `—`) |
| 153 | -2. 打印回填统计:`lite-build-db 回填 <M> 处模块"依赖模块" + <N> 处 REQ"依赖接口"`。 | |
| 153 | +2. 打印回填统计:`build-db 回填 <M> 处模块"依赖模块" + <N> 处 REQ"依赖接口"`。 | |
| 154 | 154 | |
| 155 | 155 | 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选: |
| 156 | 156 | - ` - [ ] docs/05 API 契约已生成 + 回填 REQ 依赖接口` |
| ... | ... | @@ -205,7 +205,7 @@ EXPECTED=$(grep -c '^## `' docs/03-数据库设计文档.md) |
| 205 | 205 | |
| 206 | 206 | #### F.2 最终占位符扫描 |
| 207 | 207 | |
| 208 | -a. **`TBD` → 自动补齐**:Grep 搜索 `TBD(lite-design 自动补)` 和 `TBD(lite-build-db 自动补)`。有命中则就地补填(lite-design 残留 → 查 docs/03 填 `依赖表`;lite-build-db 残留 → 查 docs/05 按 REQ-ID 填 `依赖接口`),再 Grep 确认 0 命中;仍残留报错停下。 | |
| 208 | +a. **`TBD` → 自动补齐**:Grep 搜索 `TBD(design 自动补)` 和 `TBD(build-db 自动补)`。有命中则就地补填(design 残留 → 查 docs/03 填 `依赖表`;build-db 残留 → 查 docs/05 按 REQ-ID 填 `依赖接口`),再 Grep 确认 0 命中;仍残留报错停下。 | |
| 209 | 209 | |
| 210 | 210 | b. **`【人工填写:...】` → QA 循环等用户补**: |
| 211 | 211 | |
| ... | ... | @@ -218,13 +218,13 @@ b. **`【人工填写:...】` → QA 循环等用户补**: |
| 218 | 218 | #### F.3 勾选 § 一 ③ 顶层 + 打印计划完成横幅 |
| 219 | 219 | |
| 220 | 220 | 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选 ③ 顶层: |
| 221 | -- `- [ ] 计划 ③ DB 初始化 + 下游文档 — lite-build-db` | |
| 221 | +- `- [ ] 计划 ③ DB 初始化 + 下游文档 — build-db` | |
| 222 | 222 | |
| 223 | 223 | 打印计划阶段终止横幅并**停下**(不自动进入 coding 阶段): |
| 224 | 224 | |
| 225 | 225 | ``` |
| 226 | 226 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 227 | - [lite-build-db] ✅ 计划阶段(①②③)全部完成 | |
| 227 | + [build-db] ✅ 计划阶段(①②③)全部完成 | |
| 228 | 228 | |
| 229 | 229 | 所有规划文档已就绪,docs/08 § 一 全部勾选。 |
| 230 | 230 | ... | ... |
skills/plan/lite-build-db/scripts/validate.sh renamed to skills/plan/build-db/scripts/validate.sh
skills/plan/lite-build-db/templates/docs-05-endpoint-template.md renamed to skills/plan/build-db/templates/docs-05-endpoint-template.md
skills/plan/lite-build-db/templates/docs-05-header-template.md renamed to skills/plan/build-db/templates/docs-05-header-template.md
skills/plan/lite-build-db/templates/docs-08-module-row-template.md renamed to skills/plan/build-db/templates/docs-08-module-row-template.md
skills/plan/lite-design/SKILL.md renamed to skills/plan/design/SKILL.md
| 1 | 1 | --- |
| 2 | -name: lite-design | |
| 2 | +name: design | |
| 3 | 3 | description: 计划第 2 段——生成架构文档(docs/04 § 一+,含前端 Design Tokens + 环境配置)+ 工具脚本 + .env.local + sql/migrations/,然后从 REQ 正向设计 docs/03 并回填 REQ 依赖表,停下等人工审阅 docs/03。 |
| 4 | 4 | user-invocable: false |
| 5 | 5 | allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(mkdir *) Bash(cp *) Bash(cat *) Bash(bash *) |
| ... | ... | @@ -7,7 +7,7 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(mkdir *) Bas |
| 7 | 7 | |
| 8 | 8 | **所有输出必须使用中文。** |
| 9 | 9 | |
| 10 | -# lite-design | |
| 10 | +# design | |
| 11 | 11 | |
| 12 | 12 | ## 执行步骤 |
| 13 | 13 | |
| ... | ... | @@ -16,10 +16,10 @@ allowed-tools: Read Write Edit Glob Grep Skill AskUserQuestion Bash(mkdir *) Bas |
| 16 | 16 | 用 `Bash` 执行以下命令(文件不存在时静默忽略,不报错): |
| 17 | 17 | |
| 18 | 18 | ```bash |
| 19 | -cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-lite.txt" 2>/dev/null || true | |
| 19 | +cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow.txt" 2>/dev/null || true | |
| 20 | 20 | ``` |
| 21 | 21 | |
| 22 | -打印横幅:`▶ 计划阶段 ② — lite-design`。 | |
| 22 | +打印横幅:`▶ 计划阶段 ② — design`。 | |
| 23 | 23 | |
| 24 | 24 | ### A. 读取锁定的输入 |
| 25 | 25 | |
| ... | ... | @@ -32,9 +32,9 @@ cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-lite.txt" 2>/ |
| 32 | 32 | |
| 33 | 33 | ### B. 生成 docs/04 § 一+(保留 § 零 不覆盖) |
| 34 | 34 | |
| 35 | -docs/04 已由 lite-init 写入 § 零。本步骤追加 § 一 ~ 五。 | |
| 35 | +docs/04 已由 init 写入 § 零。本步骤追加 § 一 ~ 五。 | |
| 36 | 36 | |
| 37 | -lite 版的 docs/04 承担三类内容(不再生成独立的前端规范文件或环境配置文件): | |
| 37 | +docs/04 承担三类内容(不再生成独立的前端规范文件或环境配置文件): | |
| 38 | 38 | - § 一~三:后端/前端/共同编码规范 |
| 39 | 39 | - § 四:前端 Design Tokens + 交互约定 |
| 40 | 40 | - § 五:环境配置 |
| ... | ... | @@ -58,7 +58,7 @@ cp "${CLAUDE_SKILL_DIR}/templates/env-local-template" .env.local |
| 58 | 58 | cp "${CLAUDE_SKILL_DIR}/templates/scripts-setup-test-db-template.sh" scripts/setup-test-db.sh |
| 59 | 59 | ``` |
| 60 | 60 | |
| 61 | -注意:lite 版不生成 `src/styles/tokens.css`(前端 token 骨架由前端阶段处理)。 | |
| 61 | +注意:本阶段不生成 `src/styles/tokens.css`(前端 token 骨架由前端阶段处理)。 | |
| 62 | 62 | |
| 63 | 63 | #### C.2 渲染 scripts/test.sh |
| 64 | 64 | |
| ... | ... | @@ -116,21 +116,21 @@ bash "${CLAUDE_SKILL_DIR}/scripts/merge-gitignore.sh" "${CLAUDE_SKILL_DIR}/templ |
| 116 | 116 | ### F. 回填模块头 + REQ 卡片的 TBD 字段 |
| 117 | 117 | |
| 118 | 118 | 1. 列出 `docs/01-需求清单/*/_module.md`(模块头)和 `docs/01-需求清单/*/REQ-*.md`(REQ 卡片)。 |
| 119 | -2. 在这些文件中搜索 `TBD(lite-design 自动补)` 并回填为实际表名。**不动** `TBD(lite-build-db 自动补)`。 | |
| 119 | +2. 在这些文件中搜索 `TBD(design 自动补)` 并回填为实际表名。**不动** `TBD(build-db 自动补)`。 | |
| 120 | 120 | - `_module.md` 的 `涉及表` 字段:填入该模块涉及的所有表名(逗号分隔) |
| 121 | 121 | - `REQ-*.md` 的 `依赖表` 字段:填入该 REQ 操作的表名(逗号分隔) |
| 122 | -3. 打印回填统计:`lite-design 回填 <M> 处模块"涉及表" + <N> 处 REQ"依赖表"`。 | |
| 122 | +3. 打印回填统计:`design 回填 <M> 处模块"涉及表" + <N> 处 REQ"依赖表"`。 | |
| 123 | 123 | |
| 124 | 124 | ### G. 勾选 § 一 ② 顶层 + 停下等人工审阅 |
| 125 | 125 | |
| 126 | 126 | 1. 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选 ② 顶层: |
| 127 | - - `- [ ] 计划 ② 脚手架 + 数据库设计 — lite-design` | |
| 127 | + - `- [ ] 计划 ② 脚手架 + 数据库设计 — design` | |
| 128 | 128 | |
| 129 | 129 | 2. 打印停下横幅并**停下**: |
| 130 | 130 | |
| 131 | 131 | ``` |
| 132 | 132 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 133 | - [lite-design] ✅ 计划 ② 完成 | |
| 133 | + [design] ✅ 计划 ② 完成 | |
| 134 | 134 | |
| 135 | 135 | 产出: |
| 136 | 136 | ✓ docs/04-技术规范.md(§ 一+ | § 四 Design Tokens | § 五 环境配置) | ... | ... |
skills/plan/lite-design/scripts/merge-gitignore.sh renamed to skills/plan/design/scripts/merge-gitignore.sh
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | # - 若已存在 → 逐行判重,只追加模板里缺失的规则行(跳过注释/空行) |
| 6 | 6 | # |
| 7 | 7 | # 用法:merge-gitignore.sh <template_path> [<target_gitignore_path>] |
| 8 | -# template_path 模板文件绝对路径(由 lite-design skill 传入) | |
| 8 | +# template_path 模板文件绝对路径(由 design skill 传入) | |
| 9 | 9 | # target_gitignore_path 目标 .gitignore 路径,默认为当前工作目录下的 .gitignore |
| 10 | 10 | # |
| 11 | 11 | # 判重:grep -xF 整行精确匹配 + 字面字符串(非正则),避免 .env 误匹配 .env.local, | ... | ... |
skills/plan/lite-design/templates/docs-03-header-template.md renamed to skills/plan/design/templates/docs-03-header-template.md
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | - **Schema**: `{{schema_name}}` |
| 4 | 4 | - **Migration 清单**: `sql/migrations/V*.sql`(由 Flyway 顺序 apply) |
| 5 | -- **生成方式**: 由计划 ② `lite-design` 基于 `docs/01-需求清单/<module>/REQ-*.md` REQ 卡片正向设计生成(schema SSoT)。 | |
| 5 | +- **生成方式**: 由计划 ② `design` 基于 `docs/01-需求清单/<module>/REQ-*.md` REQ 卡片正向设计生成(schema SSoT)。 | |
| 6 | 6 | |
| 7 | 7 | ## 项目标准列约定 |
| 8 | 8 | ... | ... |
skills/plan/lite-design/templates/docs-03-table-template.md renamed to skills/plan/design/templates/docs-03-table-template.md
skills/plan/lite-design/templates/docs-04-skeleton-template.md renamed to skills/plan/design/templates/docs-04-skeleton-template.md
| 1 | 1 | <!-- |
| 2 | -本文件是 docs/04-技术规范.md 的 § 一+ 大纲(lite 版)。 | |
| 3 | -lite-design 读取 docs/04 § 零(技术栈表)和 docs/01-需求清单/index.md(模块索引), | |
| 2 | +本文件是 docs/04-技术规范.md 的 § 一+ 大纲。 | |
| 3 | +design 读取 docs/04 § 零(技术栈表)和 docs/01-需求清单/index.md(模块索引), | |
| 4 | 4 | 按下述大纲生成本项目专属的规范内容。LLM 不要原样拷贝提示文字,只保留 section 标题。 |
| 5 | -lite 版将前端 Design Tokens + 环境配置内容折叠到本文件 § 四 + § 五, | |
| 5 | +将前端 Design Tokens + 环境配置内容折叠到本文件 § 四 + § 五, | |
| 6 | 6 | 不再生成独立的前端规范文件或环境配置文件。 |
| 7 | 7 | --> |
| 8 | 8 | |
| 9 | 9 | ## 一、后端规范 |
| 10 | 10 | |
| 11 | 11 | ### 1.1 规则 |
| 12 | -<!-- 后端通用约定:保留下方占位符不要代填,由人工在 lite-design § E 填写;每条一个 bullet,按需复制本行新增更多。 --> | |
| 12 | +<!-- 后端通用约定:保留下方占位符不要代填,由人工在 design § E 填写;每条一个 bullet,按需复制本行新增更多。 --> | |
| 13 | 13 | - 【人工填写:一条后端通用约定,按需复制本行新增更多;无则填「无」】 |
| 14 | 14 | |
| 15 | 15 | ### 1.2 分层结构 |
| ... | ... | @@ -47,7 +47,7 @@ lite 版将前端 Design Tokens + 环境配置内容折叠到本文件 § 四 + |
| 47 | 47 | ### 2.5 样式与主题 |
| 48 | 48 | <!-- 基于 § 零 UI 库给出 CSS 变量约定: |
| 49 | 49 | - 命名格式 `--color-<scope>-<role>-<state>`(scope=form/table-row/...,role=bg/fg/border,state=edit/readonly/hover/selected) |
| 50 | - - 文件位置 `src/styles/tokens.css`(前端阶段处理,lite-design 不生成);色值由 § 四锁定后在前端阶段填入 | |
| 50 | + - 文件位置 `src/styles/tokens.css`(前端阶段处理,design 不生成);色值由 § 四锁定后在前端阶段填入 | |
| 51 | 51 | - 组件样式中只用 var(--color-xxx),禁止硬编码 hex/rgba |
| 52 | 52 | - 与 UI 库主题对接(如 Ant Design ConfigProvider.theme.token)的映射方式 |
| 53 | 53 | 具体 token 表见 § 四。 --> | ... | ... |
skills/plan/lite-design/templates/env-local-template renamed to skills/plan/design/templates/env-local-template
skills/plan/lite-design/templates/gitignore-append-template renamed to skills/plan/design/templates/gitignore-append-template
skills/plan/lite-design/templates/scripts-setup-test-db-template.sh renamed to skills/plan/design/templates/scripts-setup-test-db-template.sh
skills/plan/lite-design/templates/scripts-test-template.sh renamed to skills/plan/design/templates/scripts-test-template.sh
skills/plan/lite-init/SKILL.md renamed to skills/plan/init/SKILL.md
| 1 | 1 | --- |
| 2 | -name: lite-init | |
| 2 | +name: init | |
| 3 | 3 | description: 计划第 1 段——项目初始化 + 范围锁定。复制 CLAUDE.md/docs(01/04/08) 模板、依赖检查、git init,引导项目概述+技术栈+需求索引,生成 REQ 卡片骨架,停下等人工审阅 REQ。 |
| 4 | 4 | user-invocable: false |
| 5 | 5 | allowed-tools: Glob Read Edit Grep Skill AskUserQuestion Bash(mkdir *) Bash(cp *) Bash(sed *) Bash(bash *) Bash(cat *) Bash(git init) Bash(command -v *) Bash(uname *) Bash(brew *) Bash(apt *) Bash(apt-get *) Bash(yum *) Bash(apk *) Bash(export PATH=*) Bash(echo *) |
| ... | ... | @@ -13,19 +13,19 @@ allowed-tools: Glob Read Edit Grep Skill AskUserQuestion Bash(mkdir *) Bash(cp * |
| 13 | 13 | |
| 14 | 14 | ### 步骤 0:打印计划流程图 |
| 15 | 15 | |
| 16 | -用 `Bash` 向用户展示 lite 流程图(▶ 位于"计划 ①"): | |
| 16 | +用 `Bash` 向用户展示整体流程图(▶ 位于"计划 ①"): | |
| 17 | 17 | |
| 18 | 18 | ```bash |
| 19 | -cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow-lite.txt" 2>/dev/null || true | |
| 19 | +cat "${CLAUDE_PLUGIN_ROOT}/skills/crosscut/plan-start/banners/flow.txt" 2>/dev/null || true | |
| 20 | 20 | ``` |
| 21 | 21 | |
| 22 | -> 注:`flow-lite.txt` 由 Task 7 创建,当前若文件不存在,命令静默忽略,不影响后续执行。 | |
| 22 | +> 注:`flow.txt` 由 Task 7 创建,当前若文件不存在,命令静默忽略,不影响后续执行。 | |
| 23 | 23 | |
| 24 | 24 | 打印分发横幅: |
| 25 | 25 | |
| 26 | 26 | ``` |
| 27 | 27 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 28 | - [lite-init] 计划 ① 初始化 + 范围锁定 | |
| 28 | + [init] 计划 ① 初始化 + 范围锁定 | |
| 29 | 29 | ▶ 当前位置:计划 ① / 共 ③ |
| 30 | 30 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 31 | 31 | ``` |
| ... | ... | @@ -54,7 +54,7 @@ cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块 |
| 54 | 54 | 全部通过后打印单行汇总再进入步骤 C: |
| 55 | 55 | |
| 56 | 56 | ``` |
| 57 | -[lite-init] 依赖检查: git ✓ mysql ✓ | |
| 57 | +[init] 依赖检查: git ✓ mysql ✓ | |
| 58 | 58 | ``` |
| 59 | 59 | |
| 60 | 60 | 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选: |
| ... | ... | @@ -73,7 +73,7 @@ cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块 |
| 73 | 73 | |
| 74 | 74 | ``` |
| 75 | 75 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 76 | - [lite-init] 项目初始化完成 | |
| 76 | + [init] 项目初始化完成 | |
| 77 | 77 | |
| 78 | 78 | 已创建: |
| 79 | 79 | ✓ CLAUDE.md(从插件模板复制) |
| ... | ... | @@ -92,7 +92,7 @@ cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块 |
| 92 | 92 | |
| 93 | 93 | ``` |
| 94 | 94 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 95 | - [lite-init] 请填写项目概述 | |
| 95 | + [init] 请填写项目概述 | |
| 96 | 96 | |
| 97 | 97 | 📄 文件位置: ./CLAUDE.md |
| 98 | 98 | 📌 编辑位置: § 🎯 项目概述 |
| ... | ... | @@ -122,7 +122,7 @@ cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块 |
| 122 | 122 | |
| 123 | 123 | ``` |
| 124 | 124 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 125 | - [lite-init] 技术栈已保存 | |
| 125 | + [init] 技术栈已保存 | |
| 126 | 126 | |
| 127 | 127 | 📄 文件位置: ./docs/04-技术规范.md(由模板生成) |
| 128 | 128 | 📌 编辑位置: § 零、技术栈总览 |
| ... | ... | @@ -151,7 +151,7 @@ cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块 |
| 151 | 151 | |
| 152 | 152 | ``` |
| 153 | 153 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 154 | - [lite-init] 请填写需求清单模块索引 | |
| 154 | + [init] 请填写需求清单模块索引 | |
| 155 | 155 | |
| 156 | 156 | 📄 文件位置: ./docs/01-需求清单/index.md |
| 157 | 157 | 📌 编辑位置: § 模块索引(表格) |
| ... | ... | @@ -192,13 +192,13 @@ cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块 |
| 192 | 192 | |
| 193 | 193 | 4. 用 `Edit` 在 `docs/08-模块任务管理.md` 勾选(计划 ① 子项 + ① 顶层): |
| 194 | 194 | - ` - [ ] REQ 卡片骨架已生成(docs/01-需求清单/<module>/REQ-*.md)` |
| 195 | - - `- [ ] 计划 ① 初始化 + 范围锁定 — lite-init` | |
| 195 | + - `- [ ] 计划 ① 初始化 + 范围锁定 — init` | |
| 196 | 196 | |
| 197 | -5. 打印停下横幅并**停止**,不自动派发 lite-design: | |
| 197 | +5. 打印停下横幅并**停止**,不自动派发 design: | |
| 198 | 198 | |
| 199 | 199 | ``` |
| 200 | 200 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 201 | - [lite-init] ✅ 计划 ① 完成 | |
| 201 | + [init] ✅ 计划 ① 完成 | |
| 202 | 202 | |
| 203 | 203 | 产出: |
| 204 | 204 | ✓ CLAUDE.md § 🎯 项目概述 |
| ... | ... | @@ -219,7 +219,7 @@ cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块 |
| 219 | 219 | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
| 220 | 220 | ``` |
| 221 | 221 | |
| 222 | -> **STOP**:此处是人工审阅 REQ 的闸门。停止执行,等待用户运行 `/erp-workflow:plan-start` 后由 plan-start 派发 lite-design。 | |
| 222 | +> **STOP**:此处是人工审阅 REQ 的闸门。停止执行,等待用户运行 `/erp-workflow:plan-start` 后由 plan-start 派发 design。 | |
| 223 | 223 | |
| 224 | 224 | ## 参考 |
| 225 | 225 | |
| ... | ... | @@ -230,4 +230,4 @@ cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块 |
| 230 | 230 | - `${CLAUDE_SKILL_DIR}/templates/req-card-template.md`(REQ 卡片模板) |
| 231 | 231 | - `${CLAUDE_SKILL_DIR}/templates/_module-template.md`(模块头模板) |
| 232 | 232 | - `${CLAUDE_SKILL_DIR}/scripts/render.sh`(步骤 G 渲染助手,dispatch `module` / `req` 两种模式) |
| 233 | -- 下游:人工审阅 REQ 后运行 `/erp-workflow:plan-start`,由 plan-start 派发 `lite-design`(计划 ②) | |
| 233 | +- 下游:人工审阅 REQ 后运行 `/erp-workflow:plan-start`,由 plan-start 派发 `design`(计划 ②) | ... | ... |
skills/plan/lite-init/scripts/render.sh renamed to skills/plan/init/scripts/render.sh
skills/plan/lite-init/templates/CLAUDE-template.md renamed to skills/plan/init/templates/CLAUDE-template.md
| ... | ... | @@ -15,7 +15,7 @@ |
| 15 | 15 | |
| 16 | 16 | ## 🔄 编码开发流程(两阶段 + 统一功能循环) |
| 17 | 17 | |
| 18 | -编码阶段入口:`/erp-workflow:coding-start`。lite 保留**后端模块阶段**与**前端整体阶段**两段,但两段共用**同一套功能循环 skill**(`feature-spec → feature-tdd → feature-review`),由 `phase` 参数区分。 | |
| 18 | +编码阶段入口:`/erp-workflow:coding-start`。本插件保留**后端模块阶段**与**前端整体阶段**两段,但两段共用**同一套功能循环 skill**(`feature-spec → feature-tdd → feature-review`),由 `phase` 参数区分。 | |
| 19 | 19 | |
| 20 | 20 | ### 阶段路由(coding-start 内,只做分发) |
| 21 | 21 | |
| ... | ... | @@ -88,7 +88,7 @@ |
| 88 | 88 | | 格式 | 谁填 | 使用阶段 | 说明 | |
| 89 | 89 | |------|-----|---------|------| |
| 90 | 90 | | `【人工填写:<简短说明>】` | 人 | 仅计划阶段文档 | 密钥 / 账密 / 包名 / 命名约定 / 小版本号等人工才能决定的值;编码阶段 plan/spec 禁止出现,查不到真值时用 `AskUserQuestion` 问用户 | |
| 91 | -| `TBD(<责任人>)` | CC 自动 | 计划或编码 | 后缀附带责任方(如 `TBD(lite-design 自动补)` / `TBD(lite-build-db 自动补)`);由对应 skill 就地补填 | | |
| 91 | +| `TBD(<责任人>)` | CC 自动 | 计划或编码 | 后缀附带责任方(如 `TBD(design 自动补)` / `TBD(build-db 自动补)`);由对应 skill 就地补填 | | |
| 92 | 92 | |
| 93 | 93 | **HTML 注释 `<!-- ... -->`**:提示占位,是**插件内部大纲模板**里给 LLM 的**填空提示 / 章节引导**,指引 LLM 按结构填实际内容。skill 生成时会**剥除**这些注释,最终产物里注释不会保留。 |
| 94 | 94 | |
| ... | ... | @@ -116,7 +116,7 @@ |
| 116 | 116 | 3. **Apply 方式**:Spring Boot 启动 / 测试启动时 Flyway 自动 apply(项目必须在 `pom.xml` 声明 `flyway-core` + `flyway-mysql` 依赖)。`scripts/setup-test-db.sh` 只负责清空库,不做 apply |
| 117 | 117 | 4. **已合并的 migration 永不修改**:发现错了写一个补救 migration(如 `V7__fix_V5_index_name.sql`),旧 `V_n.sql` 不动 |
| 118 | 118 | 5. **临时调试 DDL**:临时在本地试字段/索引可手动 `mysql -e`,但不写 migration;下次 `setup-test-db.sh` 会 drop+create 清掉 |
| 119 | -6. **计划 ③ 生成的 V1**:`V1__initial_schema.sql` 是计划阶段由 `lite-build-db` 从 `docs/03-数据库设计文档.md`(lite-design 正向设计的 schema SSoT)翻译生成的初始版本;后续 V2/V3/... 由编码阶段每个 REQ 按需写入,**同时**反向同步更新 docs/03 对应表小节以保持 SSoT 一致 | |
| 119 | +6. **计划 ③ 生成的 V1**:`V1__initial_schema.sql` 是计划阶段由 `build-db` 从 `docs/03-数据库设计文档.md`(design 正向设计的 schema SSoT)翻译生成的初始版本;后续 V2/V3/... 由编码阶段每个 REQ 按需写入,**同时**反向同步更新 docs/03 对应表小节以保持 SSoT 一致 | |
| 120 | 120 | |
| 121 | 121 | --- |
| 122 | 122 | |
| ... | ... | @@ -172,7 +172,7 @@ |
| 172 | 172 | | # | 软规则 | 允许动作 | 强制后续 | |
| 173 | 173 | | - | ----- | ------- | ------- | |
| 174 | 174 | | S1 | **技术栈外组件引入** | 用 `AskUserQuestion` 给用户三选一:接受引入 / 换方案 / 拒绝 | ① **接受** → 同会话直接在 `docs/04 § 零` 追加一行 → 继续流程 ② **换方案 / 拒绝** → 视为常规歧义澄清,继续 Q&A 收敛 ③ 不写 Blocker、不中断流程 | |
| 175 | -| S2 | **跨模块改动** | **默认不改**,仅为当前模块实现所必需时允许修改 | 在该模块 `milestone` 完成报告的「⑤ 偏离与取舍」节如实记录改了哪个非当前模块的文件 + 原因(lite 无自动留痕 hook,靠报告人工记录) | | |
| 175 | +| S2 | **跨模块改动** | **默认不改**,仅为当前模块实现所必需时允许修改 | 在该模块 `milestone` 完成报告的「⑤ 偏离与取舍」节如实记录改了哪个非当前模块的文件 + 原因(本插件无自动留痕 hook,靠报告人工记录) | | |
| 176 | 176 | |
| 177 | 177 | --- |
| 178 | 178 | |
| ... | ... | @@ -236,7 +236,7 @@ Strong success criteria let you loop independently. Weak criteria ("make it work |
| 236 | 236 | |
| 237 | 237 | --- |
| 238 | 238 | |
| 239 | -## 🗺️ Skill 索引(erp-workflow-lite,共 11 个) | |
| 239 | +## 🗺️ Skill 索引(erp-workflow,共 11 个) | |
| 240 | 240 | |
| 241 | 241 | ### 入口 |
| 242 | 242 | |
| ... | ... | @@ -249,9 +249,9 @@ Strong success criteria let you loop independently. Weak criteria ("make it work |
| 249 | 249 | |
| 250 | 250 | | Skill | 描述 | |
| 251 | 251 | |-------|------| |
| 252 | -| `lite-init` | 计划 ①——项目初始化 + 范围锁定(模板复制、依赖检查、git init、项目概述+技术栈+需求索引、REQ 卡片生成,停下等人工审阅) | | |
| 253 | -| `lite-design` | 计划 ②——脚手架 + 数据库设计(docs/04 § 一+、scripts、.env.local、docs/03 DB 设计,停下等人工审阅) | | |
| 254 | -| `lite-build-db` | 计划 ③——DB 初始化 + 下游文档(V1 migration apply、docs/05 API 契约、docs/08 § 二模块清单,计划阶段结束) | | |
| 252 | +| `init` | 计划 ①——项目初始化 + 范围锁定(模板复制、依赖检查、git init、项目概述+技术栈+需求索引、REQ 卡片生成,停下等人工审阅) | | |
| 253 | +| `design` | 计划 ②——脚手架 + 数据库设计(docs/04 § 一+、scripts、.env.local、docs/03 DB 设计,停下等人工审阅) | | |
| 254 | +| `build-db` | 计划 ③——DB 初始化 + 下游文档(V1 migration apply、docs/05 API 契约、docs/08 § 二模块清单,计划阶段结束) | | |
| 255 | 255 | |
| 256 | 256 | ### 编码阶段 |
| 257 | 257 | |
| ... | ... | @@ -274,7 +274,7 @@ Strong success criteria let you loop independently. Weak criteria ("make it work |
| 274 | 274 | | 文档 | 职责 | |
| 275 | 275 | |------|------| |
| 276 | 276 | | `docs/01-需求清单/` | REQ 卡片目录(模块子目录 + index.md) | |
| 277 | -| `docs/03-数据库设计文档.md` | 表/字段/索引/外键 SSoT(lite-design 生成,编码阶段同步更新) | | |
| 278 | -| `docs/04-技术规范.md` | 技术栈总览(§ 零)+ 架构规范 + 前端 Design Tokens / 交互约定 + 环境变量说明(含 .env.local 密钥字段)——lite 把原 UI 规范与环境配置并入此文件 | | |
| 279 | -| `docs/05-API接口契约.md` | 所有后端接口契约(lite-build-db 生成,feature-spec 按需追加) | | |
| 277 | +| `docs/03-数据库设计文档.md` | 表/字段/索引/外键 SSoT(design 生成,编码阶段同步更新) | | |
| 278 | +| `docs/04-技术规范.md` | 技术栈总览(§ 零)+ 架构规范 + 前端 Design Tokens / 交互约定 + 环境变量说明(含 .env.local 密钥字段)——已把原 UI 规范与环境配置并入此文件 | | |
| 279 | +| `docs/05-API接口契约.md` | 所有后端接口契约(build-db 生成,feature-spec 按需追加) | | |
| 280 | 280 | | `docs/08-模块任务管理.md` | 全流程进度跟踪(§ 一计划 / § 二后端模块 / § 三前端整体) | | ... | ... |
skills/plan/lite-init/templates/_module-template.md renamed to skills/plan/init/templates/_module-template.md
skills/plan/lite-init/templates/docs-01-index-template.md renamed to skills/plan/init/templates/docs-01-index-template.md
skills/plan/lite-init/templates/docs-04-stack-template.md renamed to skills/plan/init/templates/docs-04-stack-template.md
skills/plan/lite-init/templates/docs-08-initial-template.md renamed to skills/plan/init/templates/docs-08-initial-template.md
| ... | ... | @@ -2,12 +2,12 @@ |
| 2 | 2 | |
| 3 | 3 | > 全流程进度跟踪。CC 每完成一项产出就勾选一项。 |
| 4 | 4 | > - **§ 一 计划阶段**:`plan-start` 找第一个未勾的计划段(①②③)分发到对应 skill |
| 5 | -> - **§ 二 Coding(后端模块)**:`coding-start` 扫描 docs/08 § 二 的 `里程碑:` 字段 + 本地 `git tag -l 'milestone/<id>'`,找第一个未打里程碑模块,派发 `phase-driver`(phase=backend)。本 § 二 行序即 REQ 开发顺序(lite-build-db 按依赖拓扑写入),是 phase-driver 的排序权威 | |
| 5 | +> - **§ 二 Coding(后端模块)**:`coding-start` 扫描 docs/08 § 二 的 `里程碑:` 字段 + 本地 `git tag -l 'milestone/<id>'`,找第一个未打里程碑模块,派发 `phase-driver`(phase=backend)。本 § 二 行序即 REQ 开发顺序(build-db 按依赖拓扑写入),是 phase-driver 的排序权威 | |
| 6 | 6 | > - **§ 三 Coding(前端整体)**:后端全部打里程碑后,`coding-start` 读 § 三 `整体里程碑:` + `git tag -l 'milestone/frontend-phase'`,未完成则派发 `phase-driver`(phase=frontend) |
| 7 | 7 | |
| 8 | 8 | ## 一、计划阶段进度 |
| 9 | 9 | |
| 10 | -- [ ] 计划 ① 初始化 + 范围锁定 — lite-init | |
| 10 | +- [ ] 计划 ① 初始化 + 范围锁定 — init | |
| 11 | 11 | - [ ] 项目文件骨架已创建(CLAUDE.md + docs/01 index + docs/04 + docs/08) |
| 12 | 12 | - [ ] 依赖检查通过(git / mysql) |
| 13 | 13 | - [ ] Git 已初始化 |
| ... | ... | @@ -15,19 +15,19 @@ |
| 15 | 15 | - [ ] 技术栈已确认(docs/04 § 零) |
| 16 | 16 | - [ ] 需求清单索引已填写(docs/01-需求清单/index.md) |
| 17 | 17 | - [ ] REQ 卡片骨架已生成(docs/01-需求清单/<module>/REQ-*.md) |
| 18 | -- [ ] 计划 ② 脚手架 + 数据库设计 — lite-design | |
| 18 | +- [ ] 计划 ② 脚手架 + 数据库设计 — design | |
| 19 | 19 | - [ ] 架构文档已生成(docs/04 § 一+ | scripts/*.sh | .env.local | sql/migrations/) |
| 20 | 20 | - [ ] docs/03 数据库设计已生成(REQ → 表/字段/索引/外键,回填 REQ 依赖表) |
| 21 | -- [ ] 计划 ③ DB 初始化 + 下游文档 — lite-build-db | |
| 21 | +- [ ] 计划 ③ DB 初始化 + 下游文档 — build-db | |
| 22 | 22 | - [ ] V1 migration 已生成并校验 + apply 到本地 MySQL |
| 23 | 23 | - [ ] docs/05 API 契约已生成 + 回填 REQ 依赖接口 |
| 24 | 24 | - [ ] docs/08 § 二 模块清单(含 REQ 顺序)已生成 |
| 25 | 25 | |
| 26 | 26 | ## 二、Coding 阶段(模块循环) |
| 27 | 27 | |
| 28 | -(lite-build-db 填入后,每行一个后端模块。每个模块的 `里程碑:` 字段在 `—` 和 `milestone/<id>` 之间变化,完成由本地 `git tag -l` 判定。`coding-start` 每次扫每模块的里程碑 tag 决定派发。所有模块打里程碑后整体完成。) | |
| 28 | +(build-db 填入后,每行一个后端模块。每个模块的 `里程碑:` 字段在 `—` 和 `milestone/<id>` 之间变化,完成由本地 `git tag -l` 判定。`coding-start` 每次扫每模块的里程碑 tag 决定派发。所有模块打里程碑后整体完成。) | |
| 29 | 29 | |
| 30 | -<!-- 模块格式示例(由 lite-build-db 追加;功能子项由 feature-review 在 approve 时勾选): | |
| 30 | +<!-- 模块格式示例(由 build-db 追加;功能子项由 feature-review 在 approve 时勾选): | |
| 31 | 31 | - module_0 系统管理 |
| 32 | 32 | - 依赖: — |
| 33 | 33 | - 路径: backend/module/sys/ | ... | ... |
skills/plan/lite-init/templates/req-card-template.md renamed to skills/plan/init/templates/req-card-template.md
| 1 | 1 | <!-- |
| 2 | 2 | req-card-template:单张 REQ 卡片骨架。每张卡片是 docs/01-需求清单/<module>/REQ-XXX-NNN.md 一个独立文件。 |
| 3 | 3 | 渲染约定: |
| 4 | -1) lite-init 渲染时**只替换 6 个占位符**:{{req_id}} / {{title}} / {{goal}} / {{rules}} / {{constraints}} / {{acceptance}} | |
| 4 | +1) init 渲染时**只替换 6 个占位符**:{{req_id}} / {{title}} / {{goal}} / {{rules}} / {{constraints}} / {{acceptance}} | |
| 5 | 5 | 这 6 项由 CC 根据 docs/01-需求清单/index.md 的「核心功能点」推断起草: |
| 6 | 6 | - req_id / title:从核心功能点拆分命名得来 |
| 7 | 7 | - goal:用一句话展开 title |
| ... | ... | @@ -10,7 +10,7 @@ req-card-template:单张 REQ 卡片骨架。每张卡片是 docs/01-需求清 |
| 10 | 10 | - `输入` 的表:8 列(字段 / 类型 / 必填 / 输入方式 / 显示来源 / 预加载 / 默认值 / 业务规则),其中 `预加载` 取值为 `页面加载时` / `用户操作时` / `—`;模板内含示例数据(表1 6 行、表2 3 行) |
| 11 | 11 | - `输出` 的表:3 列(字段 / 类型 / 显示来源),模板内含示例数据(表1 / 表2 各 3 行) |
| 12 | 12 | - 表的数量是可变的:人工拿到卡片后按 REQ 实际情况增删表(删多余的 `表N` 整段 / 复制为 `表3 / 表4 / ...`)和编辑字段 |
| 13 | -3) `**依赖表**: TBD(lite-design 自动补)` 和 `**依赖接口**: TBD(lite-build-db 自动补)` 是后续 skill 自动回填的占位,渲染时**保持原样**,不要替换为 `-` 也不要替换为 `{{...}}` | |
| 13 | +3) `**依赖表**: TBD(design 自动补)` 和 `**依赖接口**: TBD(build-db 自动补)` 是后续 skill 自动回填的占位,渲染时**保持原样**,不要替换为 `-` 也不要替换为 `{{...}}` | |
| 14 | 14 | 4) 渲染后这段 HTML 注释要**剥掉**,不进入最终卡片 |
| 15 | 15 | --> |
| 16 | 16 | ### {{req_id}} {{title}} |
| ... | ... | @@ -59,5 +59,5 @@ req-card-template:单张 REQ 卡片骨架。每张卡片是 docs/01-需求清 |
| 59 | 59 | - **跨字段规则**: {{rules}} |
| 60 | 60 | - **边界**: {{constraints}} |
| 61 | 61 | - **验收**: {{acceptance}} |
| 62 | -- **依赖表**: TBD(lite-design 自动补) | |
| 63 | -- **依赖接口**: TBD(lite-build-db 自动补) | |
| 62 | +- **依赖表**: TBD(design 自动补) | |
| 63 | +- **依赖接口**: TBD(build-db 自动补) | ... | ... |