@rpamis/comet 0.3.5 → 0.3.6

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.
@@ -23,7 +23,7 @@ if [ -z "$COMET_ENV" ]; then
23
23
  return 1
24
24
  fi
25
25
  . "$COMET_ENV"
26
- bash "$COMET_STATE" check <name> design
26
+ "$COMET_BASH" "$COMET_STATE" check <name> design
27
27
  ```
28
28
 
29
29
  验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
@@ -35,7 +35,7 @@ bash "$COMET_STATE" check <name> design
35
35
  **必须由脚本生成,不允许 agent 临场手写 summary 代替。**
36
36
 
37
37
  ```bash
38
- bash "$COMET_HANDOFF" <change-name> design --write
38
+ "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write
39
39
  ```
40
40
 
41
41
  脚本会生成并记录:
@@ -60,7 +60,7 @@ handoff_hash: <sha256>
60
60
  如确实需要全文上下文,可显式运行:
61
61
 
62
62
  ```bash
63
- bash "$COMET_HANDOFF" <change-name> design --write --full
63
+ "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write --full
64
64
  ```
65
65
 
66
66
  交接包来源来自 OpenSpec open 阶段产物:
@@ -71,7 +71,7 @@ bash "$COMET_HANDOFF" <change-name> design --write --full
71
71
 
72
72
  ### 1b. 执行 Brainstorming(带上下文)
73
73
 
74
- **立即执行:** 使用 Skill 工具加载 `superpowers:brainstorming` 技能,ARGUMENTS 包含:
74
+ **立即执行:** 使用 Skill 工具加载 Superpowers `brainstorming` 技能,ARGUMENTS 包含:
75
75
 
76
76
  ```
77
77
  Change: <change-name>
@@ -94,7 +94,7 @@ canonical_spec: openspec
94
94
 
95
95
  禁止跳过此步骤,禁止在未加载该技能的情况下继续。
96
96
 
97
- 如 `superpowers:brainstorming` 不可用,停止流程并提示安装或启用 Superpowers 技能,不要用普通对话替代该步骤。
97
+ Superpowers `brainstorming` 技能不可用,停止流程并提示安装或启用 Superpowers 技能,不要用普通对话替代该步骤。
98
98
 
99
99
  技能加载后,按其指引产出设计方案(以对话形式呈现):
100
100
  - 技术方案:架构、数据流、关键技术选型与风险
@@ -121,13 +121,13 @@ brainstorming 产出设计方案后,**必须使用 AskUserQuestion 工具暂
121
121
 
122
122
  ```bash
123
123
  # 记录 design_doc 路径
124
- bash "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
124
+ "$COMET_BASH" "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
125
125
 
126
126
  # 如有 delta spec 变更,重新生成 handoff(更新 hash)
127
- bash "$COMET_HANDOFF" <change-name> design --write
127
+ "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write
128
128
 
129
129
  # 自动流转到下一阶段
130
- bash "$COMET_GUARD" <change-name> design --apply
130
+ "$COMET_BASH" "$COMET_GUARD" <change-name> design --apply
131
131
  ```
132
132
 
133
133
  如果没有 delta spec 变更,跳过 handoff 重新生成步骤。状态文件自动更新,无需手动编辑其他字段。
@@ -141,12 +141,12 @@ bash "$COMET_GUARD" <change-name> design --apply
141
141
  - `design-context.md` 必须是脚本生成,且包含 source path、mode、sha256 等可追溯标记(由 guard 强制校验)
142
142
  - 如有新能力或补充验收场景,OpenSpec delta spec 已创建/更新
143
143
  - `design_doc` 已写入 `.comet.yaml`
144
- - **阶段守卫**:运行 `bash "$COMET_GUARD" <change-name> design --apply`,全部 PASS 后自动流转到 `phase: build`
144
+ - **阶段守卫**:运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> design --apply`,全部 PASS 后自动流转到 `phase: build`
145
145
 
146
146
  退出前必须使用 `--apply`:
147
147
 
148
148
  ```bash
149
- bash "$COMET_GUARD" <change-name> design --apply
149
+ "$COMET_BASH" "$COMET_GUARD" <change-name> design --apply
150
150
  ```
151
151
 
152
152
  ## 上下文压缩恢复
@@ -154,7 +154,7 @@ bash "$COMET_GUARD" <change-name> design --apply
154
154
  design 阶段在 brainstorming 过程中可能触发上下文压缩。恢复时先运行:
155
155
 
156
156
  ```bash
