@rpamis/comet 0.2.4 → 0.2.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.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 rpamis
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 rpamis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  <p align="center">
2
- <a href="https://github.com/rpamis/comet">
2
+ <a href="https://github.com/rpamis/comet/blob/master/img/title-log.png">
3
3
  <picture>
4
- <source srcset="img/title-log.png">
5
- <img src="img/title-log.png" alt="Comet logo">
4
+ <source srcset="https://github.com/rpamis/comet/blob/master/img/title-log.png">
5
+ <img src="https://github.com/rpamis/comet/blob/master/img/title-log.png" alt="Comet logo">
6
6
  </picture>
7
7
  </a>
8
8
  </p>
@@ -72,7 +72,7 @@ comet init
72
72
  ## Screenshots
73
73
 
74
74
  <p align="center">
75
- <img src="img/runner.png" alt="runner">
75
+ <img src="https://github.com/rpamis/comet/blob/master/img/runner.png" alt="runner">
76
76
  </p>
77
77
 
78
78
  <p align="center">Auto-install OpenSpec & Superpowers, one-click dev environment setup</p>
@@ -83,9 +83,9 @@ comet init
83
83
  | Command | Description |
84
84
  |---------|-------------|
85
85
  | `comet init [path]` | Initialize Comet workflow |
86
- | `comet status [path]` | Show active changes and workflow status |
87
- | `comet doctor [path]` | Diagnose Comet installation health |
88
- | `comet update [path]` | Update comet skills to latest version |
86
+ | `comet status [path]` | Show active changes, task progress, and next workflow command |
87
+ | `comet doctor [path]` | Diagnose project/global Comet installation health |
88
+ | `comet update [path]` | Update the npm package and installed Comet skills |
89
89
  | `comet --help` | Show help |
90
90
  | `comet --version` | Show version |
91
91
 
@@ -98,13 +98,28 @@ comet init
98
98
  | `--overwrite` | Overwrite already installed components |
99
99
  | `--json` | Output structured JSON |
100
100
 
101
- ### status / doctor / update Options
101
+ When multiple existing components are found on the same platform, interactive init offers one bulk choice: overwrite all, skip all, or choose per component.
102
102
 
103
- | Option | Applies to | Description |
104
- |--------|-----------|-------------|
105
- | `--json` | `status`, `doctor` | Output structured JSON |
106
- | `--language <lang>` | `update` | Language for skills (`en`, `zh`) |
107
- | `--scope <scope>` | `update` | Install scope (`global`, `project`)|
103
+ ### status Options
104
+
105
+ | Option | Description |
106
+ |--------|-------------|
107
+ | `--json` | Output active changes with `nextCommand` |
108
+
109
+ ### doctor Options
110
+
111
+ | Option | Description |
112
+ |--------|-------------|
113
+ | `--json` | Output structured diagnostic results |
114
+ | `--scope <scope>` | Diagnose `auto`, `project`, or `global` scope (default: `auto`) |
115
+
116
+ ### update Options
117
+
118
+ | Option | Description |
119
+ |--------|-------------|
120
+ | `--json` | Output npm and skill update results as JSON |
121
+ | `--language <lang>` | Override detected skill language (`en`, `zh`) |
122
+ | `--scope <scope>` | Update only `global` or `project` scope |
108
123
 
109
124
  ## Supported Platforms
110
125
 
@@ -220,6 +235,8 @@ verified_at: null
220
235
  archived: false
