♻️ refactor: 需求与计划改走 ECC 工作流,PRD/计划落到 .claude 目录

头脑风暴、续聊、实施三套 prompt(vscode / jetbrains / tui 同步)从 superpowers 的 brainstorming 与 /goal 换成 /ecc:plan-prd、/ecc:plan、/ecc:tdd-workflow。spec/plan 路径固定为 .claude/prds/<slug>.prd.md 与 .claude/plans/<slug>.plan.md,slug 派生去掉 .prd.md / .plan.md 后缀;worktreePath 测试挪到 test/ 目录。

Claude-Session: https://claude.ai/code/session_01QWxLb6X8Vd2G5vHnp6R7qm
This commit is contained in:
cruldra committed 2026-09-08 11:46:04 +08:00
1 parent 028195ab2b
commit 1fee0f2630
19 files changed
+136 -90

No files matched your search

+14 -12
View File
@@ -1,28 +1,30 @@
/superpowers:brainstorming 讨论下 {issueNumber} 号工单
/ecc:plan-prd 讨论下 {issueNumber} 号工单
用tea命令找工单
用 tea 命令找工单,用 grill-me skill 讨论细节,用表单形式和我交互,每次只问一个问题(`/ecc:plan-prd` 里成组的问题也拆成一次一问)。
## 后续 marker 维护(本会话有效)
## 产物与顺序
spec/plan 文件**一律在当前主 worktree(main 分支)创建**,不要为此新建或切换分支。创建后追加对应 marker:
1. 需求讨论清楚后,按 `/ecc:plan-prd` 的模板写 PRD 到 `.claude/prds/<slug>.prd.md`,让我确认。
2. PRD 我确认后,用 Skill 工具调 `ecc:plan`,参数是 PRD 路径,产出 `.claude/plans/<slug>.plan.md`;计划出来后停下等我确认。
3. `<slug>` 取工单标题的英文短横线名,PRD 与计划共用;工单已有 marker 就沿用其中的 slug。
## marker 维护(本会话有效)
PRD / 计划文件**一律在当前主 worktree(main 分支)创建并提交**,每次只提交这两个文件(提交信息形如 `📝 docs: #<工单号> 需求文档` / `📝 docs: #<工单号> 实施计划`),不要为此新建或切换分支。创建后追加对应 marker:
```
opencli spx issue marker --issue <工单号> --type spec --value <spec 路径>
opencli spx issue marker --issue <工单号> --type plan --value <plan 路径>
opencli spx issue marker --issue <工单号> --type spec --value .claude/prds/<slug>.prd.md
opencli spx issue marker --issue <工单号> --type plan --value .claude/plans/<slug>.plan.md
```
## 严禁擅自继续
如果你创建/更新了 spec/plan 文件并 marker 已同步,**立即停下**汇报;不要进入实施流程。
如果你创建/更新了 PRD 或计划文件并 marker 已同步,**立即停下**汇报;不要进入实施流程。
特别地:
- 不要创建分支
- 不要切换分支,包括 `git checkout` / `git switch`
- 不要修改当前主 worktree 所在分支
- spec/plan 一律在 main 分支(当前主 worktree)创建
- 不要修改任何代码文件
- 除 PRD / 计划文件外不要修改任何文件
- 不要创建 PR
- 不要调用 gitea 其他写操作(除上面的 marker 同步)
只讨论需求与 spec/plan,必要时用 spx issue marker 更新 marker。
+12 -6
View File
@@ -25,13 +25,20 @@ opencli spx issue create --title "<标题>" --body-file /tmp/issue-body.md
spx 返回工单号 + html_url。记下工单号,后续命令用。
## 后续 marker 维护(本会话有效)
## 后续需求文档 / 计划维护(本会话有效)
**只有**当你真正创建了 spec 或 plan 文件后才追加对应 marker。路径形如 `docs/superpowers/specs/<slug>/spec.md` 或 `docs/superpowers/plans/<slug>/plan.md`。spec/plan 文件**一律在当前主 worktree(main 分支)创建**,不要为此新建或切换分支:
需求与计划走 ECC 工作流:`/ecc:plan-prd` 产出需求文档(PRD),`/ecc:plan <PRD 路径>` 产出实施计划。文件路径固定:
- PRD:`.claude/prds/<slug>.prd.md`
- 计划:`.claude/plans/<slug>.plan.md`
`<slug>` 取工单标题的英文短横线名(如 `app-entity`),PRD 与计划用同一个 slug。两个文件**一律在当前主 worktree(main 分支)创建并提交**,每次只提交这两个文件(提交信息形如 `📝 docs: #<工单号> 需求文档` / `📝 docs: #<工单号> 实施计划`);实施 worktree 从 main 当前提交切出,没提交的文件在那边看不到。
**只有**当你真正创建了 PRD 或计划文件后才追加对应 marker:
```
opencli spx issue marker --issue <工单号> --type spec --value <spec 路径>
opencli spx issue marker --issue <工单号> --type plan --value <plan 路径>
opencli spx issue marker --issue <工单号> --type spec --value .claude/prds/<slug>.prd.md
opencli spx issue marker --issue <工单号> --type plan --value .claude/plans/<slug>.plan.md
```
spx 自动找到对应行替换或追加,保留所有其他 marker。**不要自己手写 `<!-- spx:* -->` 行**。
@@ -44,5 +51,4 @@ spx 自动找到对应行替换或追加,保留所有其他 marker。**不要
- 不要创建分支
- 不要切换分支
- 不要修改当前主 worktree 所在分支
- spec/plan 一律在 main 分支(当前主 worktree)创建
- 除 PRD / 计划文件外不要改动或提交任何文件
+4 -2
View File
@@ -1,4 +1,6 @@
/goal 使用子代理全程绿灯实施 @{planFile},发起 PR 时务必在 PR body 中包含 "Closes #{issueNumber}"。
/ecc:tdd-workflow @{planFile}
按计划实施 {issueNumber} 号工单:具体编码派子代理去做,全程保持测试绿灯。计划里的验证命令只当意图,落地时用仓库自己的 test / lint / typecheck 命令。提 PR 前先 `/ecc:code-review` 自审并修掉严重问题。发起 PR 时务必在 PR body 中包含 "Closes #{issueNumber}"。
**严禁合并 PR**:你的职责只到发起 PR 为止,后续审查反馈到了请继续修复并 push,永远不要执行 `tea pulls merge` 或任何合并操作。
@@ -10,4 +12,4 @@
- 生成后立即 `git add` 提交迁移文件,纳入 PR。
- **绝不**对共享 dev DB(`192.168.1.4:5433`)或 prod 执行 `alembic upgrade` / `downgrade` 等任何改库命令。
- 需要运行时验证迁移,就起一个一次性独立库(本地 docker postgres 或唯一命名的 scratch 库),在它上面 upgrade,验证完即丢弃,不要留痕。
- 共享 dev DB 与 prod 的迁移合并后由用户统一执行,时机由用户决定。
- 共享 dev DB 与 prod 的迁移合并后由用户统一执行,时机由用户决定。