157
- bash "$COMET_STATE" check <change-name> design --recover
157
+ "$COMET_BASH" "$COMET_STATE" check <change-name> design --recover
158
158
  ```
159
159
 
160
160
  脚本输出结构化恢复上下文(阶段、已完成字段、待完成字段、恢复动作)。按 Recovery action 判断下一步。
@@ -46,24 +46,24 @@ fi
46
46
  初始化 Comet 状态文件:
47
47
 
48
48
  ```bash
49
- bash "$COMET_STATE" init <name> hotfix
49
+ "$COMET_BASH" "$COMET_STATE" init <name> hotfix
50
50
  ```
51
51
 
52
52
  初始化后验证状态:
53
53
 
54
54
  ```bash
55
- bash "$COMET_STATE" check <name> open
55
+ "$COMET_BASH" "$COMET_STATE" check <name> open
56
56
  ```
57
57
 
58
58
  阶段守卫完成 open → build 过渡:
59
59
 
60
60
  ```bash
61
- bash "$COMET_GUARD" <change-name> open --apply
61
+ "$COMET_BASH" "$COMET_GUARD" <change-name> open --apply
62
62
  ```
63
63
 
64
64
  ### 2. 直接构建(preset build)
65
65
 
66
- 使用 hotfix 默认值:`build_mode: direct`。跳过 `superpowers:brainstorming` 和 `superpowers:writing-plans`(除非任务 > 3 个;若超过 3 个任务,转入 `/comet-build` 的计划与执行方式选择)。
66
+ 使用 hotfix 默认值:`build_mode: direct`。跳过 Superpowers `brainstorming` 和 `writing-plans`(除非任务 > 3 个;若超过 3 个任务,转入 `/comet-build` 的计划与执行方式选择)。
67
67
 
68
68
  继续或开始修改前,按 `comet/reference/dirty-worktree.md` 协议处理未提交改动。若归因后发现修复范围超出 hotfix,按本文件“升级条件”处理。
69
69
 
@@ -97,7 +97,7 @@ bash "$COMET_GUARD" <change-name> open --apply
97
97
  根因确认消除后,运行阶段守卫完成 build → verify 过渡:
98
98
 
99
99
  ```bash
100
- bash "$COMET_GUARD" <change-name> build --apply
100
+ "$COMET_BASH" "$COMET_GUARD" <change-name> build --apply
101
101
  ```
102
102
 
103
103
  状态文件自动更新为 `phase: verify`、`verify_result: pending`,然后进入验证。
@@ -154,7 +154,7 @@ Hotfix 流程为 **一次性连续执行**。调用 `/comet-hotfix` 后,agent
154
154
  用户确认升级后,**必须先更新 workflow 字段**再进入完整流程:
155
155
 
156
156
  ```bash
157
- bash "$COMET_STATE" set <name> workflow full
157
+ "$COMET_BASH" "$COMET_STATE" set <name> workflow full
158
158
  ```
159
159
 
160
160
  然后在当前 change 基础上补充 Design Doc:**立即使用 Skill 工具加载 `comet-design` skill**,后续正常走完整流程。若用户不确认升级,停止 hotfix 并报告当前变更已超出 hotfix 适用范围。
@@ -166,4 +166,4 @@ bash "$COMET_STATE" set <name> workflow full
166
166
  - Bug 已修复,测试通过
167
167
  - change 已归档
168
168
  - 如有 spec 变更,已同步到 main spec
169
- - **阶段守卫**:build → verify 前运行 `bash "$COMET_GUARD" <change-name> build --apply`,verify → archive 前按 `/comet-verify` 规则运行 `bash "$COMET_GUARD" <change-name> verify --apply`
169
+ - **阶段守卫**:build → verify 前运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> build --apply`,verify → archive 前按 `/comet-verify` 规则运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> verify --apply`
@@ -49,7 +49,7 @@ if [ -z "$COMET_STATE" ] || [ -z "$COMET_GUARD" ]; then
49
49
  return 1
50
50
  fi
51
51
 
52
- bash "$COMET_STATE" init <name> full
52
+ "$COMET_BASH" "$COMET_STATE" init <name> full
53
53
  ```
54
54
 
55
55
  ### 3. 入口状态验证
@@ -57,7 +57,7 @@ bash "$COMET_STATE" init <name> full
57
57
  验证状态机已正确初始化:
58
58
 
59
59
  ```bash
60
- bash "$COMET_STATE" check <name> open
60
+ "$COMET_BASH" "$COMET_STATE" check <name> open
61
61
  ```
62
62
 
63
63
  验证通过后继续 Step 4。验证失败时脚本会输出具体失败原因。