221
236
  ```
222
237
 
238
+ In full workflow, `build_mode` and `isolation` may temporarily be `null` at init time, but they must be resolved before `build → verify`. `direct` is allowed by default only for hotfix/tweak; full workflow requires `direct_override: true`. Projects can configure `build_command` / `verify_command` in the change or repo root, and guard will run those commands first and print failure output.
239
+
223
240
  All states and execution phases are updated via scripts, and **each phase verifies that tasks are truly completed before exiting — conditions are met before the phase exits and state is updated**. Compared to recording complex state management mechanisms in Skills, the script approach strongly guarantees the reliability of core state transitions, correctness of YAML files, and convenience of breakpoint recovery — Agents only need to use Comet's built-in commands to read state and know the current Spec's situation.
224
241
 
225
242
  ### Reliability Features
@@ -237,18 +254,23 @@ Comet ensures agent execution reliability through automated state transitions:
237
254
  - Guard and archive scripts use `comet-state.sh` internally for state management
238
255
 
239
256
  3. **Schema Validation** — `comet-yaml-validate.sh` ensures data integrity
240
- - Validates required fields (12 fields)
241
- - Validates enum values (8 enum types)
257
+ - Validates required and optional fields
258
+ - Validates enum values, including `direct_override`
242
259
  - Validates referenced file paths exist
243
260
  - Detects unknown/typos fields
244
261
 
245
- 4. **Verification Evidence** — Guard enforces proof before phase advance
262
+ 4. **Build Decision Enforcement** — Guard and state transitions both block skipped build choices
263
+ - `isolation` must be `branch` or `worktree`
264
+ - `build_mode` must be selected before leaving build
265
+ - Full workflow `build_mode: direct` requires `direct_override: true`
266
+
267
+ 5. **Verification Evidence** — Guard enforces proof before phase advance
246
268
  - `verify-pass` transition requires `verification_report` pointing to an existing report file
247
269
  - `branch_status` must be `handled` before verify can pass
248
270
  - Guard checks `verification_report exists` and `branch_status=handled` as hard prerequisites
249
271
  - Prevents false phase advances when verification or branch handling was skipped
250
272
 
251
- 5. **Archive Automation** — `comet-archive.sh` handles the full archive flow in one command
273
+ 6. **Archive Automation** — `comet-archive.sh` handles the full archive flow in one command
252
274
  - Validates entry state, syncs delta specs to main specs
253
275
  - Annotates design doc and plan frontmatter
254
276
  - Moves change to archive directory and updates `archived: true`
@@ -297,6 +319,8 @@ Long-term Skill users know these capabilities can be freely combined, but exactl
297
319
 
298
320
  ## Development
299
321
 
322
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, commit conventions, PR process, and guidance for adding platforms or skills.
323
+
300
324
  ```bash
301
325
  # Clone
302
326
  git clone https://github.com/rpamis/comet
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.4",
2
+ "version": "0.2.6",
3
3
  "skills": [
4
4
  "comet/SKILL.md",
5
5
  "comet/scripts/comet-guard.sh",
@@ -156,6 +156,8 @@ build_mode: subagent-driven-development
156
156
  isolation: branch
157
157
  verify_mode: light
158
158
  verify_result: pending
159
+ verification_report: null
160
+ branch_status: pending
159
161
  verified_at: null
160
162
  archived: false
161
163
  ```
@@ -167,12 +169,28 @@ archived: false
167
169
  | `design_doc` | Associated Superpowers Design Doc path, can be empty |
168
170
  | `plan` | Associated Superpowers Plan path, can be empty |
169
171
  | `build_mode` | Selected execution mode, can be empty |
170
- | `isolation` | `branch` or `worktree`, workspace isolation method, defaults to `branch` |
172
+ | `isolation` | `branch` or `worktree`, workspace isolation method. Full workflow init may leave this as `null`, but only until `/comet-build` Step 3; hotfix/tweak default to `branch` |
171
173
  | `verify_mode` | `light` or `full`, can be empty |
172
174
  | `verify_result` | `pending`, `pass`, or `fail` |
175
+ | `verification_report` | Verification report file path; must point to an existing file before verify can pass |
176
+ | `branch_status` | `pending` or `handled`; set to `handled` after branch handling completes |
173
177
  | `verified_at` | Verification pass time, can be empty |
174
178
  | `archived` | Whether change is archived |
175
179
 
180
+ Optional fields:
181
+
182
+ | Field | Meaning |
183
+ |-------|---------|
184
+ | `direct_override` | `true`/`false`. Full workflow may use `build_mode: direct` only when this is explicitly `true` |
185
+ | `build_command` | Project build command. Guard runs this first and prints failure output |
186
+ | `verify_command` | Project verification command. Verify guard runs this first; if absent, it falls back to the build command |
187
+
188
+ State-machine hard constraints:
189
+ - Before `build → verify`, `isolation` must be `branch` or `worktree`
190
+ - Before `build → verify`, `build_mode` must be selected
191
+ - `build_mode: direct` is allowed by default only for `hotfix` / `tweak`; full workflow requires `direct_override: true`
192
+ - These constraints are enforced by both `comet-guard.sh build --apply` and `comet-state.sh transition <name> build-complete`
193
+
176
194
  ### Script Location
177
195
 
178
196
  Comet scripts are distributed in `comet/scripts/`. **Do not hardcode paths** — locate once, cache in env vars: