@rpamis/comet 0.1.2 → 0.1.3
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 +236 -184
- package/assets/manifest.json +2 -0
- package/assets/skills/comet/SKILL.md +18 -18
- package/assets/skills/comet/scripts/comet-guard.sh +79 -23
- package/assets/skills/comet/scripts/comet-yaml-validate.sh +130 -0
- package/assets/skills/comet-archive/SKILL.md +50 -7
- package/assets/skills/comet-build/SKILL.md +52 -14
- package/assets/skills/comet-design/SKILL.md +36 -4
- package/assets/skills/comet-hotfix/SKILL.md +47 -13
- package/assets/skills/comet-open/SKILL.md +51 -15
- package/assets/skills/comet-tweak/SKILL.md +47 -13
- package/assets/skills/comet-verify/SKILL.md +48 -16
- package/bin/comet.js +3 -3
- 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,184 +1,236 @@
|
|
|
1
|
-
# @rpamis/comet
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
██████╗ ██████╗ ███╗ ███╗███████╗████████╗
|
|
5
|
-
██╔════╝██╔═══██╗████╗ ████║██╔════╝╚══██╔══╝
|
|
6
|
-
██║ ██║ ██║██╔████╔██║█████╗ ██║
|
|
7
|
-
██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██║
|
|
8
|
-
╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗ ██║
|
|
9
|
-
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
**OpenSpec + Superpowers dual-star development workflow** — one command from idea to archive.
|
|
13
|
-
|
|
14
|
-
OpenSpec handles **WHAT** (outlines, proposals, spec lifecycle, archiving). Superpowers handles **HOW** (technical design, planning, execution, wrap-up). Comet chains both into a five-phase automated pipeline.
|
|
15
|
-
|
|
16
|
-
## Install
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
npm install -g @rpamis/comet
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Quick Start
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
cd your-project
|
|
26
|
-
comet init
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
`comet init` will:
|
|
30
|
-
|
|
31
|
-
1. Prompt you to select AI platforms (auto-detects existing configs)
|
|
32
|
-
2. Choose install scope: project-level (current directory) or global (home directory)
|
|
33
|
-
3. Install [OpenSpec](https://github.com/Fission-AI/OpenSpec) skills
|
|
34
|
-
4. Install [Superpowers](https://github.com/obra/superpowers) skills
|
|
35
|
-
5. Deploy Comet skills to selected platforms
|
|
36
|
-
6. Create `docs/superpowers/specs/` and `docs/superpowers/plans/` working directories
|
|
37
|
-
|
|
38
|
-
## Commands
|
|
39
|
-
|
|
40
|
-
| Command | Description |
|
|
41
|
-
|---------|-------------|
|
|
42
|
-
| `comet init [path]` | Initialize Comet workflow |
|
|
43
|
-
| `comet --help` | Show help |
|
|
44
|
-
| `comet --version` | Show version |
|
|
45
|
-
|
|
46
|
-
### init Options
|
|
47
|
-
|
|
48
|
-
| Option | Description |
|
|
49
|
-
|--------|-------------|
|
|
50
|
-
| `--yes` | Non-interactive mode, auto-select detected platforms |
|
|
51
|
-
| `--skip-existing` | Skip already installed components |
|
|
52
|
-
| `--overwrite` | Overwrite already installed components |
|
|
53
|
-
|
|
54
|
-
## Supported Platforms
|
|
55
|
-
|
|
56
|
-
`comet init` supports 28 AI coding platforms:
|
|
57
|
-
|
|
58
|
-
| Platform | Skills Dir | Platform | Skills Dir |
|
|
59
|
-
|----------|-----------|----------|-----------|
|
|
60
|
-
| Claude Code | `.claude/` | Cursor | `.cursor/` |
|
|
61
|
-
| Codex | `.codex/` | OpenCode | `.opencode/` |
|
|
62
|
-
| Windsurf | `.windsurf/` | Cline | `.cline/` |
|
|
63
|
-
| RooCode | `.roo/` | Continue | `.continue/` |
|
|
64
|
-
| GitHub Copilot | `.github/` | Gemini CLI | `.gemini/` |
|
|
65
|
-
| Amazon Q Developer | `.amazonq/` | Qwen Code | `.qwen/` |
|
|
66
|
-
| Kilo Code | `.kilocode/` | Auggie | `.augment/` |
|
|
67
|
-
| Kiro | `.kiro/` | Lingma | `.lingma/` |
|
|
68
|
-
| Junie | `.junie/` | CodeBuddy | `.codebuddy/` |
|
|
69
|
-
| CoStrict | `.cospec/` | Crush | `.crush/` |
|
|
70
|
-
| Factory Droid | `.factory/` | iFlow | `.iflow/` |
|
|
71
|
-
| Pi | `.pi/` | Qoder | `.qoder/` |
|
|
72
|
-
| Antigravity | `.agent/` | Bob Shell | `.bob/` |
|
|
73
|
-
| ForgeCode | `.forge/` | Trae | `.trae/` |
|
|
74
|
-
|
|
75
|
-
## Skills
|
|
76
|
-
|
|
77
|
-
After `comet init`, three groups of skills are installed to the selected platform's `skills/` directory:
|
|
78
|
-
|
|
79
|
-
### Comet Skills
|
|
80
|
-
|
|
81
|
-
| Skill | Description |
|
|
82
|
-
|-------|-------------|
|
|
83
|
-
| `/comet` | Main entry — auto-detects phase and dispatches to sub-commands |
|
|
84
|
-
| `/comet-open` | Phase 1: Open a change (proposal, design, task breakdown) |
|
|
85
|
-
| `/comet-design` | Phase 2: Deep design (brainstorming, Design Doc) |
|
|
86
|
-
| `/comet-build` | Phase 3: Plan and build (implementation plan, code commits) |
|
|
87
|
-
| `/comet-verify` | Phase 4: Verify and finish (testing, verification report) |
|
|
88
|
-
| `/comet-archive` | Phase 5: Archive (delta spec sync, status annotation) |
|
|
89
|
-
| `/comet-hotfix` | Preset: Quick bug fix (skips brainstorming) |
|
|
90
|
-
| `/comet-tweak` | Preset: Small change (skips brainstorming and full plan) |
|
|
91
|
-
|
|
92
|
-
###
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
1
|
+
# @rpamis/comet
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
██████╗ ██████╗ ███╗ ███╗███████╗████████╗
|
|
5
|
+
██╔════╝██╔═══██╗████╗ ████║██╔════╝╚══██╔══╝
|
|
6
|
+
██║ ██║ ██║██╔████╔██║█████╗ ██║
|
|
7
|
+
██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██║
|
|
8
|
+
╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗ ██║
|
|
9
|
+
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**OpenSpec + Superpowers dual-star development workflow** — one command from idea to archive.
|
|
13
|
+
|
|
14
|
+
OpenSpec handles **WHAT** (outlines, proposals, spec lifecycle, archiving). Superpowers handles **HOW** (technical design, planning, execution, wrap-up). Comet chains both into a five-phase automated pipeline.
|
|
15
|
+
|
|
16
|
+
## Install
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g @rpamis/comet
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick Start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
cd your-project
|
|
26
|
+
comet init
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`comet init` will:
|
|
30
|
+
|
|
31
|
+
1. Prompt you to select AI platforms (auto-detects existing configs)
|
|
32
|
+
2. Choose install scope: project-level (current directory) or global (home directory)
|
|
33
|
+
3. Install [OpenSpec](https://github.com/Fission-AI/OpenSpec) skills
|
|
34
|
+
4. Install [Superpowers](https://github.com/obra/superpowers) skills
|
|
35
|
+
5. Deploy Comet skills to selected platforms
|
|
36
|
+
6. Create `docs/superpowers/specs/` and `docs/superpowers/plans/` working directories
|
|
37
|
+
|
|
38
|
+
## Commands
|
|
39
|
+
|
|
40
|
+
| Command | Description |
|
|
41
|
+
|---------|-------------|
|
|
42
|
+
| `comet init [path]` | Initialize Comet workflow |
|
|
43
|
+
| `comet --help` | Show help |
|
|
44
|
+
| `comet --version` | Show version |
|
|
45
|
+
|
|
46
|
+
### init Options
|
|
47
|
+
|
|
48
|
+
| Option | Description |
|
|
49
|
+
|--------|-------------|
|
|
50
|
+
| `--yes` | Non-interactive mode, auto-select detected platforms |
|
|
51
|
+
| `--skip-existing` | Skip already installed components |
|
|
52
|
+
| `--overwrite` | Overwrite already installed components |
|
|
53
|
+
|
|
54
|
+
## Supported Platforms
|
|
55
|
+
|
|
56
|
+
`comet init` supports 28 AI coding platforms:
|
|
57
|
+
|
|
58
|
+
| Platform | Skills Dir | Platform | Skills Dir |
|
|
59
|
+
|----------|-----------|----------|-----------|
|
|
60
|
+
| Claude Code | `.claude/` | Cursor | `.cursor/` |
|
|
61
|
+
| Codex | `.codex/` | OpenCode | `.opencode/` |
|
|
62
|
+
| Windsurf | `.windsurf/` | Cline | `.cline/` |
|
|
63
|
+
| RooCode | `.roo/` | Continue | `.continue/` |
|
|
64
|
+
| GitHub Copilot | `.github/` | Gemini CLI | `.gemini/` |
|
|
65
|
+
| Amazon Q Developer | `.amazonq/` | Qwen Code | `.qwen/` |
|
|
66
|
+
| Kilo Code | `.kilocode/` | Auggie | `.augment/` |
|
|
67
|
+
| Kiro | `.kiro/` | Lingma | `.lingma/` |
|
|
68
|
+
| Junie | `.junie/` | CodeBuddy | `.codebuddy/` |
|
|
69
|
+
| CoStrict | `.cospec/` | Crush | `.crush/` |
|
|
70
|
+
| Factory Droid | `.factory/` | iFlow | `.iflow/` |
|
|
71
|
+
| Pi | `.pi/` | Qoder | `.qoder/` |
|
|
72
|
+
| Antigravity | `.agent/` | Bob Shell | `.bob/` |
|
|
73
|
+
| ForgeCode | `.forge/` | Trae | `.trae/` |
|
|
74
|
+
|
|
75
|
+
## Skills
|
|
76
|
+
|
|
77
|
+
After `comet init`, three groups of skills are installed to the selected platform's `skills/` directory:
|
|
78
|
+
|
|
79
|
+
### Comet Skills
|
|
80
|
+
|
|
81
|
+
| Skill | Description |
|
|
82
|
+
|-------|-------------|
|
|
83
|
+
| `/comet` | Main entry — auto-detects phase and dispatches to sub-commands |
|
|
84
|
+
| `/comet-open` | Phase 1: Open a change (proposal, design, task breakdown) |
|
|
85
|
+
| `/comet-design` | Phase 2: Deep design (brainstorming, Design Doc) |
|
|
86
|
+
| `/comet-build` | Phase 3: Plan and build (implementation plan, code commits) |
|
|
87
|
+
| `/comet-verify` | Phase 4: Verify and finish (testing, verification report) |
|
|
88
|
+
| `/comet-archive` | Phase 5: Archive (delta spec sync, status annotation) |
|
|
89
|
+
| `/comet-hotfix` | Preset: Quick bug fix (skips brainstorming) |
|
|
90
|
+
| `/comet-tweak` | Preset: Small change (skips brainstorming and full plan) |
|
|
91
|
+
|
|
92
|
+
### Guard Scripts
|
|
93
|
+
|
|
94
|
+
| Script | Purpose |
|
|
95
|
+
|--------|---------|
|
|
96
|
+
| `comet-guard.sh` | Phase transition guard — validates exit conditions before phase transitions |
|
|
97
|
+
| `comet-yaml-validate.sh` | Schema validator — validates `.comet.yaml` structure and field values |
|
|
98
|
+
|
|
99
|
+
### OpenSpec Skills
|
|
100
|
+
|
|
101
|
+
Spec lifecycle management: propose, explore, sync, verify, archive, and more.
|
|
102
|
+
|
|
103
|
+
### Superpowers Skills
|
|
104
|
+
|
|
105
|
+
Development methodology: brainstorming, TDD, subagent-driven development, code review, plan writing, and more.
|
|
106
|
+
|
|
107
|
+
## Workflow
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
/comet
|
|
111
|
+
↓ auto-detect
|
|
112
|
+
/comet-open ——→ /comet-design ——→ /comet-build ——→ /comet-verify ——→ /comet-archive
|
|
113
|
+
(OpenSpec) (Superpowers) (Superpowers) (Both) (OpenSpec)
|
|
114
|
+
|
|
115
|
+
/comet-hotfix (preset path, skips brainstorming)
|
|
116
|
+
open ——→ build ——→ verify ——→ archive
|
|
117
|
+
|
|
118
|
+
/comet-tweak (preset path, skips brainstorming and full plan)
|
|
119
|
+
open ——→ lightweight build ——→ light verify ——→ archive
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Five Phases
|
|
123
|
+
|
|
124
|
+
| Phase | Command | Owner | Artifacts |
|
|
125
|
+
|-------|---------|-------|-----------|
|
|
126
|
+
| 1. Open | `/comet-open` | OpenSpec | proposal.md, design.md, tasks.md |
|
|
127
|
+
| 2. Deep Design | `/comet-design` | Superpowers | Design Doc, delta spec |
|
|
128
|
+
| 3. Plan & Build | `/comet-build` | Superpowers | Implementation plan, code commits |
|
|
129
|
+
| 4. Verify & Finish | `/comet-verify` | Both | Verification report, branch handling |
|
|
130
|
+
| 5. Archive | `/comet-archive` | OpenSpec | delta→main spec sync, archive |
|
|
131
|
+
|
|
132
|
+
### Core Principles
|
|
133
|
+
|
|
134
|
+
- **Brainstorming is non-skippable** — every change must go through deep design (except hotfix/tweak)
|
|
135
|
+
- **Delta specs are living documents** — freely editable during Phase 3, synced at archive
|
|
136
|
+
- **Keep tasks.md in sync** — check off each task as completed
|
|
137
|
+
- **Commit frequently** — one commit per task, message reflects design intent
|
|
138
|
+
- **Verify before archive** — `/comet-verify` must pass before `/comet-archive`
|
|
139
|
+
|
|
140
|
+
### State Management
|
|
141
|
+
|
|
142
|
+
Comet uses a decoupled state architecture with separate YAML files:
|
|
143
|
+
|
|
144
|
+
| File | Owner | Purpose |
|
|
145
|
+
|------|-------|---------|
|
|
146
|
+
| `.openspec.yaml` | OpenSpec | Spec lifecycle, change metadata |
|
|
147
|
+
| `.comet.yaml` | Comet | Workflow phase, execution mode, verification status |
|
|
148
|
+
|
|
149
|
+
**Key Fields in `.comet.yaml`:**
|
|
150
|
+
- `workflow`: `full`, `hotfix`, or `tweak`
|
|
151
|
+
- `phase`: `design`, `build`, `verify`, `archive`
|
|
152
|
+
- `design_doc`: Path to Superpowers Design Doc
|
|
153
|
+
- `plan`: Path to implementation plan
|
|
154
|
+
- `build_mode`: `subagent-driven-development`, `executing-plans`, or `direct`
|
|
155
|
+
- `verify_mode`: `light` or `full`
|
|
156
|
+
- `verify_result`: `pending`, `pass`, or `fail`
|
|
157
|
+
- `archived`: Boolean indicating if change is archived
|
|
158
|
+
|
|
159
|
+
### Reliability Features
|
|
160
|
+
|
|
161
|
+
Comet includes three-layer defense to ensure agent execution reliability:
|
|
162
|
+
|
|
163
|
+
1. **Entry Verification** — Each phase validates preconditions before execution
|
|
164
|
+
- Checks file existence, state consistency, and phase transitions
|
|
165
|
+
- Outputs `[HARD STOP]` with actionable suggestions if validation fails
|
|
166
|
+
|
|
167
|
+
2. **Write-Then-Verify** — Every state write is immediately verified
|
|
168
|
+
- After updating `.comet.yaml`, agents must verify field values
|
|
169
|
+
- Automatic retry mechanism (up to 2 attempts) on mismatch
|
|
170
|
+
|
|
171
|
+
3. **Schema Validation** — `comet-yaml-validate.sh` ensures data integrity
|
|
172
|
+
- Validates required fields (9 fields)
|
|
173
|
+
- Validates enum values (6 enum types)
|
|
174
|
+
- Validates referenced file paths exist
|
|
175
|
+
- Detects unknown/typos fields
|
|
176
|
+
|
|
177
|
+
**Security**: Path traversal protection on all change name inputs
|
|
178
|
+
|
|
179
|
+
## Project Structure
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
your-project/
|
|
183
|
+
├── .claude/skills/ # Platform skills dir (Comet + OpenSpec + Superpowers)
|
|
184
|
+
│ ├── comet/SKILL.md
|
|
185
|
+
│ │ └── scripts/
|
|
186
|
+
│ │ ├── comet-guard.sh # Phase transition guard
|
|
187
|
+
│ │ └── comet-yaml-validate.sh # Schema validator
|
|
188
|
+
│ ├── comet-*/SKILL.md
|
|
189
|
+
│ ├── openspec-*/SKILL.md
|
|
190
|
+
│ └── brainstorming/SKILL.md
|
|
191
|
+
├── openspec/ # OpenSpec — WHAT
|
|
192
|
+
│ ├── config.yaml
|
|
193
|
+
│ └── changes/
|
|
194
|
+
│ └── <name>/
|
|
195
|
+
│ ├── .openspec.yaml # OpenSpec state
|
|
196
|
+
│ ├── .comet.yaml # Comet workflow state (decoupled)
|
|
197
|
+
│ ├── proposal.md
|
|
198
|
+
│ ├── design.md
|
|
199
|
+
│ ├── specs/<capability>/spec.md
|
|
200
|
+
│ └── tasks.md
|
|
201
|
+
└── docs/superpowers/ # Superpowers — HOW
|
|
202
|
+
├── specs/ # Design documents
|
|
203
|
+
└── plans/ # Implementation plans
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Development
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
# Clone
|
|
210
|
+
git clone https://github.com/benym/comet.git
|
|
211
|
+
cd comet
|
|
212
|
+
|
|
213
|
+
# Install dependencies
|
|
214
|
+
pnpm install
|
|
215
|
+
|
|
216
|
+
# Dev mode (watch)
|
|
217
|
+
pnpm dev
|
|
218
|
+
|
|
219
|
+
# Build
|
|
220
|
+
pnpm build
|
|
221
|
+
|
|
222
|
+
# Test
|
|
223
|
+
pnpm test
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
See [CHANGELOG.md](CHANGELOG.md) for version history and updates.
|
|
227
|
+
|
|
228
|
+
## Security
|
|
229
|
+
|
|
230
|
+
- Pre-publish scan for API keys, secrets, tokens, and private keys
|
|
231
|
+
- `.npmignore` prevents source code and config files from entering the npm package
|
|
232
|
+
- `.gitignore` covers secrets, credentials, IDE configs, and more
|
|
233
|
+
|
|
234
|
+
## License
|
|
235
|
+
|
|
236
|
+
MIT
|
package/assets/manifest.json
CHANGED
|
@@ -65,21 +65,20 @@ agent 不应跳过这些决策点;其他明确无歧义的阶段衔接可以
|
|
|
65
65
|
|
|
66
66
|
### Step 1: Comet 状态元数据读取
|
|
67
67
|
|
|
68
|
-
优先读取 `openspec/changes/<name>/.
|
|
68
|
+
优先读取 `openspec/changes/<name>/.comet.yaml`。若该文件不存在,再回退到 `openspec status --change "<name>" --json`、`tasks.md` 和 `docs/superpowers/` 文件检查。
|
|
69
69
|
|
|
70
70
|
推荐元数据结构:
|
|
71
71
|
|
|
72
72
|
```yaml
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
archived: false
|
|
73
|
+
workflow: full
|
|
74
|
+
phase: build
|
|
75
|
+
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
|
|
76
|
+
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
|
|
77
|
+
build_mode: subagent-driven-development
|
|
78
|
+
verify_mode: light
|
|
79
|
+
verify_result: pending
|
|
80
|
+
verified_at: null
|
|
81
|
+
archived: false
|
|
83
82
|
```
|
|
84
83
|
|
|
85
84
|
字段含义:
|
|
@@ -100,14 +99,14 @@ comet:
|
|
|
100
99
|
|
|
101
100
|
对选中的 change,按以下顺序判断当前状态:
|
|
102
101
|
|
|
103
|
-
1. **`
|
|
104
|
-
2. **`
|
|
105
|
-
3. **`
|
|
106
|
-
4. **`
|
|
107
|
-
5. **`
|
|
102
|
+
1. **`archived: true` 或 change 已移入 archive** → 流程已完成
|
|
103
|
+
2. **`verify_result: pass` 且 `archived` 不是 `true`** → 调用 `/comet-archive`
|
|
104
|
+
3. **`phase: verify` 或 tasks.md 全部勾选** → 调用 `/comet-verify`
|
|
105
|
+
4. **`phase: build` 或已有 Design Doc 但计划/执行未完成** → 调用 `/comet-build`
|
|
106
|
+
5. **`phase: design` 或有 change 但无 Design Doc** → 调用 `/comet-design`
|
|
108
107
|
6. **无活跃 change 或状态无法判定** → 调用 `/comet-open`
|
|
109
108
|
|
|
110
|
-
如果元数据与文件状态冲突,以可验证的文件状态为准,并在继续阶段前修正 `.
|
|
109
|
+
如果元数据与文件状态冲突,以可验证的文件状态为准,并在继续阶段前修正 `.comet.yaml`。
|
|
111
110
|
|
|
112
111
|
---
|
|
113
112
|
|
|
@@ -150,7 +149,7 @@ comet:
|
|
|
150
149
|
|------|---------|
|
|
151
150
|
| `openspec list --json` 失败 | 检查 openspec 是否已安装,提示用户运行 `openspec init` |
|
|
152
151
|
| 子 skill 不可用(如 `superpowers:brainstorming`) | 停止流程,提示安装或启用对应 skill |
|
|
153
|
-
| `.
|
|
152
|
+
| `.comet.yaml` 格式异常或缺失 | 以文件状态为准(tasks.md、docs/superpowers/),修正元数据后继续 |
|
|
154
153
|
| Maven 编译/测试失败 | 返回 build 阶段修复,不进入 verify |
|
|
155
154
|
| change 目录结构不完整 | 按 `comet-open` 的产物要求补齐缺失文件 |
|
|
156
155
|
|
|
@@ -178,6 +177,7 @@ openspec/ # OpenSpec — WHAT
|
|
|
178
177
|
├── changes/
|
|
179
178
|
│ ├── <name>/ # 活跃 change
|
|
180
179
|
│ │ ├── .openspec.yaml
|
|
180
|
+
│ │ ├── .comet.yaml
|
|
181
181
|
│ │ ├── proposal.md # Why + What
|
|
182
182
|
│ │ ├── design.md # 高层架构决策
|
|
183
183
|
│ │ ├── specs/<capability>/spec.md # Delta 能力规格
|