@rpamis/comet 0.1.8 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -5
- package/assets/manifest.json +2 -0
- package/assets/skills/comet/SKILL.md +214 -219
- package/assets/skills/comet/scripts/comet-guard.sh +255 -253
- package/assets/skills/comet/scripts/comet-state.sh +5 -3
- package/assets/skills/comet-archive/SKILL.md +2 -2
- package/assets/skills/comet-build/SKILL.md +1 -1
- package/assets/skills/comet-design/SKILL.md +1 -1
- package/assets/skills/comet-hotfix/SKILL.md +136 -133
- package/assets/skills/comet-open/SKILL.md +1 -1
- package/assets/skills/comet-tweak/SKILL.md +122 -120
- package/assets/skills/comet-verify/SKILL.md +2 -4
- package/assets/skills-zh/comet/SKILL.md +87 -98
- package/assets/skills-zh/comet-archive/SKILL.md +63 -63
- package/assets/skills-zh/comet-build/SKILL.md +153 -153
- package/assets/skills-zh/comet-design/SKILL.md +91 -91
- package/assets/skills-zh/comet-hotfix/SKILL.md +10 -7
- package/assets/skills-zh/comet-open/SKILL.md +70 -70
- package/assets/skills-zh/comet-tweak/SKILL.md +11 -9
- package/assets/skills-zh/comet-verify/SKILL.md +114 -116
- package/dist/cli/index.js +28 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/doctor.d.ts +6 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +168 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +9 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +183 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/status.d.ts +6 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +89 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/update.d.ts +8 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +47 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/core/detect.d.ts +8 -0
- package/dist/core/detect.d.ts.map +1 -0
- package/dist/core/detect.js +73 -0
- package/dist/core/detect.js.map +1 -0
- package/dist/core/openspec.d.ts +5 -0
- package/dist/core/openspec.d.ts.map +1 -0
- package/dist/core/openspec.js +58 -0
- package/dist/core/openspec.js.map +1 -0
- package/dist/core/platforms.d.ts.map +1 -1
- package/dist/core/platforms.js +6 -1
- package/dist/core/platforms.js.map +1 -1
- package/dist/core/skills.d.ts +22 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +59 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/superpowers.d.ts +5 -0
- package/dist/core/superpowers.d.ts.map +1 -0
- package/dist/core/superpowers.js +60 -0
- package/dist/core/superpowers.js.map +1 -0
- package/dist/core/types.d.ts +2 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/package.json +62 -50
- package/dist/core/init.d.ts +0 -14
- package/dist/core/init.d.ts.map +0 -1
- package/dist/core/init.js +0 -492
- package/dist/core/init.js.map +0 -1
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comet-build
|
|
3
|
-
description: "Comet 阶段 3:计划与构建。用 /comet-build 调用。制定计划并通过 subagent-driven-development 执行实施。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Comet 阶段 3:计划与构建(Build)
|
|
7
|
-
|
|
8
|
-
## 前置条件
|
|
9
|
-
|
|
10
|
-
- Design Doc 已创建(阶段 2 完成)
|
|
11
|
-
- 活跃 change 存在
|
|
12
|
-
|
|
13
|
-
## 步骤
|
|
14
|
-
|
|
15
|
-
### 0. 入口状态验证(Entry Check)
|
|
16
|
-
|
|
17
|
-
执行入口验证:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
COMET_STATE
|
|
21
|
-
bash "$COMET_STATE" check <name> build
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
25
|
-
|
|
26
|
-
### 1. 制定计划
|
|
27
|
-
|
|
28
|
-
**立即执行:** 使用 Skill 工具加载 `superpowers:writing-plans` 技能。禁止跳过此步骤。
|
|
29
|
-
|
|
30
|
-
技能加载后,按其指引制定计划。计划要求:
|
|
31
|
-
- 保存至 `docs/superpowers/plans/YYYY-MM-DD-<feature>.md`
|
|
32
|
-
- 引用设计文档,拆分为可执行任务
|
|
33
|
-
- **Plan 文件头必须包含关联元数据**:
|
|
34
|
-
|
|
35
|
-
```yaml
|
|
36
|
-
---
|
|
37
|
-
change: <openspec-change-name>
|
|
38
|
-
design-doc: docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
|
|
39
|
-
---
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### 2. 更新计划状态
|
|
43
|
-
|
|
44
|
-
先记录 plan 路径:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
bash "$COMET_STATE" set <name> plan docs/superpowers/plans/YYYY-MM-DD-feature.md
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
无需手动更新 phase,guard 会在退出条件满足后自动流转。
|
|
51
|
-
|
|
52
|
-
### 3. 工作区隔离
|
|
53
|
-
|
|
54
|
-
计划已写入当前分支。在开始执行前,选择工作区隔离方式:
|
|
55
|
-
|
|
56
|
-
| 选项 | 方式 | 说明 |
|
|
57
|
-
|------|------|------|
|
|
58
|
-
| A | 创建分支 | 在当前仓库创建新分支,简单快速 |
|
|
59
|
-
| B | 创建 Worktree | 隔离工作区,完全独立,适合并行开发 |
|
|
60
|
-
|
|
61
|
-
**推荐规则**:
|
|
62
|
-
- 变更涉及 ≤ 3 个文件 → 推荐 A
|
|
63
|
-
- 需要并行开发、当前分支有未提交工作 → 推荐 B
|
|
64
|
-
|
|
65
|
-
用户选择后,更新 `isolation` 字段。`isolation` 只允许以下值之一:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
bash "$COMET_STATE" set <name> isolation <value>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
- `branch`
|
|
72
|
-
- `worktree`
|
|
73
|
-
|
|
74
|
-
**执行隔离**:
|
|
75
|
-
|
|
76
|
-
- **branch**:执行 `git checkout -b <change-name>`,后续工作在新分支上进行
|
|
77
|
-
- **worktree**:调用 `superpowers:using-git-worktrees` 技能或使用原生 `EnterWorktree` 工具创建隔离工作区
|
|
78
|
-
|
|
79
|
-
创建隔离后,确认计划文件可访问(分支方式天然可访问;worktree 方式需确认计划已提交)。
|
|
80
|
-
|
|
81
|
-
### 4. 选择执行方式
|
|
82
|
-
|
|
83
|
-
向用户展示计划摘要(任务数、涉及模块),然后询问执行方式:
|
|
84
|
-
|
|
85
|
-
| 选项 | 技能 | 适用场景 |
|
|
86
|
-
|------|------|---------|
|
|
87
|
-
| A | `superpowers:subagent-driven-development` | 任务独立、复杂度高、需要双阶段审查 |
|
|
88
|
-
| B | `superpowers:executing-plans` | 任务简单、无子agent环境、轻量快速 |
|
|
89
|
-
|
|
90
|
-
**推荐规则**:
|
|
91
|
-
- 任务数 ≥ 3 → 推荐 A
|
|
92
|
-
- 任务数 ≤ 2 且无跨模块依赖 → 推荐 B
|
|
93
|
-
- 来自 hotfix 路径 → 推荐 B
|
|
94
|
-
|
|
95
|
-
用户选择后,更新 `build_mode` 字段。`build_mode` 只允许以下值之一:
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
bash "$COMET_STATE" set <name> build_mode <value>
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
- `subagent-driven-development`
|
|
102
|
-
- `executing-plans`
|
|
103
|
-
- `direct`(仅 hotfix preset 使用)
|
|
104
|
-
|
|
105
|
-
然后,**立即执行:** 使用 Skill 工具加载对应技能。禁止跳过此步骤。
|
|
106
|
-
|
|
107
|
-
如所选 Superpowers 技能不可用,停止流程并提示安装或启用对应技能,不要用普通对话替代该步骤。
|
|
108
|
-
|
|
109
|
-
技能加载后,按其指引执行:
|
|
110
|
-
- 按计划执行任务
|
|
111
|
-
- 完成 tasks.md 勾选(`- [ ]` → `- [x]`)
|
|
112
|
-
- 每个任务完成后提交代码
|
|
113
|
-
|
|
114
|
-
### 5. Spec 增量更新
|
|
115
|
-
|
|
116
|
-
实施过程中发现初版 spec 不完整时,按变更规模分级处理:
|
|
117
|
-
|
|
118
|
-
| 规模 | 触发条件 | 做法 |
|
|
119
|
-
|------|---------|------|
|
|
120
|
-
| 小 | 遗漏验收场景、边界条件 | 直接编辑 delta spec + design.md,追加 tasks.md 任务 |
|
|
121
|
-
| 中 | 接口变更、新增组件、数据流变化 | 重新 `superpowers:brainstorming` 更新 Design Doc + delta spec |
|
|
122
|
-
| 大 | 全新 capability 需求 | `/opsx:new` 创建独立 change |
|
|
123
|
-
|
|
124
|
-
**50% 阈值判定**:以 tasks.md 初始任务总数为基准,若新增任务数超过该总数的一半,视为超出原计划范围,应考虑拆分为新 change。
|
|
125
|
-
|
|
126
|
-
**原则**:
|
|
127
|
-
- delta spec 是活文档,本阶段期间随时可修改
|
|
128
|
-
- 每次更新应提交,commit message 说明变更原因
|
|
129
|
-
- 不提前同步到 main spec,归档时统一同步
|
|
130
|
-
- 如增量任务超过原 tasks.md 初始任务总数 50%,考虑拆分为新 change
|
|
131
|
-
- 小规模增量直接改 delta spec 时,应在 commit message 中注明,便于归档时判断 design doc 漂移
|
|
132
|
-
|
|
133
|
-
## 退出条件
|
|
134
|
-
|
|
135
|
-
- tasks.md 全部勾选
|
|
136
|
-
- 代码已提交
|
|
137
|
-
- 测试通过
|
|
138
|
-
- `.comet.yaml` 中 `phase` 已更新为 `verify`
|
|
139
|
-
- **阶段守卫**:运行 `bash $COMET_GUARD <change-name> build`,全部 PASS 后才允许流转
|
|
140
|
-
|
|
141
|
-
退出前运行 guard 自动流转:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
bash $COMET_GUARD <change-name> build --apply
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
状态文件自动更新为 `phase: verify`、`verify_result: pending`。
|
|
148
|
-
|
|
149
|
-
## 自动流转
|
|
150
|
-
|
|
151
|
-
退出条件满足后,**无需等待用户再次输入**,直接执行下一阶段:
|
|
152
|
-
|
|
153
|
-
> **REQUIRED NEXT SKILL:** 调用 `comet-verify` skill 进入验证与收尾阶段。
|
|
1
|
+
---
|
|
2
|
+
name: comet-build
|
|
3
|
+
description: "Comet 阶段 3:计划与构建。用 /comet-build 调用。制定计划并通过 subagent-driven-development 执行实施。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comet 阶段 3:计划与构建(Build)
|
|
7
|
+
|
|
8
|
+
## 前置条件
|
|
9
|
+
|
|
10
|
+
- Design Doc 已创建(阶段 2 完成)
|
|
11
|
+
- 活跃 change 存在
|
|
12
|
+
|
|
13
|
+
## 步骤
|
|
14
|
+
|
|
15
|
+
### 0. 入口状态验证(Entry Check)
|
|
16
|
+
|
|
17
|
+
执行入口验证:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
COMET_STATE="${COMET_STATE:-$(find . -path '*/comet/scripts/comet-state.sh' -type f -print -quit)}"
|
|
21
|
+
bash "$COMET_STATE" check <name> build
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
25
|
+
|
|
26
|
+
### 1. 制定计划
|
|
27
|
+
|
|
28
|
+
**立即执行:** 使用 Skill 工具加载 `superpowers:writing-plans` 技能。禁止跳过此步骤。
|
|
29
|
+
|
|
30
|
+
技能加载后,按其指引制定计划。计划要求:
|
|
31
|
+
- 保存至 `docs/superpowers/plans/YYYY-MM-DD-<feature>.md`
|
|
32
|
+
- 引用设计文档,拆分为可执行任务
|
|
33
|
+
- **Plan 文件头必须包含关联元数据**:
|
|
34
|
+
|
|
35
|
+
```yaml
|
|
36
|
+
---
|
|
37
|
+
change: <openspec-change-name>
|
|
38
|
+
design-doc: docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
|
|
39
|
+
---
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 2. 更新计划状态
|
|
43
|
+
|
|
44
|
+
先记录 plan 路径:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
bash "$COMET_STATE" set <name> plan docs/superpowers/plans/YYYY-MM-DD-feature.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
无需手动更新 phase,guard 会在退出条件满足后自动流转。
|
|
51
|
+
|
|
52
|
+
### 3. 工作区隔离
|
|
53
|
+
|
|
54
|
+
计划已写入当前分支。在开始执行前,选择工作区隔离方式:
|
|
55
|
+
|
|
56
|
+
| 选项 | 方式 | 说明 |
|
|
57
|
+
|------|------|------|
|
|
58
|
+
| A | 创建分支 | 在当前仓库创建新分支,简单快速 |
|
|
59
|
+
| B | 创建 Worktree | 隔离工作区,完全独立,适合并行开发 |
|
|
60
|
+
|
|
61
|
+
**推荐规则**:
|
|
62
|
+
- 变更涉及 ≤ 3 个文件 → 推荐 A
|
|
63
|
+
- 需要并行开发、当前分支有未提交工作 → 推荐 B
|
|
64
|
+
|
|
65
|
+
用户选择后,更新 `isolation` 字段。`isolation` 只允许以下值之一:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
bash "$COMET_STATE" set <name> isolation <value>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
- `branch`
|
|
72
|
+
- `worktree`
|
|
73
|
+
|
|
74
|
+
**执行隔离**:
|
|
75
|
+
|
|
76
|
+
- **branch**:执行 `git checkout -b <change-name>`,后续工作在新分支上进行
|
|
77
|
+
- **worktree**:调用 `superpowers:using-git-worktrees` 技能或使用原生 `EnterWorktree` 工具创建隔离工作区
|
|
78
|
+
|
|
79
|
+
创建隔离后,确认计划文件可访问(分支方式天然可访问;worktree 方式需确认计划已提交)。
|
|
80
|
+
|
|
81
|
+
### 4. 选择执行方式
|
|
82
|
+
|
|
83
|
+
向用户展示计划摘要(任务数、涉及模块),然后询问执行方式:
|
|
84
|
+
|
|
85
|
+
| 选项 | 技能 | 适用场景 |
|
|
86
|
+
|------|------|---------|
|
|
87
|
+
| A | `superpowers:subagent-driven-development` | 任务独立、复杂度高、需要双阶段审查 |
|
|
88
|
+
| B | `superpowers:executing-plans` | 任务简单、无子agent环境、轻量快速 |
|
|
89
|
+
|
|
90
|
+
**推荐规则**:
|
|
91
|
+
- 任务数 ≥ 3 → 推荐 A
|
|
92
|
+
- 任务数 ≤ 2 且无跨模块依赖 → 推荐 B
|
|
93
|
+
- 来自 hotfix 路径 → 推荐 B
|
|
94
|
+
|
|
95
|
+
用户选择后,更新 `build_mode` 字段。`build_mode` 只允许以下值之一:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
bash "$COMET_STATE" set <name> build_mode <value>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
- `subagent-driven-development`
|
|
102
|
+
- `executing-plans`
|
|
103
|
+
- `direct`(仅 hotfix preset 使用)
|
|
104
|
+
|
|
105
|
+
然后,**立即执行:** 使用 Skill 工具加载对应技能。禁止跳过此步骤。
|
|
106
|
+
|
|
107
|
+
如所选 Superpowers 技能不可用,停止流程并提示安装或启用对应技能,不要用普通对话替代该步骤。
|
|
108
|
+
|
|
109
|
+
技能加载后,按其指引执行:
|
|
110
|
+
- 按计划执行任务
|
|
111
|
+
- 完成 tasks.md 勾选(`- [ ]` → `- [x]`)
|
|
112
|
+
- 每个任务完成后提交代码
|
|
113
|
+
|
|
114
|
+
### 5. Spec 增量更新
|
|
115
|
+
|
|
116
|
+
实施过程中发现初版 spec 不完整时,按变更规模分级处理:
|
|
117
|
+
|
|
118
|
+
| 规模 | 触发条件 | 做法 |
|
|
119
|
+
|------|---------|------|
|
|
120
|
+
| 小 | 遗漏验收场景、边界条件 | 直接编辑 delta spec + design.md,追加 tasks.md 任务 |
|
|
121
|
+
| 中 | 接口变更、新增组件、数据流变化 | 重新 `superpowers:brainstorming` 更新 Design Doc + delta spec |
|
|
122
|
+
| 大 | 全新 capability 需求 | `/opsx:new` 创建独立 change |
|
|
123
|
+
|
|
124
|
+
**50% 阈值判定**:以 tasks.md 初始任务总数为基准,若新增任务数超过该总数的一半,视为超出原计划范围,应考虑拆分为新 change。
|
|
125
|
+
|
|
126
|
+
**原则**:
|
|
127
|
+
- delta spec 是活文档,本阶段期间随时可修改
|
|
128
|
+
- 每次更新应提交,commit message 说明变更原因
|
|
129
|
+
- 不提前同步到 main spec,归档时统一同步
|
|
130
|
+
- 如增量任务超过原 tasks.md 初始任务总数 50%,考虑拆分为新 change
|
|
131
|
+
- 小规模增量直接改 delta spec 时,应在 commit message 中注明,便于归档时判断 design doc 漂移
|
|
132
|
+
|
|
133
|
+
## 退出条件
|
|
134
|
+
|
|
135
|
+
- tasks.md 全部勾选
|
|
136
|
+
- 代码已提交
|
|
137
|
+
- 测试通过
|
|
138
|
+
- `.comet.yaml` 中 `phase` 已更新为 `verify`
|
|
139
|
+
- **阶段守卫**:运行 `bash $COMET_GUARD <change-name> build`,全部 PASS 后才允许流转
|
|
140
|
+
|
|
141
|
+
退出前运行 guard 自动流转:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
bash $COMET_GUARD <change-name> build --apply
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
状态文件自动更新为 `phase: verify`、`verify_result: pending`。
|
|
148
|
+
|
|
149
|
+
## 自动流转
|
|
150
|
+
|
|
151
|
+
退出条件满足后,**无需等待用户再次输入**,直接执行下一阶段:
|
|
152
|
+
|
|
153
|
+
> **REQUIRED NEXT SKILL:** 调用 `comet-verify` skill 进入验证与收尾阶段。
|
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comet-design
|
|
3
|
-
description: "Comet 阶段 2:深度设计。用 /comet-design 调用。通过 brainstorming 产出 Design Doc 和 delta spec。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Comet 阶段 2:深度设计(Design)
|
|
7
|
-
|
|
8
|
-
## 前置条件
|
|
9
|
-
|
|
10
|
-
- 活跃 change 已存在(proposal.md、design.md、tasks.md)
|
|
11
|
-
- 无 Design Doc(`docs/superpowers/specs/` 下无对应文件)
|
|
12
|
-
|
|
13
|
-
## 步骤
|
|
14
|
-
|
|
15
|
-
### 0. 入口状态验证(Entry Check)
|
|
16
|
-
|
|
17
|
-
执行入口验证:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
COMET_STATE
|
|
21
|
-
bash "$COMET_STATE" check <name> design
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
25
|
-
|
|
26
|
-
### 1a. 读取已有上下文
|
|
27
|
-
|
|
28
|
-
读取活跃 change 下的 `proposal.md` 和 `design.md`,将核心内容整理为摘要:
|
|
29
|
-
- **proposal 摘要**:目标、动机、范围
|
|
30
|
-
- **design 摘要**:架构决策、高层设计
|
|
31
|
-
|
|
32
|
-
### 1b. 执行 Brainstorming(带上下文)
|
|
33
|
-
|
|
34
|
-
**立即执行:** 使用 Skill 工具加载 `superpowers:brainstorming` 技能,ARGUMENTS 包含:
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
Change: <change-name>
|
|
38
|
-
Proposal 摘要: <proposal 核心内容>
|
|
39
|
-
Design 摘要: <design.md 架构决策>
|
|
40
|
-
跳过上下文探索,直接进入设计提问。
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
禁止跳过此步骤,禁止在未加载该技能的情况下继续。
|
|
44
|
-
|
|
45
|
-
如 `superpowers:brainstorming` 不可用,停止流程并提示安装或启用 Superpowers 技能,不要用普通对话替代该步骤。
|
|
46
|
-
|
|
47
|
-
技能加载后,按其指引产出:
|
|
48
|
-
- `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md` — 设计文档(技术 RFC)
|
|
49
|
-
- `openspec/changes/<name>/specs/<capability>/spec.md` — 能力规格(delta)
|
|
50
|
-
|
|
51
|
-
### 2. 更新 Comet 状态
|
|
52
|
-
|
|
53
|
-
先记录 design_doc 路径,再运行 guard 自动流转:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
# 记录 design_doc 路径
|
|
57
|
-
bash "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
|
|
58
|
-
|
|
59
|
-
# 自动流转到下一阶段
|
|
60
|
-
bash $COMET_GUARD <change-name> design --apply
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
状态文件自动更新,无需手动编辑其他字段。
|
|
64
|
-
|
|
65
|
-
### 3. 双 Spec 分工
|
|
66
|
-
|
|
67
|
-
| Spec 类型 | 归属 | 存放位置 | 定义 |
|
|
68
|
-
|-----------|------|---------|------|
|
|
69
|
-
| 能力规格 | OpenSpec | `openspec/changes/<name>/specs/` | 系统应该做什么(需求 + 验收场景) |
|
|
70
|
-
| 设计文档 | Superpowers | `docs/superpowers/specs/` | 怎么构建(技术架构 + 实现细节) |
|
|
71
|
-
|
|
72
|
-
### 4. 文档层级确认
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
proposal.md(阶段 1) → Why + What
|
|
76
|
-
design.md(阶段 1,OpenSpec) → 高层架构决策
|
|
77
|
-
设计文档(阶段 2,Superpowers) → 深度技术设计
|
|
78
|
-
能力规格(阶段 2,delta) → 需求 + 验收场景
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## 退出条件
|
|
82
|
-
|
|
83
|
-
- Design Doc 已创建并保存
|
|
84
|
-
- 如有新能力则 delta spec 已创建
|
|
85
|
-
- **阶段守卫**:运行 `bash $COMET_GUARD <change-name> design`,全部 PASS 后才允许流转
|
|
86
|
-
|
|
87
|
-
## 自动流转
|
|
88
|
-
|
|
89
|
-
退出条件满足后,**无需等待用户再次输入**,直接执行下一阶段:
|
|
90
|
-
|
|
91
|
-
> **REQUIRED NEXT SKILL:** 调用 `comet-build` skill 进入计划与构建阶段。
|
|
1
|
+
---
|
|
2
|
+
name: comet-design
|
|
3
|
+
description: "Comet 阶段 2:深度设计。用 /comet-design 调用。通过 brainstorming 产出 Design Doc 和 delta spec。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comet 阶段 2:深度设计(Design)
|
|
7
|
+
|
|
8
|
+
## 前置条件
|
|
9
|
+
|
|
10
|
+
- 活跃 change 已存在(proposal.md、design.md、tasks.md)
|
|
11
|
+
- 无 Design Doc(`docs/superpowers/specs/` 下无对应文件)
|
|
12
|
+
|
|
13
|
+
## 步骤
|
|
14
|
+
|
|
15
|
+
### 0. 入口状态验证(Entry Check)
|
|
16
|
+
|
|
17
|
+
执行入口验证:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
COMET_STATE="${COMET_STATE:-$(find . -path '*/comet/scripts/comet-state.sh' -type f -print -quit)}"
|
|
21
|
+
bash "$COMET_STATE" check <name> design
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
25
|
+
|
|
26
|
+
### 1a. 读取已有上下文
|
|
27
|
+
|
|
28
|
+
读取活跃 change 下的 `proposal.md` 和 `design.md`,将核心内容整理为摘要:
|
|
29
|
+
- **proposal 摘要**:目标、动机、范围
|
|
30
|
+
- **design 摘要**:架构决策、高层设计
|
|
31
|
+
|
|
32
|
+
### 1b. 执行 Brainstorming(带上下文)
|
|
33
|
+
|
|
34
|
+
**立即执行:** 使用 Skill 工具加载 `superpowers:brainstorming` 技能,ARGUMENTS 包含:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Change: <change-name>
|
|
38
|
+
Proposal 摘要: <proposal 核心内容>
|
|
39
|
+
Design 摘要: <design.md 架构决策>
|
|
40
|
+
跳过上下文探索,直接进入设计提问。
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
禁止跳过此步骤,禁止在未加载该技能的情况下继续。
|
|
44
|
+
|
|
45
|
+
如 `superpowers:brainstorming` 不可用,停止流程并提示安装或启用 Superpowers 技能,不要用普通对话替代该步骤。
|
|
46
|
+
|
|
47
|
+
技能加载后,按其指引产出:
|
|
48
|
+
- `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md` — 设计文档(技术 RFC)
|
|
49
|
+
- `openspec/changes/<name>/specs/<capability>/spec.md` — 能力规格(delta)
|
|
50
|
+
|
|
51
|
+
### 2. 更新 Comet 状态
|
|
52
|
+
|
|
53
|
+
先记录 design_doc 路径,再运行 guard 自动流转:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# 记录 design_doc 路径
|
|
57
|
+
bash "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
|
|
58
|
+
|
|
59
|
+
# 自动流转到下一阶段
|
|
60
|
+
bash $COMET_GUARD <change-name> design --apply
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
状态文件自动更新,无需手动编辑其他字段。
|
|
64
|
+
|
|
65
|
+
### 3. 双 Spec 分工
|
|
66
|
+
|
|
67
|
+
| Spec 类型 | 归属 | 存放位置 | 定义 |
|
|
68
|
+
|-----------|------|---------|------|
|
|
69
|
+
| 能力规格 | OpenSpec | `openspec/changes/<name>/specs/` | 系统应该做什么(需求 + 验收场景) |
|
|
70
|
+
| 设计文档 | Superpowers | `docs/superpowers/specs/` | 怎么构建(技术架构 + 实现细节) |
|
|
71
|
+
|
|
72
|
+
### 4. 文档层级确认
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
proposal.md(阶段 1) → Why + What
|
|
76
|
+
design.md(阶段 1,OpenSpec) → 高层架构决策
|
|
77
|
+
设计文档(阶段 2,Superpowers) → 深度技术设计
|
|
78
|
+
能力规格(阶段 2,delta) → 需求 + 验收场景
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 退出条件
|
|
82
|
+
|
|
83
|
+
- Design Doc 已创建并保存
|
|
84
|
+
- 如有新能力则 delta spec 已创建
|
|
85
|
+
- **阶段守卫**:运行 `bash $COMET_GUARD <change-name> design`,全部 PASS 后才允许流转
|
|
86
|
+
|
|
87
|
+
## 自动流转
|
|
88
|
+
|
|
89
|
+
退出条件满足后,**无需等待用户再次输入**,直接执行下一阶段:
|
|
90
|
+
|
|
91
|
+
> **REQUIRED NEXT SKILL:** 调用 `comet-build` skill 进入计划与构建阶段。
|
|
@@ -25,7 +25,7 @@ Hotfix 是 Comet 五阶段能力的预设工作流,不是独立的平行流程
|
|
|
25
25
|
执行入口验证:
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
COMET_STATE
|
|
28
|
+
COMET_STATE="${COMET_STATE:-$(find . -path '*/comet/scripts/comet-state.sh' -type f -print -quit)}"
|
|
29
29
|
bash "$COMET_STATE" check <name> open
|
|
30
30
|
```
|
|
31
31
|
|
|
@@ -60,7 +60,7 @@ bash "$COMET_STATE" init <name> hotfix
|
|
|
60
60
|
1. 读取 `openspec/changes/<name>/tasks.md`,获取未完成任务列表
|
|
61
61
|
2. 对每个未完成任务:
|
|
62
62
|
- 根据任务描述修改代码
|
|
63
|
-
-
|
|
63
|
+
- 运行项目格式化命令(如 `mvn spotless:apply`、`npm run format` 等)
|
|
64
64
|
- 运行相关测试确认通过
|
|
65
65
|
- 将 tasks.md 中对应 `- [ ]` 勾选为 `- [x]`
|
|
66
66
|
- 提交代码,commit message 格式:`fix: <简述修复>`
|
|
@@ -114,12 +114,15 @@ Hotfix 流程为 **一次性连续执行**。调用 `/comet-hotfix` 后,agent
|
|
|
114
114
|
|
|
115
115
|
## 升级条件
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
满足以下**任一**条件时,停止 hotfix 流程,升级为完整 `/comet`:
|
|
118
118
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
3
|
|
122
|
-
|
|
119
|
+
| 条件 | 说明 |
|
|
120
|
+
|------|------|
|
|
121
|
+
| 改动涉及 **3+ 文件** | 超出单点修复范围 |
|
|
122
|
+
| 架构变更 | 新模块、新接口、新依赖 |
|
|
123
|
+
| 数据库 schema 变更 | 结构性调整 |
|
|
124
|
+
| 引入新的 public API | 修复产生了新的对外接口 |
|
|
125
|
+
| 修复范围超出单一函数/模块 | 需要多处协调修改 |
|
|
123
126
|
|
|
124
127
|
升级方式:在当前 change 基础上补充 Design Doc(执行 `/comet-design`),后续正常走完整流程。
|
|
125
128
|
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comet-open
|
|
3
|
-
description: "Comet 阶段 1:开启。用 /comet-open 调用。通过 OpenSpec 探索想法、创建 change 结构(proposal + design + tasks)。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Comet 阶段 1:开启(Open)
|
|
7
|
-
|
|
8
|
-
## 前置条件
|
|
9
|
-
|
|
10
|
-
- 无活跃 change,或用户希望创建新 change
|
|
11
|
-
|
|
12
|
-
## 步骤
|
|
13
|
-
|
|
14
|
-
### 0. 入口状态验证(Entry Check)
|
|
15
|
-
|
|
16
|
-
执行入口验证:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
COMET_STATE
|
|
20
|
-
bash "$COMET_STATE" check <name> open
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
24
|
-
|
|
25
|
-
### 1. 探索想法
|
|
26
|
-
|
|
27
|
-
**立即执行:** 使用 Skill 工具加载 `openspec-explore` 技能。禁止跳过此步骤。
|
|
28
|
-
|
|
29
|
-
技能加载后,按其指引自由探索问题空间。
|
|
30
|
-
|
|
31
|
-
### 2. 创建 Change 结构
|
|
32
|
-
|
|
33
|
-
**立即执行:** 使用 Skill 工具加载 `openspec-new-change` 技能。若用户意图未明确、需要先形成建议,改为加载 `openspec-propose`。禁止跳过此步骤。
|
|
34
|
-
|
|
35
|
-
确认以下产物已创建:
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
openspec/changes/<name>/
|
|
39
|
-
├── .openspec.yaml
|
|
40
|
-
├── .comet.yaml
|
|
41
|
-
├── proposal.md # Why + What:问题、目标、范围
|
|
42
|
-
├── design.md # How(高层):架构决策、方案选型
|
|
43
|
-
└── tasks.md # 任务清单(勾选框)
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### 3. 初始化 Comet 状态
|
|
47
|
-
|
|
48
|
-
初始化 Comet 状态文件:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
bash "$COMET_STATE" init <name> full
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### 4. 内容完整性检查
|
|
55
|
-
|
|
56
|
-
确认三个文档内容完整:
|
|
57
|
-
- **proposal.md**:问题背景、目标、范围、非目标
|
|
58
|
-
- **design.md**:高层架构决策、方案选型、数据流
|
|
59
|
-
- **tasks.md**:任务列表,每个任务有明确描述
|
|
60
|
-
|
|
61
|
-
## 退出条件
|
|
62
|
-
|
|
63
|
-
- proposal.md、design.md、tasks.md 均已创建且内容完整
|
|
64
|
-
- **阶段守卫**:运行 `bash $COMET_GUARD <change-name> open`,全部 PASS 后才允许流转
|
|
65
|
-
|
|
66
|
-
## 自动流转
|
|
67
|
-
|
|
68
|
-
退出条件满足后,**无需等待用户再次输入**,直接执行下一阶段:
|
|
69
|
-
|
|
70
|
-
> **REQUIRED NEXT SKILL:** 调用 `comet-design` skill 进入深度设计阶段。
|
|
1
|
+
---
|
|
2
|
+
name: comet-open
|
|
3
|
+
description: "Comet 阶段 1:开启。用 /comet-open 调用。通过 OpenSpec 探索想法、创建 change 结构(proposal + design + tasks)。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comet 阶段 1:开启(Open)
|
|
7
|
+
|
|
8
|
+
## 前置条件
|
|
9
|
+
|
|
10
|
+
- 无活跃 change,或用户希望创建新 change
|
|
11
|
+
|
|
12
|
+
## 步骤
|
|
13
|
+
|
|
14
|
+
### 0. 入口状态验证(Entry Check)
|
|
15
|
+
|
|
16
|
+
执行入口验证:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
COMET_STATE="${COMET_STATE:-$(find . -path '*/comet/scripts/comet-state.sh' -type f -print -quit)}"
|
|
20
|
+
bash "$COMET_STATE" check <name> open
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
24
|
+
|
|
25
|
+
### 1. 探索想法
|
|
26
|
+
|
|
27
|
+
**立即执行:** 使用 Skill 工具加载 `openspec-explore` 技能。禁止跳过此步骤。
|
|
28
|
+
|
|
29
|
+
技能加载后,按其指引自由探索问题空间。
|
|
30
|
+
|
|
31
|
+
### 2. 创建 Change 结构
|
|
32
|
+
|
|
33
|
+
**立即执行:** 使用 Skill 工具加载 `openspec-new-change` 技能。若用户意图未明确、需要先形成建议,改为加载 `openspec-propose`。禁止跳过此步骤。
|
|
34
|
+
|
|
35
|
+
确认以下产物已创建:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
openspec/changes/<name>/
|
|
39
|
+
├── .openspec.yaml
|
|
40
|
+
├── .comet.yaml
|
|
41
|
+
├── proposal.md # Why + What:问题、目标、范围
|
|
42
|
+
├── design.md # How(高层):架构决策、方案选型
|
|
43
|
+
└── tasks.md # 任务清单(勾选框)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 3. 初始化 Comet 状态
|
|
47
|
+
|
|
48
|
+
初始化 Comet 状态文件:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
bash "$COMET_STATE" init <name> full
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 4. 内容完整性检查
|
|
55
|
+
|
|
56
|
+
确认三个文档内容完整:
|
|
57
|
+
- **proposal.md**:问题背景、目标、范围、非目标
|
|
58
|
+
- **design.md**:高层架构决策、方案选型、数据流
|
|
59
|
+
- **tasks.md**:任务列表,每个任务有明确描述
|
|
60
|
+
|
|
61
|
+
## 退出条件
|
|
62
|
+
|
|
63
|
+
- proposal.md、design.md、tasks.md 均已创建且内容完整
|
|
64
|
+
- **阶段守卫**:运行 `bash $COMET_GUARD <change-name> open`,全部 PASS 后才允许流转
|
|
65
|
+
|
|
66
|
+
## 自动流转
|
|
67
|
+
|
|
68
|
+
退出条件满足后,**无需等待用户再次输入**,直接执行下一阶段:
|
|
69
|
+
|
|
70
|
+
> **REQUIRED NEXT SKILL:** 调用 `comet-design` skill 进入深度设计阶段。
|