@speclife/cli 0.7.0 → 0.9.0
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/dist/index.js +17 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/commands/retrofit.md +308 -0
- package/templates/commands/ship.md +21 -5
- package/templates/commands/start.md +135 -16
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* This CLI provides git operations for CI/scripting.
|
|
8
8
|
*/
|
|
9
9
|
import { Command } from 'commander';
|
|
10
|
-
import { readFile, writeFile, mkdir, access, symlink, unlink } from 'fs/promises';
|
|
10
|
+
import { readFile, writeFile, mkdir, access, symlink, unlink, readdir } from 'fs/promises';
|
|
11
11
|
import { join, dirname } from 'path';
|
|
12
12
|
import { fileURLToPath } from 'url';
|
|
13
13
|
import { loadConfig, createGitAdapter, createOpenSpecAdapter, worktreeCreate, worktreeRemove, worktreeList, statusWorkflow, } from '@speclife/core';
|
|
@@ -102,8 +102,11 @@ git:
|
|
|
102
102
|
console.log(`✓ ${specDir}/commands/speclife/ already exists`);
|
|
103
103
|
}
|
|
104
104
|
// Copy slash command templates (from templates embedded in package)
|
|
105
|
-
const slashCommands = ['setup', 'start', 'implement', 'ship', 'land', 'release', 'sync', 'convert'];
|
|
106
105
|
const templatesDir = join(__dirname, '..', 'templates', 'commands');
|
|
106
|
+
const templateFiles = await readdir(templatesDir);
|
|
107
|
+
const slashCommands = templateFiles
|
|
108
|
+
.filter(f => f.endsWith('.md'))
|
|
109
|
+
.map(f => f.replace('.md', ''));
|
|
107
110
|
let copiedCount = 0;
|
|
108
111
|
let skippedCount = 0;
|
|
109
112
|
const errors = [];
|
|
@@ -278,13 +281,22 @@ async function configureEditorSymlinks(cwd, specDir, force) {
|
|
|
278
281
|
{ name: 'Claude Code', dir: '.claude' },
|
|
279
282
|
];
|
|
280
283
|
const sourceDir = join(cwd, specDir, 'commands', 'speclife');
|
|
281
|
-
|
|
284
|
+
// Dynamically discover commands from source directory
|
|
285
|
+
let slashCommands = [];
|
|
286
|
+
try {
|
|
287
|
+
const files = await readdir(sourceDir);
|
|
288
|
+
slashCommands = files
|
|
289
|
+
.filter(f => f.endsWith('.md'))
|
|
290
|
+
.map(f => f.replace('.md', ''));
|
|
291
|
+
}
|
|
292
|
+
catch {
|
|
293
|
+
// Source directory doesn't exist yet, skip symlinks
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
282
296
|
for (const editor of editors) {
|
|
283
297
|
const editorCommandsDir = join(cwd, editor.dir, 'commands', 'speclife');
|
|
284
298
|
const editorCommandsBase = join(cwd, editor.dir, 'commands');
|
|
285
299
|
try {
|
|
286
|
-
// Check if source commands exist
|
|
287
|
-
await access(sourceDir);
|
|
288
300
|
// Create editor commands directory
|
|
289
301
|
await mkdir(editorCommandsBase, { recursive: true });
|
|
290
302
|
// Create symlink for speclife/ directory (or update if force)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /speclife-retrofit
|
|
3
|
+
id: speclife-retrofit
|
|
4
|
+
category: SpecLife
|
|
5
|
+
description: Formalize ad-hoc changes on main into a proper spec-tracked change for review.
|
|
6
|
+
---
|
|
7
|
+
# /speclife retrofit
|
|
8
|
+
|
|
9
|
+
Formalize ad-hoc changes made on main into a spec-tracked change with PR for review and release.
|
|
10
|
+
|
|
11
|
+
## ⚡ Execution
|
|
12
|
+
|
|
13
|
+
**When this command is invoked, IMMEDIATELY execute the workflow below.**
|
|
14
|
+
|
|
15
|
+
- Do NOT skip steps or ask for confirmation before starting
|
|
16
|
+
- If description is missing, prompt the user
|
|
17
|
+
- If no changes detected on main, error and explain
|
|
18
|
+
- Create spec, validate, branch, commit, archive, and create PR
|
|
19
|
+
- **STOP after PR created—do NOT auto-invoke `/speclife land`**
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
/speclife retrofit "<description>" # Formalize changes with spec
|
|
25
|
+
/speclife retrofit # Interactive (prompt for description)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Goal
|
|
29
|
+
|
|
30
|
+
Convert ad-hoc changes on main into a proper spec-tracked workflow:
|
|
31
|
+
1. Document the change with a spec (proposal + tasks)
|
|
32
|
+
2. Move changes to a spec branch for review
|
|
33
|
+
3. Archive the spec
|
|
34
|
+
4. Create PR for approval before merging back
|
|
35
|
+
|
|
36
|
+
This bridges quick ad-hoc work with the spec-driven process.
|
|
37
|
+
|
|
38
|
+
## When to Use
|
|
39
|
+
|
|
40
|
+
- Made changes on main without going through `/speclife start`
|
|
41
|
+
- Want to properly document and review ad-hoc changes
|
|
42
|
+
- Need to create a release-worthy PR from untracked work
|
|
43
|
+
|
|
44
|
+
## Prerequisites
|
|
45
|
+
|
|
46
|
+
Must be on `main` branch with one of:
|
|
47
|
+
- Uncommitted changes (modified/staged files)
|
|
48
|
+
- Recent commits not yet pushed
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Validation
|
|
52
|
+
BRANCH=$(git branch --show-current)
|
|
53
|
+
[[ "$BRANCH" != "main" ]] && error "Must be on main branch"
|
|
54
|
+
|
|
55
|
+
# Check for changes
|
|
56
|
+
UNCOMMITTED=$(git status --porcelain)
|
|
57
|
+
UNPUSHED=$(git log origin/main..HEAD --oneline 2>/dev/null)
|
|
58
|
+
|
|
59
|
+
[[ -z "$UNCOMMITTED" && -z "$UNPUSHED" ]] && error "No changes to retrofit"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Core Steps
|
|
63
|
+
|
|
64
|
+
### 1. Detect Changes
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Show what will be retrofitted
|
|
68
|
+
echo "Changes to retrofit:"
|
|
69
|
+
git status --short # Uncommitted changes
|
|
70
|
+
git log origin/main..HEAD --oneline # Unpushed commits (if any)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 2. Derive change-id
|
|
74
|
+
|
|
75
|
+
Convert description to kebab-case:
|
|
76
|
+
- "Update ship command to use two commits" → `update-ship-two-commits`
|
|
77
|
+
- Prefix with verb: add-, fix-, update-, remove-, refactor-
|
|
78
|
+
- Keep it short (3-5 words max)
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
CHANGE_ID=<derived-from-description>
|
|
82
|
+
SPEC_DIR="openspec/changes/${CHANGE_ID}"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 3. Create Spec
|
|
86
|
+
|
|
87
|
+
Invoke `/openspec-proposal` with the description:
|
|
88
|
+
- Creates `openspec/changes/<change-id>/proposal.md`
|
|
89
|
+
- Creates `openspec/changes/<change-id>/tasks.md`
|
|
90
|
+
- Tasks should reflect what was ALREADY DONE (mark completed)
|
|
91
|
+
|
|
92
|
+
**Important:** The proposal documents what was implemented, not what needs to be done.
|
|
93
|
+
|
|
94
|
+
### 4. Validate Spec
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
openspec validate <change-id>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Fix any validation errors before proceeding.
|
|
101
|
+
|
|
102
|
+
### 5. Create Spec Branch
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Create and switch to spec branch (carries uncommitted changes)
|
|
106
|
+
git checkout -b spec/<change-id>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Note: Uncommitted changes automatically move to the new branch.
|
|
110
|
+
|
|
111
|
+
### 6. Commit Implementation + Spec
|
|
112
|
+
|
|
113
|
+
Read proposal.md for commit message, then:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
git add -A
|
|
117
|
+
git commit -m "<type>: <description>"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
This commit includes:
|
|
121
|
+
- The ad-hoc implementation changes
|
|
122
|
+
- The spec files (proposal.md, tasks.md)
|
|
123
|
+
|
|
124
|
+
### 7. Archive Spec
|
|
125
|
+
|
|
126
|
+
Run `/openspec-archive`:
|
|
127
|
+
- Moves spec to `openspec/changes/archive/<date>-<change-id>/`
|
|
128
|
+
- May require updating `project.md` (follow archive prompts)
|
|
129
|
+
|
|
130
|
+
### 8. Commit Archive
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
git add -A
|
|
134
|
+
git commit -m "chore: archive <change-id> spec"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 9. Push and Create PR
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
git push -u origin spec/<change-id>
|
|
141
|
+
gh pr create --fill --base main
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 10. Reset Main (Safety)
|
|
145
|
+
|
|
146
|
+
After successful PR creation, main should be clean:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Main is already clean because:
|
|
150
|
+
# - Uncommitted changes moved to spec branch
|
|
151
|
+
# - We're now on spec branch, not main
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 11. Report and STOP
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
✓ Detected changes in: <list of changed files>
|
|
158
|
+
✓ Created spec at openspec/changes/<change-id>/
|
|
159
|
+
✓ Validated spec
|
|
160
|
+
✓ Created branch spec/<change-id>
|
|
161
|
+
✓ Committed: "<type>: <description>"
|
|
162
|
+
✓ Archived spec
|
|
163
|
+
✓ Committed: "chore: archive <change-id> spec"
|
|
164
|
+
✓ Pushed to origin/spec/<change-id>
|
|
165
|
+
✓ Created PR #XX: <url>
|
|
166
|
+
|
|
167
|
+
Your changes are now on spec/<change-id> (main is unchanged).
|
|
168
|
+
|
|
169
|
+
Next: After approval, run /speclife land
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**⛔ STOP HERE.** Do NOT proceed to merge. Wait for:
|
|
173
|
+
1. PR review and approval
|
|
174
|
+
2. User to invoke `/speclife land`
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
<!-- REFERENCE SECTIONS - Read only when needed -->
|
|
179
|
+
|
|
180
|
+
## Appendix: Examples
|
|
181
|
+
|
|
182
|
+
**Basic retrofit:**
|
|
183
|
+
```
|
|
184
|
+
User: /speclife retrofit "update ship command workflow"
|
|
185
|
+
|
|
186
|
+
Agent:
|
|
187
|
+
ℹ️ On main branch
|
|
188
|
+
✓ Detected changes:
|
|
189
|
+
- openspec/commands/speclife/ship.md (modified)
|
|
190
|
+
✓ Derived change-id: update-ship-workflow
|
|
191
|
+
✓ Created spec at openspec/changes/update-ship-workflow/
|
|
192
|
+
✓ Validated spec
|
|
193
|
+
✓ Created branch spec/update-ship-workflow
|
|
194
|
+
✓ Committed: "docs: update ship command workflow"
|
|
195
|
+
✓ Archived spec
|
|
196
|
+
✓ Committed: "chore: archive update-ship-workflow spec"
|
|
197
|
+
✓ Pushed to origin/spec/update-ship-workflow
|
|
198
|
+
✓ Created PR #47
|
|
199
|
+
|
|
200
|
+
Next: After approval, run /speclife land
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**With unpushed commits:**
|
|
204
|
+
```
|
|
205
|
+
User: /speclife retrofit "add retrofit command"
|
|
206
|
+
|
|
207
|
+
Agent:
|
|
208
|
+
ℹ️ On main branch
|
|
209
|
+
✓ Detected changes:
|
|
210
|
+
- 2 unpushed commits
|
|
211
|
+
- openspec/commands/speclife/retrofit.md (new file)
|
|
212
|
+
✓ Derived change-id: add-retrofit-command
|
|
213
|
+
✓ Created spec at openspec/changes/add-retrofit-command/
|
|
214
|
+
...
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Interactive:**
|
|
218
|
+
```
|
|
219
|
+
User: /speclife retrofit
|
|
220
|
+
|
|
221
|
+
Agent:
|
|
222
|
+
ℹ️ Detected uncommitted changes:
|
|
223
|
+
- src/api.ts (modified)
|
|
224
|
+
- src/utils.ts (modified)
|
|
225
|
+
|
|
226
|
+
What do these changes do? (describe for the spec)
|
|
227
|
+
|
|
228
|
+
User: Add rate limiting to API endpoints
|
|
229
|
+
|
|
230
|
+
Agent:
|
|
231
|
+
✓ Derived change-id: add-rate-limiting
|
|
232
|
+
...
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Appendix: Error Handling
|
|
236
|
+
|
|
237
|
+
**Not on main:**
|
|
238
|
+
```
|
|
239
|
+
❌ Must be on main branch to retrofit.
|
|
240
|
+
Current branch: feature/something
|
|
241
|
+
|
|
242
|
+
Either:
|
|
243
|
+
1. Switch to main: git checkout main
|
|
244
|
+
2. Use /speclife ship for non-main branches
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**No changes to retrofit:**
|
|
248
|
+
```
|
|
249
|
+
❌ No changes to retrofit.
|
|
250
|
+
|
|
251
|
+
Working directory is clean and no unpushed commits.
|
|
252
|
+
|
|
253
|
+
Make some changes first, then run /speclife retrofit
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Spec already exists:**
|
|
257
|
+
```
|
|
258
|
+
❌ Spec 'update-ship-workflow' already exists.
|
|
259
|
+
|
|
260
|
+
Either:
|
|
261
|
+
1. Choose a different description
|
|
262
|
+
2. Remove existing: rm -rf openspec/changes/update-ship-workflow/
|
|
263
|
+
3. Use /speclife start "resume update-ship-workflow" to continue existing
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
**Validation failed:**
|
|
267
|
+
```
|
|
268
|
+
❌ Spec validation failed:
|
|
269
|
+
- proposal.md: Missing "What" section
|
|
270
|
+
|
|
271
|
+
Fix issues and retry.
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Appendix: Comparison with Other Commands
|
|
275
|
+
|
|
276
|
+
| Command | Starting Point | Creates Spec? | Flow |
|
|
277
|
+
|---------|---------------|---------------|------|
|
|
278
|
+
| `/speclife start` | Clean main | Yes (before implementation) | Spec → Implement → Ship |
|
|
279
|
+
| `/speclife retrofit` | Main with changes | Yes (after implementation) | Implement → Spec → Ship |
|
|
280
|
+
| `/speclife ship` | Spec branch | No (uses existing) | Ship existing work |
|
|
281
|
+
|
|
282
|
+
## Appendix: What Gets Committed
|
|
283
|
+
|
|
284
|
+
**First commit** (implementation + spec):
|
|
285
|
+
```
|
|
286
|
+
<type>: <description>
|
|
287
|
+
|
|
288
|
+
- Implementation changes (the ad-hoc work)
|
|
289
|
+
- openspec/changes/<change-id>/proposal.md
|
|
290
|
+
- openspec/changes/<change-id>/tasks.md
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
**Second commit** (archive):
|
|
294
|
+
```
|
|
295
|
+
chore: archive <change-id> spec
|
|
296
|
+
|
|
297
|
+
- Move spec to archive/
|
|
298
|
+
- Update project.md (if applicable)
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
## Notes
|
|
302
|
+
|
|
303
|
+
- Retrofit is for MAIN branch only (ad-hoc changes)
|
|
304
|
+
- For changes on feature branches, use `/speclife ship` instead
|
|
305
|
+
- The spec documents what WAS done, not what NEEDS to be done
|
|
306
|
+
- Tasks in tasks.md should be marked as completed
|
|
307
|
+
- Main branch stays clean (changes move to spec branch)
|
|
308
|
+
|
|
@@ -27,9 +27,9 @@ Create a PR from your current branch. Works with spec branches and ad-hoc branch
|
|
|
27
27
|
|
|
28
28
|
**Quick flow:**
|
|
29
29
|
1. Detect branch type (spec vs ad-hoc)
|
|
30
|
-
2. For spec branches: validate
|
|
31
|
-
3.
|
|
32
|
-
4.
|
|
30
|
+
2. For spec branches: validate → commit changes → archive → commit archive
|
|
31
|
+
3. For ad-hoc branches: stage, commit
|
|
32
|
+
4. Push, create/update PR
|
|
33
33
|
|
|
34
34
|
## Mode Detection
|
|
35
35
|
|
|
@@ -50,8 +50,19 @@ Note: Spec mode is determined by branch name prefix (`spec/`), not worktree exis
|
|
|
50
50
|
### 1. Spec Branch Only
|
|
51
51
|
If spec branch detected:
|
|
52
52
|
- Run `openspec validate <change-id>`
|
|
53
|
-
- Run `openspec archive <change-id>`
|
|
54
53
|
- Read proposal.md for commit message
|
|
54
|
+
- Commit the implementation changes:
|
|
55
|
+
```bash
|
|
56
|
+
git add -A
|
|
57
|
+
git commit -m "<type>: <description>"
|
|
58
|
+
```
|
|
59
|
+
- Run `/openspec-archive` (may require updating project.md)
|
|
60
|
+
- Commit the archive changes:
|
|
61
|
+
```bash
|
|
62
|
+
git add -A
|
|
63
|
+
git commit -m "chore: archive <change-id> spec"
|
|
64
|
+
```
|
|
65
|
+
- Skip to step 3 (push only, no additional commit needed)
|
|
55
66
|
|
|
56
67
|
### 2. Ad-hoc Branch Only
|
|
57
68
|
- Infer commit type from branch name (`fix/*` → `fix:`, `feat/*` → `feat:`)
|
|
@@ -59,8 +70,11 @@ If spec branch detected:
|
|
|
59
70
|
|
|
60
71
|
### 3. All Branches
|
|
61
72
|
```bash
|
|
73
|
+
# For ad-hoc branches only (spec branches already committed above):
|
|
62
74
|
git add -A
|
|
63
75
|
git commit -m "<type>: <description>" # if uncommitted changes
|
|
76
|
+
|
|
77
|
+
# All branches:
|
|
64
78
|
git push -u origin <branch>
|
|
65
79
|
```
|
|
66
80
|
|
|
@@ -136,8 +150,10 @@ User: /speclife ship
|
|
|
136
150
|
Agent:
|
|
137
151
|
ℹ️ Spec branch: spec/add-oauth-login
|
|
138
152
|
✓ Validated spec
|
|
139
|
-
✓ Archived to openspec/changes/archive/
|
|
140
153
|
✓ Committed: "feat: add OAuth login"
|
|
154
|
+
✓ Archived to openspec/changes/archive/
|
|
155
|
+
✓ Committed: "chore: archive add-oauth-login spec"
|
|
156
|
+
✓ Pushed to origin/spec/add-oauth-login
|
|
141
157
|
✓ Created PR #42
|
|
142
158
|
```
|
|
143
159
|
|
|
@@ -21,8 +21,10 @@ Create a new branch for a change, optionally in a worktree for parallel work.
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
23
|
```
|
|
24
|
-
/speclife start <description> #
|
|
25
|
-
/speclife start <description> in a branch #
|
|
24
|
+
/speclife start <description> # New proposal, worktree (default)
|
|
25
|
+
/speclife start <description> in a branch # New proposal, branch-only
|
|
26
|
+
/speclife start "resume <change-id>" # Resume existing proposal, worktree
|
|
27
|
+
/speclife start "implement <change-id>" # Resume if exists, create if not
|
|
26
28
|
/speclife start # Interactive
|
|
27
29
|
```
|
|
28
30
|
|
|
@@ -32,7 +34,21 @@ Set up a workspace for a new change with proper git branch.
|
|
|
32
34
|
|
|
33
35
|
## Mode Detection
|
|
34
36
|
|
|
35
|
-
Parse the input for workflow hints:
|
|
37
|
+
Parse the input for workflow hints in this order:
|
|
38
|
+
|
|
39
|
+
### 1. Resume Intent Detection
|
|
40
|
+
|
|
41
|
+
| Phrase in input | Meaning |
|
|
42
|
+
|-----------------|---------|
|
|
43
|
+
| "resume <change-id>", "continue <change-id>", "pick up <change-id>" | **Resume existing proposal** (error if not found) |
|
|
44
|
+
| "implement <change-id>" | **Resume if exists**, create new if not |
|
|
45
|
+
|
|
46
|
+
Examples:
|
|
47
|
+
- `"resume fix-release-and-init"` → resume mode, change-id = `fix-release-and-init`
|
|
48
|
+
- `"continue working on add-oauth-login"` → resume mode, change-id = `add-oauth-login`
|
|
49
|
+
- `"implement fix-email-validation"` → try resume, fallback to new
|
|
50
|
+
|
|
51
|
+
### 2. Worktree Mode Detection
|
|
36
52
|
|
|
37
53
|
| Phrase in input | Mode |
|
|
38
54
|
|-----------------|------|
|
|
@@ -40,18 +56,53 @@ Parse the input for workflow hints:
|
|
|
40
56
|
| "in a worktree", "with worktree", "parallel" | **Worktree** |
|
|
41
57
|
| Neither | **Worktree** (default) |
|
|
42
58
|
|
|
43
|
-
|
|
59
|
+
### 3. Parsing Order
|
|
60
|
+
|
|
61
|
+
1. Check for resume keywords → extract change-id
|
|
62
|
+
2. Check for mode keywords → determine worktree/branch
|
|
63
|
+
3. Strip workflow hints → derive description (new proposals only)
|
|
64
|
+
|
|
65
|
+
Examples:
|
|
66
|
+
- `"resume fix-bug in a branch"` → resume mode, branch-only
|
|
67
|
+
- `"implement oauth with worktree"` → resume/new mode, worktree
|
|
44
68
|
|
|
45
69
|
## Steps
|
|
46
70
|
|
|
47
|
-
### 1.
|
|
71
|
+
### 1. Check for Resume Intent
|
|
72
|
+
|
|
73
|
+
Parse input for resume keywords (`resume`, `continue`, `pick up`, `implement`):
|
|
74
|
+
|
|
75
|
+
**If resume intent detected:**
|
|
76
|
+
```bash
|
|
77
|
+
CHANGE_ID=<extracted-from-input> # e.g., "fix-release-and-init"
|
|
78
|
+
PROPOSAL_DIR="openspec/changes/${CHANGE_ID}"
|
|
79
|
+
|
|
80
|
+
if [[ ! -d "$PROPOSAL_DIR" ]]; then
|
|
81
|
+
echo "❌ Proposal '${CHANGE_ID}' not found"
|
|
82
|
+
echo ""
|
|
83
|
+
echo "Available proposals:"
|
|
84
|
+
ls -1 openspec/changes/ | grep -v archive
|
|
85
|
+
exit 1
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
echo "✓ Found existing proposal at ${PROPOSAL_DIR}/"
|
|
89
|
+
# Skip to step 3 (create branch/worktree)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**If "implement" keyword and proposal doesn't exist:**
|
|
93
|
+
- Continue as new proposal (steps 2-5)
|
|
94
|
+
|
|
95
|
+
**If no resume intent:**
|
|
96
|
+
- Continue to step 2
|
|
97
|
+
|
|
98
|
+
### 2. Derive change-id (New Proposals Only)
|
|
48
99
|
|
|
49
100
|
Convert description to kebab-case:
|
|
50
101
|
- "Add user authentication" → `add-user-auth`
|
|
51
102
|
- Prefix with verb: add-, fix-, update-, remove-, refactor-
|
|
52
103
|
- Keep it short (3-5 words max)
|
|
53
104
|
|
|
54
|
-
###
|
|
105
|
+
### 3. Create branch/worktree
|
|
55
106
|
|
|
56
107
|
**Branch-only mode:**
|
|
57
108
|
```bash
|
|
@@ -68,15 +119,17 @@ speclife worktree create <change-id>
|
|
|
68
119
|
- Creates branch `spec/<change-id>`
|
|
69
120
|
- Parallel changes possible
|
|
70
121
|
|
|
71
|
-
###
|
|
122
|
+
### 4. Scaffold proposal (New Proposals Only)
|
|
123
|
+
|
|
124
|
+
**Skip this step if resuming an existing proposal.**
|
|
72
125
|
|
|
73
126
|
Invoke `/openspec-proposal` with the description (minus workflow hints)
|
|
74
127
|
- Creates `openspec/changes/<change-id>/proposal.md`
|
|
75
128
|
- Creates `openspec/changes/<change-id>/tasks.md`
|
|
76
129
|
|
|
77
|
-
###
|
|
130
|
+
### 5. Report and STOP
|
|
78
131
|
|
|
79
|
-
**Branch-only:**
|
|
132
|
+
**New Proposal - Branch-only:**
|
|
80
133
|
```
|
|
81
134
|
✓ Derived change-id: add-oauth-login
|
|
82
135
|
✓ Created branch spec/add-oauth-login
|
|
@@ -85,7 +138,7 @@ Invoke `/openspec-proposal` with the description (minus workflow hints)
|
|
|
85
138
|
Next: Review the proposal, then run `/openspec-apply` to implement.
|
|
86
139
|
```
|
|
87
140
|
|
|
88
|
-
**Worktree:**
|
|
141
|
+
**New Proposal - Worktree:**
|
|
89
142
|
```
|
|
90
143
|
✓ Derived change-id: add-oauth-login
|
|
91
144
|
✓ Created worktree at worktrees/add-oauth-login/
|
|
@@ -105,23 +158,75 @@ Next steps:
|
|
|
105
158
|
NOT in the main repo paths!
|
|
106
159
|
```
|
|
107
160
|
|
|
161
|
+
**Resume Proposal - Branch-only:**
|
|
162
|
+
```
|
|
163
|
+
✓ Found existing proposal at openspec/changes/fix-release-and-init/
|
|
164
|
+
✓ Created branch spec/fix-release-and-init
|
|
165
|
+
ℹ️ Proposal already defined - ready to implement
|
|
166
|
+
|
|
167
|
+
Next: Run `/openspec-apply` to implement tasks.
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Resume Proposal - Worktree:**
|
|
171
|
+
```
|
|
172
|
+
✓ Found existing proposal at openspec/changes/fix-release-and-init/
|
|
173
|
+
✓ Created worktree at worktrees/fix-release-and-init/
|
|
174
|
+
✓ Created branch spec/fix-release-and-init
|
|
175
|
+
ℹ️ Proposal already defined - ready to implement
|
|
176
|
+
|
|
177
|
+
Next: cd worktrees/fix-release-and-init/ then run `/openspec-apply`.
|
|
178
|
+
```
|
|
179
|
+
|
|
108
180
|
**⛔ STOP HERE.** Do NOT proceed to implementation. Wait for user to:
|
|
109
|
-
1. Review the proposal
|
|
110
|
-
2. Switch to worktree directory
|
|
111
|
-
3. Invoke `/openspec-apply` or `/speclife implement`
|
|
181
|
+
1. Review the proposal (if new)
|
|
182
|
+
2. Switch to worktree directory (if worktree mode)
|
|
183
|
+
3. Invoke `/openspec-apply` or `/speclife implement`
|
|
112
184
|
|
|
113
185
|
## Examples
|
|
114
186
|
|
|
187
|
+
**New proposals:**
|
|
115
188
|
```
|
|
116
189
|
User: /speclife start "Add OAuth login support"
|
|
117
|
-
→ Creates worktree (default)
|
|
190
|
+
→ Creates worktree (default), scaffolds new proposal
|
|
118
191
|
|
|
119
192
|
User: /speclife start "Add OAuth login" in a branch
|
|
120
|
-
→ Creates branch only,
|
|
193
|
+
→ Creates branch only, scaffolds new proposal
|
|
121
194
|
|
|
122
195
|
User: /speclife start "fix login bug" branch only
|
|
123
|
-
→ Creates branch only
|
|
196
|
+
→ Creates branch only, scaffolds new proposal
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Resume existing proposals:**
|
|
200
|
+
```
|
|
201
|
+
User: /speclife start "resume fix-release-and-init"
|
|
202
|
+
→ Creates worktree, uses existing proposal
|
|
203
|
+
|
|
204
|
+
User: /speclife start "continue working on add-oauth-login"
|
|
205
|
+
→ Creates worktree, uses existing proposal
|
|
206
|
+
|
|
207
|
+
User: /speclife start "pick up fix-email-validation in a branch"
|
|
208
|
+
→ Creates branch only, uses existing proposal
|
|
124
209
|
|
|
210
|
+
User: /speclife start "implement add-user-auth"
|
|
211
|
+
→ If proposal exists: resumes it
|
|
212
|
+
→ If not: creates new proposal
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Error case:**
|
|
216
|
+
```
|
|
217
|
+
User: /speclife start "resume nonexistent-change"
|
|
218
|
+
|
|
219
|
+
Agent:
|
|
220
|
+
❌ Proposal 'nonexistent-change' not found
|
|
221
|
+
|
|
222
|
+
Available proposals:
|
|
223
|
+
fix-release-and-init
|
|
224
|
+
add-oauth-login
|
|
225
|
+
fix-email-validation
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Interactive:**
|
|
229
|
+
```
|
|
125
230
|
User: /speclife start
|
|
126
231
|
→ Prompts: "Describe your change" then "Worktree (default) or branch-only?"
|
|
127
232
|
```
|
|
@@ -149,8 +254,22 @@ User: /speclife start
|
|
|
149
254
|
|
|
150
255
|
## Notes
|
|
151
256
|
|
|
257
|
+
### General
|
|
152
258
|
- Branch name is always `spec/<change-id>` regardless of mode
|
|
153
259
|
- If branch exists, error and suggest using existing
|
|
154
260
|
- Branch-only: uncommitted changes carry over (stash if needed)
|
|
155
261
|
- Worktree: clean checkout from main
|
|
156
262
|
- To switch modes later, use `/speclife convert`
|
|
263
|
+
|
|
264
|
+
### Resume Behavior
|
|
265
|
+
- Resume keywords: `resume`, `continue`, `pick up`, `implement`
|
|
266
|
+
- Proposals must exist in `openspec/changes/<change-id>/`
|
|
267
|
+
- Archived proposals are not searched (move from archive first if needed)
|
|
268
|
+
- Resume skips `/openspec-proposal` scaffolding
|
|
269
|
+
- "implement" keyword tries resume first, creates new if not found
|
|
270
|
+
- Combine with mode: "resume X in a branch" or "resume X with worktree"
|
|
271
|
+
|
|
272
|
+
### Next Steps
|
|
273
|
+
- After creating new proposal: Review, refine, then `/openspec-apply`
|
|
274
|
+
- After resuming proposal: Directly run `/openspec-apply` to implement tasks
|
|
275
|
+
- Both workflows converge at implementation phase
|