@@ -94,12 +94,12 @@ AskUserQuestion 必须以单选题形式呈现,包含以下摘要和选项:
94
94
 
95
95
  - proposal.md、design.md、tasks.md 均已创建且内容完整
96
96
  - **用户已确认** proposal、design、tasks 内容符合预期
97
- - **阶段守卫**:运行 `bash "$COMET_GUARD" <change-name> open --apply`,全部 PASS 后自动流转到下一阶段
97
+ - **阶段守卫**:运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> open --apply`,全部 PASS 后自动流转到下一阶段
98
98
 
99
99
  退出前必须使用 `--apply`,否则 `.comet.yaml` 仍停留在 `phase: open`,下一阶段入口检查会失败。
100
100
 
101
101
  ```bash
102
- bash "$COMET_GUARD" <change-name> open --apply
102
+ "$COMET_BASH" "$COMET_GUARD" <change-name> open --apply
103
103
  ```
104
104
 
105
105
  完整流程会自动更新为 `phase: design`;hotfix/tweak preset 会自动更新为 `phase: build`。
@@ -49,24 +49,24 @@ fi
49
49
  初始化 Comet 状态文件:
50
50
 
51
51
  ```bash
52
- bash "$COMET_STATE" init <name> tweak
52
+ "$COMET_BASH" "$COMET_STATE" init <name> tweak
53
53
  ```
54
54
 
55
55
  初始化后验证状态:
56
56
 
57
57
  ```bash
58
- bash "$COMET_STATE" check <name> open
58
+ "$COMET_BASH" "$COMET_STATE" check <name> open
59
59
  ```
60
60
 
61
61
  阶段守卫完成 open → build 过渡:
62
62
 
63
63
  ```bash
64
- bash "$COMET_GUARD" <change-name> open --apply
64
+ "$COMET_BASH" "$COMET_GUARD" <change-name> open --apply
65
65
  ```
66
66
 
67
67
  ### 2. 轻量构建(preset build)
68
68
 
69
- 使用 tweak 默认值:`build_mode: direct`。跳过 `superpowers:brainstorming` 和 `superpowers:writing-plans`。
69
+ 使用 tweak 默认值:`build_mode: direct`。跳过 Superpowers `brainstorming` 和 `writing-plans`。
70
70
 
71
71
  继续或开始修改前,按 `comet/reference/dirty-worktree.md` 协议处理未提交改动。若归因后发现范围超出 tweak,按本文件“升级条件”处理。
72
72
 
@@ -83,7 +83,7 @@ bash "$COMET_GUARD" <change-name> open --apply
83
83
  4. 运行阶段守卫完成 build → verify 过渡:
84
84
 
85
85
  ```bash
86
- bash "$COMET_GUARD" <change-name> build --apply
86
+ "$COMET_BASH" "$COMET_GUARD" <change-name> build --apply
87
87
  ```
88
88
 
89
89
  状态文件自动更新为 `phase: verify`、`verify_result: pending`,然后进入验证。
@@ -139,7 +139,7 @@ Tweak 流程为 **一次性连续执行**。调用 `/comet-tweak` 后,agent
139
139
  用户确认升级后,**必须先更新 workflow 字段**再进入完整流程:
140
140
 
141
141
  ```bash
142
- bash "$COMET_STATE" set <name> workflow full
142
+ "$COMET_BASH" "$COMET_STATE" set <name> workflow full
143
143
  ```
144
144
 
145
145
  然后在当前 change 基础上补充 Design Doc:**立即使用 Skill 工具加载 `comet-design` skill**,后续正常走完整流程。若用户不确认升级,停止 tweak 并报告当前变更已超出 tweak 适用范围。
@@ -151,4 +151,4 @@ bash "$COMET_STATE" set <name> workflow full
151
151
  - 小改动已完成,测试通过
152
152
  - change 已归档
153
153
  - 未新增 capability、架构调整或接口变化
154
- - **阶段守卫**:build → verify 前运行 `bash "$COMET_GUARD" <change-name> build --apply`,verify → archive 前按 `/comet-verify` 规则运行 `bash "$COMET_GUARD" <change-name> verify --apply`
154
+ - **阶段守卫**:build → verify 前运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> build --apply`,verify → archive 前按 `/comet-verify` 规则运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> verify --apply`
@@ -23,7 +23,7 @@ if [ -z "$COMET_ENV" ]; then
23
23
  return 1
24
24
  fi
25
25
  . "$COMET_ENV"
26
- bash "$COMET_STATE" check <change-name> verify
26
+ "$COMET_BASH" "$COMET_STATE" check <change-name> verify
27
27
  ```
28
28
 
29
29
  验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
@@ -35,7 +35,7 @@ bash "$COMET_STATE" check <change-name> verify
35
35
  执行规模评估:
36
36
 
37
37
  ```bash
38
- bash "$COMET_STATE" scale <change-name>
38
+ "$COMET_BASH" "$COMET_STATE" scale <change-name>
39
39
  ```
40
40
 
41
41
  脚本自动统计任务数、增量规格数、变更文件数,判断使用 light 或 full 验证模式,并设置 verify_mode 字段。
@@ -50,13 +50,13 @@ bash "$COMET_STATE" scale <change-name>
50
50
 
51
51
  ```bash
52
52
  # 仅在用户确认修复后执行
53
- bash "$COMET_STATE" transition <change-name> verify-fail
53
+ "$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail
54
54
  ```
55
55
 
56
56
  注意:如果 build 阶段每个任务都已提交,脚本基于工作区 diff 的文件数可能低估改动规模。此时必须读取 plan 文件头的 `base-ref` 并用提交区间复核:
57
57
 
58
58
  ```bash
59
- PLAN=$(bash "$COMET_STATE" get <change-name> plan)
59
+ PLAN=$("$COMET_BASH" "$COMET_STATE" get <change-name> plan)
60
60
  BASE_REF=$(grep '^base-ref:' "$PLAN" 2>/dev/null | head -1 | sed 's/^base-ref: *//')
61
61
  git diff --stat "$BASE_REF"...HEAD
62
62
  ```
@@ -64,12 +64,12 @@ git diff --stat "$BASE_REF"...HEAD
64
64
  若提交区间显示改动超过轻量阈值(> 4 个文件、跨模块协调、或 delta spec 超过 1 个 capability),手动设置为完整验证:
65
65
 
66
66
  ```bash
67
- bash "$COMET_STATE" set <change-name> verify_mode full
67
+ "$COMET_BASH" "$COMET_STATE" set <change-name> verify_mode full
68
68
  ```
69
69
 
70
70
  ### 1b. 验证失败决策(阻塞点)
71
71
 
72
- 验证不通过时**必须使用 AskUserQuestion 工具暂停并等待用户决定修复或接受偏差**。不得自动运行 `bash "$COMET_STATE" transition <change-name> verify-fail`,也不得自动调用 `/comet-build`。禁止仅输出文字提示后继续执行。
72
+ 验证不通过时**必须使用 AskUserQuestion 工具暂停并等待用户决定修复或接受偏差**。不得自动运行 `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`,也不得自动调用 `/comet-build`。禁止仅输出文字提示后继续执行。
73
73
 
74
74
  暂停时必须列出:
75
75
  - 失败项
@@ -79,7 +79,7 @@ bash "$COMET_STATE" set <change-name> verify_mode full
79
79
  **不确定性原则**:无法确定严重程度时,降级处理(SUGGESTION > WARNING > CRITICAL)。仅对构建失败、测试失败、安全问题使用 CRITICAL;模糊或不确定的问题标为 WARNING 或 SUGGESTION。
80
80
 
81
81
  用户选择后按以下方式继续:
82
- - **全部修复**:运行 `bash "$COMET_STATE" transition <change-name> verify-fail`,然后调用 `/comet-build` 修复
82
+ - **全部修复**:运行 `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`,然后调用 `/comet-build` 修复
83
83
  - **逐项处理**:CRITICAL 失败项必须修复;非 CRITICAL 失败项可选择接受偏差,但必须在验证报告中记录接受原因和影响范围。若存在任何 CRITICAL 失败项,不允许跳过修复直接全部接受
84
84
 
85
85
  ### 2a. 轻量验证(小改动)
@@ -98,7 +98,7 @@ bash "$COMET_STATE" set <change-name> verify_mode full
98
98
 
99
99
  ```bash
100
100
  # 仅在用户确认修复后执行
101
- bash "$COMET_STATE" transition <change-name> verify-fail
101
+ "$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail
102
102
  ```
103
103
 
104
104
  **报告格式**:简表列出 5 项检查结果 + PASS/FAIL。
@@ -128,20 +128,20 @@ bash "$COMET_STATE" transition <change-name> verify-fail
128
128
 
129
129
  ```bash
130
130
  # 仅在用户确认修复后执行
131
- bash "$COMET_STATE" transition <change-name> verify-fail
131
+ "$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail
132
132
  ```
133
133
 
134
134
  **Spec 漂移处理**(用户决策点):
