Commit 91a6322cd5770abf0f069c1a19dfa9dad61d8895
1 parent
2ef891d4
fix(lite): restore frontend phase in lite-init (docs/08 §三 + CLAUDE-template two…
…-phase model + S2 soft rule)
Showing
2 changed files
with
44 additions
and
22 deletions
skills/plan/lite-init/templates/CLAUDE-template.md
| ... | ... | @@ -13,36 +13,43 @@ |
| 13 | 13 | |
| 14 | 14 | --- |
| 15 | 15 | |
| 16 | -## 🔄 编码开发流程(统一循环) | |
| 16 | +## 🔄 编码开发流程(两阶段 + 统一功能循环) | |
| 17 | 17 | |
| 18 | -编码阶段入口:`/erp-workflow:coding-start`。所有模块统一走同一个 phase-driver 循环,无前后端分段。 | |
| 18 | +编码阶段入口:`/erp-workflow:coding-start`。lite 保留**后端模块阶段**与**前端整体阶段**两段,但两段共用**同一套功能循环 skill**(`feature-spec → feature-tdd → feature-review`),由 `phase` 参数区分。 | |
| 19 | 19 | |
| 20 | 20 | ### 阶段路由(coding-start 内,只做分发) |
| 21 | 21 | |
| 22 | -`coding-start` 每次入口扫描 `docs/08 § 二` 的 `里程碑:` 字段 + 本地 `git tag -l 'milestone/<id>'`,找第一个未打里程碑的模块分发到 `phase-driver`;所有模块里程碑均已打 → 输出"全部完成"。 | |
| 22 | +`coding-start` 每次入口按"先后端、再前端"检查并派发到 `phase-driver`: | |
| 23 | 23 | |
| 24 | -### 统一功能循环 | |
| 24 | +1. 扫 `docs/08 § 二` 各后端模块 `里程碑:` 字段 + `git tag -l 'milestone/<id>'`:有未打里程碑模块 → 派发 `phase-driver`(phase=backend),结束。 | |
| 25 | +2. 后端全部打里程碑 → 读 `docs/08 § 三` `整体里程碑:` + `git tag -l 'milestone/frontend-phase'`:未完成 → 派发 `phase-driver`(phase=frontend),结束。 | |
| 26 | +3. 后端 + 前端都完成 → 输出"所有阶段已完成"。 | |
| 25 | 27 | |
| 26 | -**模块循环(外)**:`phase-driver` → feature 循环 → `milestone`(本地 merge 进默认分支 + 打 `milestone/<id>` tag)→ 自动回调 `coding-start` 路由下一模块(无人工介入)。 | |
| 28 | +### 统一功能循环(两阶段共用) | |
| 27 | 29 | |
| 28 | -**功能循环(内,每个 REQ-XXX-NNN 一遍)**:`feature-spec` → `feature-tdd` → `feature-review`。 | |
| 29 | -- `feature-review` verdict=approve → 勾选 docs/08 § 二 对应功能子项,继续下一 feature; | |
| 30 | -- 模块所有 feature 完成 → 调用 `milestone` 打里程碑 tag + 回调 `coding-start`。 | |
| 30 | +**阶段驱动(外)**:`phase-driver`(phase=backend 走后端模块;phase=frontend 走前端整体阶段——自带 prototype/ 门禁 + 从 prototype/docs01/docs05 推导 FE 清单写入 docs/08 § 三)→ feature 循环 → `milestone`(本地 merge 进默认分支 + 打 `milestone/<id>` 或 `milestone/frontend-phase` tag)→ 自动回调 `coding-start` 路由下一阶段(无人工介入)。 | |
| 31 | + | |
| 32 | +**功能循环(内,每个 REQ-XXX-NNN 或 FE-NN 一遍)**:`feature-spec` → `feature-tdd` → `feature-review`。 | |
| 33 | +- phase=backend:单元是 REQ,分支 `module-<id>`,产出 controller/service/repository/DTO/migration; | |
| 34 | +- phase=frontend:单元是 FE,分支 `frontend-phase`,产出 `frontend/` 下组件/路由/API client(以 prototype 为页面权威); | |
| 35 | +- `feature-review` verdict=approve → 勾选 docs/08 § 二(后端 REQ)/ § 三(前端 FE)对应子项,继续下一单元; | |
| 36 | +- 本阶段单元全部完成 → 调用 `milestone` 打里程碑 tag + 回调 `coding-start`。 | |
| 31 | 37 | |
| 32 | 38 | ### 里程碑前守门 |
| 33 | 39 | |
| 34 | -- `milestone` 在打 tag 前内置测试闸门(后端:`scripts/test.sh`);红色不得跳过。 | |
| 40 | +- `milestone` 在打 tag 前内置测试闸门(phase 由分支推断:后端 `scripts/test.sh`;前端 vitest + Playwright,命令取自 docs/04 § 零);红色不得跳过。 | |
| 35 | 41 | - 测试 / 验证统一派发到 Agent 子会话执行,主会话只接收结构化结论。 |
| 36 | 42 | |
| 37 | 43 | --- |
| 38 | 44 | |
| 39 | 45 | ## ✅ 阶段完成判定规则 |
| 40 | 46 | |
| 41 | -`docs/08-模块任务管理.md` 分两段: | |
| 47 | +`docs/08-模块任务管理.md` 分三段: | |
| 42 | 48 | - `§ 一`:计划阶段三段(①②③)进度勾选 |
| 43 | -- `§ 二`:编码模块元数据表(每个模块一行 bullet,记录依赖 / 路径 / 里程碑 tag / 功能子项) | |
| 49 | +- `§ 二`:后端编码模块元数据表(每个模块一行 bullet,记录依赖 / 路径 / 里程碑 tag / REQ 功能子项;行序即 REQ 开发顺序,是 phase-driver 的排序权威) | |
| 50 | +- `§ 三`:前端整体阶段(`整体里程碑:` 字段 + FE 功能清单,由 phase-driver(phase=frontend) 推导填入) | |
| 44 | 51 | |
| 45 | -**阶段完成判定**统一以 `里程碑:` 字段 + 本地 `git tag -l 'milestone/<id>'` 判定;子项勾选只作可视化进度,不参与完成判定。 | |
| 52 | +**阶段完成判定**统一以 `里程碑:` 字段(§二 模块 / §三 整体)+ 本地 `git tag -l 'milestone/<id>'` 判定;子项勾选只作可视化进度,不参与完成判定。 | |
| 46 | 53 | |
| 47 | 54 | ### 后端模块格式 |
| 48 | 55 | |
| ... | ... | @@ -165,7 +172,7 @@ |
| 165 | 172 | | # | 软规则 | 允许动作 | 强制后续 | |
| 166 | 173 | | - | ----- | ------- | ------- | |
| 167 | 174 | | S1 | **技术栈外组件引入** | 用 `AskUserQuestion` 给用户三选一:接受引入 / 换方案 / 拒绝 | ① **接受** → 同会话直接在 `docs/04 § 零` 追加一行 → 继续流程 ② **换方案 / 拒绝** → 视为常规歧义澄清,继续 Q&A 收敛 ③ 不写 Blocker、不中断流程 | |
| 168 | -| S2 | **跨模块改动** | **默认不改**,仅为当前模块实现所必需时允许修改 | ① hook `log-cross-module.sh` 自动落存根 ② `milestone` 在打里程碑前调用 `interrupt-check` skill 批量补齐「原因 / 影响评估」节 | | |
| 175 | +| S2 | **跨模块改动** | **默认不改**,仅为当前模块实现所必需时允许修改 | 在该模块 `milestone` 完成报告的「⑤ 偏离与取舍」节如实记录改了哪个非当前模块的文件 + 原因(lite 无自动留痕 hook,靠报告人工记录) | | |
| 169 | 176 | |
| 170 | 177 | --- |
| 171 | 178 | |
| ... | ... | @@ -236,7 +243,7 @@ Strong success criteria let you loop independently. Weak criteria ("make it work |
| 236 | 243 | | Skill | 描述 | |
| 237 | 244 | |-------|------| |
| 238 | 245 | | `plan-start` | 计划阶段入口——扫 docs/08 § 一找第一个未完成计划段(①②③)并派发 | |
| 239 | -| `coding-start` | 编码阶段入口——扫 docs/08 § 二找第一个未打里程碑模块并派发 phase-driver | | |
| 246 | +| `coding-start` | 编码阶段入口 + 阶段分发器——先后端(docs/08 § 二)后前端(§ 三),派发 phase-driver(phase=backend/frontend);都完成则输出全部完成 | | |
| 240 | 247 | |
| 241 | 248 | ### 计划阶段 |
| 242 | 249 | |
| ... | ... | @@ -250,11 +257,11 @@ Strong success criteria let you loop independently. Weak criteria ("make it work |
| 250 | 257 | |
| 251 | 258 | | Skill | 描述 | |
| 252 | 259 | |-------|------| |
| 253 | -| `phase-driver` | 模块驱动——加载当前模块 REQ 清单,逐个派发 feature 循环 | | |
| 254 | -| `feature-spec` | 功能规格——为 REQ 生成 spec 文档(API 签名、数据变更、边界) | | |
| 255 | -| `feature-tdd` | TDD 实现——按 spec 写测试先行,再实现,Agent 子会话跑测试 | | |
| 256 | -| `feature-review` | AI 代码审查——审查当前 REQ 实现,verdict approve/reject,approve 时勾选进度 | | |
| 257 | -| `milestone` | 里程碑——内置测试闸门(Agent 子会话),green 则本地 merge + 打 tag,生成模块完成报告 | | |
| 260 | +| `phase-driver` | 阶段驱动(phase 参数区分)——backend:加载当前模块 REQ 清单逐个派发;frontend:prototype/ 门禁 + 推导 FE 清单写 docs/08 § 三后逐个派发 | | |
| 261 | +| `feature-spec` | 功能规格(两阶段共用)——为 REQ(后端)/ FE(前端)生成"规格 + 任务级计划"合并文档 | | |
| 262 | +| `feature-tdd` | TDD 实现(两阶段共用)——按 plan 测试先行再实现,Agent 子会话跑测试;路径护栏按 phase 区分 | | |
| 263 | +| `feature-review` | 验证 + AI 自审(两阶段共用)——子会话跑测试 + reviewer agent(后端 superpower / 前端 fe-code-reviewer),approve 勾选进度回 phase-driver | | |
| 264 | +| `milestone` | 里程碑(phase 由分支推断)——内置测试闸门(Agent 子会话),green 则本地 merge + 打 tag,生成完成报告 | | |
| 258 | 265 | |
| 259 | 266 | ### 守门 |
| 260 | 267 | |
| ... | ... | @@ -268,6 +275,6 @@ Strong success criteria let you loop independently. Weak criteria ("make it work |
| 268 | 275 | |------|------| |
| 269 | 276 | | `docs/01-需求清单/` | REQ 卡片目录(模块子目录 + index.md) | |
| 270 | 277 | | `docs/03-数据库设计文档.md` | 表/字段/索引/外键 SSoT(lite-design 生成,编码阶段同步更新) | |
| 271 | -| `docs/04-技术规范.md` | 技术栈总览(§ 零)+ 架构规范 + 环境变量说明(含 .env.local 密钥字段) | | |
| 278 | +| `docs/04-技术规范.md` | 技术栈总览(§ 零)+ 架构规范 + 前端 Design Tokens / 交互约定 + 环境变量说明(含 .env.local 密钥字段)——lite 把原 UI 规范与环境配置并入此文件 | | |
| 272 | 279 | | `docs/05-API接口契约.md` | 所有后端接口契约(lite-build-db 生成,feature-spec 按需追加) | |
| 273 | -| `docs/08-模块任务管理.md` | 全流程进度跟踪(§ 一计划 / § 二编码) | | |
| 280 | +| `docs/08-模块任务管理.md` | 全流程进度跟踪(§ 一计划 / § 二后端模块 / § 三前端整体) | | ... | ... |
skills/plan/lite-init/templates/docs-08-initial-template.md
| ... | ... | @@ -2,7 +2,8 @@ |
| 2 | 2 | |
| 3 | 3 | > 全流程进度跟踪。CC 每完成一项产出就勾选一项。 |
| 4 | 4 | > - **§ 一 计划阶段**:`plan-start` 找第一个未勾的计划段(①②③)分发到对应 skill |
| 5 | -> - **§ 二 Coding(模块)**:`coding-start` 扫描 docs/08 § 二 的 `里程碑:` 字段 + 本地 `git tag -l 'milestone/<id>'`,找第一个未打里程碑模块分发。本 § 二 行序无语义,仅作模块元数据表 | |
| 5 | +> - **§ 二 Coding(后端模块)**:`coding-start` 扫描 docs/08 § 二 的 `里程碑:` 字段 + 本地 `git tag -l 'milestone/<id>'`,找第一个未打里程碑模块,派发 `phase-driver`(phase=backend)。本 § 二 行序即 REQ 开发顺序(lite-build-db 按依赖拓扑写入),是 phase-driver 的排序权威 | |
| 6 | +> - **§ 三 Coding(前端整体)**:后端全部打里程碑后,`coding-start` 读 § 三 `整体里程碑:` + `git tag -l 'milestone/frontend-phase'`,未完成则派发 `phase-driver`(phase=frontend) | |
| 6 | 7 | |
| 7 | 8 | ## 一、计划阶段进度 |
| 8 | 9 | |
| ... | ... | @@ -35,3 +36,17 @@ |
| 35 | 36 | - [ ] REQ-SYS-001 用户登录 |
| 36 | 37 | - [ ] REQ-SYS-002 用户注册 |
| 37 | 38 | --> |
| 39 | + | |
| 40 | +## 三、Coding 阶段(前端整体) | |
| 41 | + | |
| 42 | +(`phase-driver`(phase=frontend)进入时扫 prototype/ + docs/01 + docs/05 → AI 自主推导 FE 业务功能清单写到下方"功能:"项(无人工审阅断点;合理性由整体里程碑标记时统一校核)。已有清单则直接加载。整个前端阶段 1 个里程碑 tag,分支 `frontend-phase`。) | |
| 43 | + | |
| 44 | +- 整体里程碑: — | |
| 45 | +- 功能: | |
| 46 | + <!-- AI 进入时按以下行格式写入(每行 1 个 FE,可关联多个 REQ / 多份原型): | |
| 47 | + - [ ] FE-NN 功能名 | 关联 REQ:REQ-A, REQ-B | 关联原型:prototype/<file>.html, prototype/<other>.html | |
| 48 | + | |
| 49 | + 示例: | |
| 50 | + - [ ] FE-01 用户登录与注册 | 关联 REQ:REQ-SYS-001, REQ-SYS-002 | 关联原型:prototype/auth.html | |
| 51 | + - [ ] FE-02 仪表盘总览 | 关联 REQ:REQ-DASH-001 | 关联原型:prototype/dashboard.html | |
| 52 | + --> | ... | ... |