@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 +21 -21
- package/README.md +41 -17
- package/assets/manifest.json +1 -1
- package/assets/skills/comet/SKILL.md +19 -1
- package/assets/skills/comet/scripts/comet-archive.sh +255 -258
- package/assets/skills/comet/scripts/comet-guard.sh +407 -257
- package/assets/skills/comet/scripts/comet-state.sh +680 -616
- package/assets/skills/comet/scripts/comet-yaml-validate.sh +157 -138
- package/assets/skills/comet-archive/SKILL.md +3 -0
- package/assets/skills/comet-build/SKILL.md +27 -1
- package/assets/skills-zh/comet/SKILL.md +15 -1
- package/assets/skills-zh/comet-archive/SKILL.md +3 -0
- package/assets/skills-zh/comet-build/SKILL.md +27 -1
- package/bin/comet.js +3 -3
- package/dist/cli/index.js +9 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +52 -29
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +9 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +72 -13
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +19 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/update.d.ts +22 -2
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +175 -29
- package/dist/commands/update.js.map +1 -1
- package/package.json +1 -1
- package/scripts/postinstall.js +44 -44
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
|
|
87
|
-
| `comet doctor [path]` | Diagnose Comet installation health |
|
|
88
|
-
| `comet update [path]` | Update
|
|
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
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
|
106
|
-
|
|
107
|
-
| `--
|
|
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
|
|
241
|
-
- Validates enum values
|
|
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. **
|
|
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
|
-
|
|
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
|
package/assets/manifest.json
CHANGED
|
@@ -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
|
|
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:
|