135
135
  - 若检查项 6 发现矛盾(delta spec 有内容但 design doc 未体现),**必须使用 AskUserQuestion 工具以单选题形式暂停并等待用户选择处理方式**,不得自动选择。选项:
136
136
  - 选项 A:在 design doc 追加 "Implementation Divergence" 节记录偏差原因。选项 A 属于 verify 阶段允许产物;写入后不得因该 design doc 变更再次触发 Step 1b dirty-worktree 决策
137
- - 选项 B:用户选择 B 后,运行 `bash "$COMET_STATE" transition <change-name> verify-fail`,然后调用 `/comet-build`;由 `/comet-build` 的 Spec 增量更新规则加载 `superpowers:brainstorming` 更新 Design Doc + delta spec
137
+ - 选项 B:用户选择 B 后,运行 `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`,然后调用 `/comet-build`;由 `/comet-build` 的 Spec 增量更新规则加载 Superpowers `brainstorming` 更新 Design Doc + delta spec
138
138
  - 选项 C:确认偏差可接受,继续验证(归档时 design doc 将标记为 `superseded-by-main-spec`)
139
139
 
140
140
  ### 3. 收尾(Superpowers)
141
141
 
142
- **立即执行:** 使用 Skill 工具加载 `superpowers:finishing-a-development-branch` 技能。禁止跳过此步骤。
142
+ **立即执行:** 使用 Skill 工具加载 Superpowers `finishing-a-development-branch` 技能。禁止跳过此步骤。
143
143
 
144
- 如 `superpowers:finishing-a-development-branch` 不可用,停止流程并提示安装或启用 Superpowers 技能,不要用普通对话替代该步骤。
144
+ Superpowers `finishing-a-development-branch` 技能不可用,停止流程并提示安装或启用 Superpowers 技能,不要用普通对话替代该步骤。
145
145
 
146
146
  技能加载后,按其指引收尾。分支处理选项:
147
147
  1. 本地合并到主分支
@@ -164,8 +164,8 @@ mkdir -p docs/superpowers/reports
164
164
  # 将本次验证结论写入报告文件,例如:
165
165
  # docs/superpowers/reports/YYYY-MM-DD-<change-name>-verify.md
166
166
 
167
- bash "$COMET_STATE" set <change-name> verification_report docs/superpowers/reports/YYYY-MM-DD-<change-name>-verify.md
168
- bash "$COMET_STATE" set <change-name> branch_status handled
167
+ "$COMET_BASH" "$COMET_STATE" set <change-name> verification_report docs/superpowers/reports/YYYY-MM-DD-<change-name>-verify.md
168
+ "$COMET_BASH" "$COMET_STATE" set <change-name> branch_status handled
169
169
  ```
170
170
 
171
171
  ## 退出条件
@@ -174,12 +174,12 @@ bash "$COMET_STATE" set <change-name> branch_status handled
174
174
  - 分支已处理
175
175
  - `.comet.yaml` 中 `verification_report` 指向已存在的验证报告文件
176
176
  - `.comet.yaml` 中 `branch_status: handled`
177
- - **阶段守卫**:运行 `bash "$COMET_GUARD" <change-name> verify --apply`,全部 PASS 后通过 `comet-state transition verify-pass` 自动流转到 `phase: archive`
177
+ - **阶段守卫**:运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> verify --apply`,全部 PASS 后通过 `comet-state transition verify-pass` 自动流转到 `phase: archive`
178
178
 
179
179
  验证和分支处理均完成后,运行 guard 自动流转:
180
180
 
181
181
  ```bash
182
- bash "$COMET_GUARD" <change-name> verify --apply
182
+ "$COMET_BASH" "$COMET_GUARD" <change-name> verify --apply
183
183
  ```
184
184
 
185
185
  状态文件自动更新为 `phase: archive`、`verify_result: pass`、`verified_at: YYYY-MM-DD`。
@@ -189,7 +189,7 @@ bash "$COMET_GUARD" <change-name> verify --apply
189
189
  Verify 阶段可能触发上下文压缩。恢复时先运行:
190
190
 
191
191
  ```bash
192
- bash "$COMET_STATE" check <change-name> verify --recover
192
+ "$COMET_BASH" "$COMET_STATE" check <change-name> verify --recover
193
193
  ```
194
194
 
195
195
  脚本输出结构化恢复上下文(phase、验证状态、分支状态、恢复动作),根据输出的 Recovery action 决定下一步。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpamis/comet",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "description": "OpenSpec + Superpowers dual-star development workflow",
5
5
  "keywords": [
6
6
  "comet",