@speclife/cli 0.2.1 → 0.3.1
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.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +342 -24
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* SpecLife CLI
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Primary interface is
|
|
5
|
+
* Git/GitHub automation for spec-driven development.
|
|
6
|
+
* Primary interface is slash commands in your editor.
|
|
7
|
+
* This CLI provides git operations for CI/scripting.
|
|
7
8
|
*/
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
|
package/dist/index.js
CHANGED
|
@@ -2,42 +2,346 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* SpecLife CLI
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Primary interface is
|
|
5
|
+
* Git/GitHub automation for spec-driven development.
|
|
6
|
+
* Primary interface is slash commands in your editor.
|
|
7
|
+
* This CLI provides git operations for CI/scripting.
|
|
7
8
|
*/
|
|
8
9
|
import { Command } from 'commander';
|
|
9
|
-
import {
|
|
10
|
+
import { readFile, writeFile, mkdir, access, symlink, unlink } from 'fs/promises';
|
|
11
|
+
import { join, dirname } from 'path';
|
|
12
|
+
import { fileURLToPath } from 'url';
|
|
13
|
+
import { loadConfig, createGitAdapter, createOpenSpecAdapter, worktreeCreate, worktreeRemove, worktreeList, statusWorkflow, } from '@speclife/core';
|
|
10
14
|
const program = new Command();
|
|
15
|
+
// Get version from package.json
|
|
16
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
17
|
+
const __dirname = dirname(__filename);
|
|
18
|
+
let version = '0.2.0';
|
|
19
|
+
try {
|
|
20
|
+
const pkgPath = join(__dirname, '..', 'package.json');
|
|
21
|
+
const pkg = JSON.parse(await readFile(pkgPath, 'utf-8'));
|
|
22
|
+
version = pkg.version;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// Use default version
|
|
26
|
+
}
|
|
11
27
|
program
|
|
12
28
|
.name('speclife')
|
|
13
|
-
.description('
|
|
14
|
-
.version(
|
|
29
|
+
.description('Git/GitHub automation for spec-driven development')
|
|
30
|
+
.version(version);
|
|
31
|
+
// =============================================================================
|
|
32
|
+
// speclife init - One-time project setup
|
|
33
|
+
// =============================================================================
|
|
15
34
|
program
|
|
16
|
-
.command('init
|
|
17
|
-
.description('
|
|
18
|
-
.option('
|
|
19
|
-
.
|
|
20
|
-
|
|
35
|
+
.command('init')
|
|
36
|
+
.description('Configure project for AI editors (one-time setup)')
|
|
37
|
+
.option('--force', 'Overwrite existing configuration')
|
|
38
|
+
.action(async (options) => {
|
|
39
|
+
try {
|
|
40
|
+
const cwd = process.cwd();
|
|
41
|
+
console.log('Detecting project settings...');
|
|
42
|
+
// Detect spec directory
|
|
43
|
+
let specDir = 'openspec';
|
|
44
|
+
for (const dir of ['openspec', 'specs']) {
|
|
45
|
+
try {
|
|
46
|
+
await access(join(cwd, dir));
|
|
47
|
+
specDir = dir;
|
|
48
|
+
console.log(`✓ Found ${dir}/ directory`);
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Continue checking
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Detect git base branch
|
|
56
|
+
const git = createGitAdapter(cwd);
|
|
57
|
+
let baseBranch = 'main';
|
|
58
|
+
try {
|
|
59
|
+
const branches = await git.listWorktrees();
|
|
60
|
+
if (branches.length > 0) {
|
|
61
|
+
baseBranch = 'main'; // Default
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// Use default
|
|
66
|
+
}
|
|
67
|
+
console.log(`✓ Detected git base branch: ${baseBranch}`);
|
|
68
|
+
// Create .specliferc.yaml
|
|
69
|
+
const configPath = join(cwd, '.specliferc.yaml');
|
|
70
|
+
let configExists = false;
|
|
71
|
+
try {
|
|
72
|
+
await access(configPath);
|
|
73
|
+
configExists = true;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// File doesn't exist
|
|
77
|
+
}
|
|
78
|
+
if (!configExists || options.force) {
|
|
79
|
+
const configContent = `# SpecLife Configuration
|
|
80
|
+
# Minimal settings - most values are auto-detected
|
|
81
|
+
|
|
82
|
+
specDir: ${specDir}
|
|
83
|
+
|
|
84
|
+
git:
|
|
85
|
+
baseBranch: ${baseBranch}
|
|
86
|
+
branchPrefix: spec/
|
|
87
|
+
worktreeDir: worktrees
|
|
88
|
+
`;
|
|
89
|
+
await writeFile(configPath, configContent);
|
|
90
|
+
console.log('✓ Created .specliferc.yaml');
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
console.log('✓ .specliferc.yaml already exists (use --force to overwrite)');
|
|
94
|
+
}
|
|
95
|
+
// Create slash commands directory
|
|
96
|
+
const commandsDir = join(cwd, specDir, 'commands', 'speclife');
|
|
97
|
+
try {
|
|
98
|
+
await mkdir(commandsDir, { recursive: true });
|
|
99
|
+
console.log(`✓ Created ${specDir}/commands/speclife/`);
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
console.log(`✓ ${specDir}/commands/speclife/ already exists`);
|
|
103
|
+
}
|
|
104
|
+
// Copy slash command templates (from templates embedded in package)
|
|
105
|
+
const slashCommands = ['setup', 'start', 'implement', 'ship', 'land', 'release'];
|
|
106
|
+
const templatesDir = join(__dirname, '..', 'templates', 'commands');
|
|
107
|
+
for (const cmd of slashCommands) {
|
|
108
|
+
const destPath = join(commandsDir, `${cmd}.md`);
|
|
109
|
+
try {
|
|
110
|
+
await access(destPath);
|
|
111
|
+
if (!options.force) {
|
|
112
|
+
continue; // Skip existing
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// File doesn't exist, create it
|
|
117
|
+
}
|
|
118
|
+
// Try to copy from templates, or use embedded content
|
|
119
|
+
try {
|
|
120
|
+
const templatePath = join(templatesDir, `${cmd}.md`);
|
|
121
|
+
const content = await readFile(templatePath, 'utf-8');
|
|
122
|
+
await writeFile(destPath, content);
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
// Template not found, commands should already exist in openspec/commands/speclife/
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
console.log(`✓ Slash commands available in ${specDir}/commands/speclife/`);
|
|
129
|
+
// Create speclife.md if it doesn't exist
|
|
130
|
+
const speclifeMdPath = join(cwd, specDir, 'speclife.md');
|
|
131
|
+
try {
|
|
132
|
+
await access(speclifeMdPath);
|
|
133
|
+
console.log(`✓ ${specDir}/speclife.md already exists`);
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
const speclifeMdContent = `# SpecLife Configuration
|
|
137
|
+
|
|
138
|
+
This file provides context for AI agents using speclife slash commands.
|
|
139
|
+
|
|
140
|
+
## Commands
|
|
141
|
+
|
|
142
|
+
<!-- Values auto-detected by /speclife setup from package.json, Makefile, Cargo.toml, etc. -->
|
|
143
|
+
- **Test:** \`TODO: detect test command\`
|
|
144
|
+
- **Build:** \`TODO: detect build command\`
|
|
145
|
+
- **Lint:** \`TODO: detect lint command\`
|
|
146
|
+
|
|
147
|
+
## Release Policy
|
|
148
|
+
|
|
149
|
+
- **Auto-release:** patch and minor versions
|
|
150
|
+
- **Manual release:** major versions (breaking changes)
|
|
151
|
+
|
|
152
|
+
## Context Files
|
|
153
|
+
|
|
154
|
+
When implementing changes, always read:
|
|
155
|
+
- \`${specDir}/project.md\` - project context and conventions
|
|
156
|
+
- \`${specDir}/AGENTS.md\` - agent guidelines
|
|
157
|
+
- \`README.md\` - project overview
|
|
158
|
+
|
|
159
|
+
## Notes
|
|
160
|
+
|
|
161
|
+
- Run \`/speclife setup\` to auto-detect commands
|
|
162
|
+
- Or manually edit the TODO items above
|
|
163
|
+
`;
|
|
164
|
+
await writeFile(speclifeMdPath, speclifeMdContent);
|
|
165
|
+
console.log(`✓ Created ${specDir}/speclife.md (template)`);
|
|
166
|
+
}
|
|
167
|
+
// Create GitHub release workflow
|
|
168
|
+
const workflowDir = join(cwd, '.github', 'workflows');
|
|
169
|
+
const workflowPath = join(workflowDir, 'speclife-release.yml');
|
|
170
|
+
try {
|
|
171
|
+
await access(workflowPath);
|
|
172
|
+
console.log('✓ .github/workflows/speclife-release.yml already exists');
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
try {
|
|
176
|
+
await mkdir(workflowDir, { recursive: true });
|
|
177
|
+
const workflowContent = `# SpecLife Release Workflow
|
|
178
|
+
# Automatically creates GitHub releases when release commits are merged
|
|
179
|
+
|
|
180
|
+
name: Create Release
|
|
181
|
+
|
|
182
|
+
on:
|
|
183
|
+
push:
|
|
184
|
+
branches:
|
|
185
|
+
- ${baseBranch}
|
|
186
|
+
|
|
187
|
+
jobs:
|
|
188
|
+
release:
|
|
189
|
+
runs-on: ubuntu-latest
|
|
190
|
+
if: startsWith(github.event.head_commit.message, 'chore(release):')
|
|
191
|
+
|
|
192
|
+
permissions:
|
|
193
|
+
contents: write
|
|
194
|
+
|
|
195
|
+
steps:
|
|
196
|
+
- name: Checkout
|
|
197
|
+
uses: actions/checkout@v4
|
|
198
|
+
|
|
199
|
+
- name: Extract version from commit
|
|
200
|
+
id: version
|
|
201
|
+
run: |
|
|
202
|
+
VERSION=$(echo "\${{ github.event.head_commit.message }}" | grep -oP 'v\\d+\\.\\d+\\.\\d+')
|
|
203
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
204
|
+
echo "Detected version: $VERSION"
|
|
205
|
+
|
|
206
|
+
- name: Create and push tag
|
|
207
|
+
run: |
|
|
208
|
+
git config user.name "github-actions[bot]"
|
|
209
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
210
|
+
git tag \${{ steps.version.outputs.version }}
|
|
211
|
+
git push origin \${{ steps.version.outputs.version }}
|
|
212
|
+
|
|
213
|
+
- name: Create GitHub Release
|
|
214
|
+
uses: softprops/action-gh-release@v2
|
|
215
|
+
with:
|
|
216
|
+
tag_name: \${{ steps.version.outputs.version }}
|
|
217
|
+
generate_release_notes: true
|
|
218
|
+
`;
|
|
219
|
+
await writeFile(workflowPath, workflowContent);
|
|
220
|
+
console.log('✓ Created .github/workflows/speclife-release.yml');
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
console.log('⚠️ Could not create release workflow');
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
// Configure editor symlinks
|
|
227
|
+
await configureEditorSymlinks(cwd, specDir, options.force);
|
|
228
|
+
console.log('\n✅ SpecLife configured!');
|
|
229
|
+
console.log('\nNext steps:');
|
|
230
|
+
console.log(' 1. Run /speclife setup to auto-detect project commands');
|
|
231
|
+
console.log(' 2. Or manually edit openspec/speclife.md');
|
|
232
|
+
console.log(' 3. Use /speclife start to begin a new change');
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
console.error(`Error: ${error instanceof Error ? error.message : error}`);
|
|
236
|
+
process.exit(1);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
/**
|
|
240
|
+
* Configure editor symlinks for slash commands
|
|
241
|
+
*/
|
|
242
|
+
async function configureEditorSymlinks(cwd, specDir, force) {
|
|
243
|
+
const editors = [
|
|
244
|
+
{ name: 'Cursor', dir: '.cursor' },
|
|
245
|
+
{ name: 'Claude Code', dir: '.claude' },
|
|
246
|
+
];
|
|
247
|
+
const sourceDir = join(cwd, specDir, 'commands', 'speclife');
|
|
248
|
+
for (const editor of editors) {
|
|
249
|
+
const editorCommandsDir = join(cwd, editor.dir, 'commands', 'speclife');
|
|
250
|
+
try {
|
|
251
|
+
// Check if source commands exist
|
|
252
|
+
await access(sourceDir);
|
|
253
|
+
// Create editor commands directory
|
|
254
|
+
await mkdir(dirname(editorCommandsDir), { recursive: true });
|
|
255
|
+
// Create symlink (or update if force)
|
|
256
|
+
try {
|
|
257
|
+
await access(editorCommandsDir);
|
|
258
|
+
if (force) {
|
|
259
|
+
await unlink(editorCommandsDir);
|
|
260
|
+
await symlink(sourceDir, editorCommandsDir);
|
|
261
|
+
console.log(`✓ Updated ${editor.name} symlink`);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
console.log(`✓ ${editor.name} commands already configured`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
await symlink(sourceDir, editorCommandsDir);
|
|
269
|
+
console.log(`✓ Configured ${editor.name} commands`);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
catch {
|
|
273
|
+
// Source doesn't exist yet, skip
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
// =============================================================================
|
|
278
|
+
// speclife worktree - Worktree management
|
|
279
|
+
// =============================================================================
|
|
280
|
+
const worktreeCmd = program
|
|
281
|
+
.command('worktree')
|
|
282
|
+
.description('Manage git worktrees for changes');
|
|
283
|
+
worktreeCmd
|
|
284
|
+
.command('create <change-id>')
|
|
285
|
+
.description('Create a worktree and branch for a new change')
|
|
286
|
+
.option('--skip-bootstrap', 'Skip environment bootstrapping')
|
|
21
287
|
.action(async (changeId, options) => {
|
|
22
288
|
try {
|
|
23
289
|
const cwd = process.cwd();
|
|
24
290
|
const config = await loadConfig(cwd);
|
|
25
291
|
const git = createGitAdapter(cwd);
|
|
26
|
-
const
|
|
27
|
-
const result = await initWorkflow({
|
|
292
|
+
const result = await worktreeCreate({
|
|
28
293
|
changeId,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}, { git, openspec, config }, (event) => console.log(` ${event.message}`));
|
|
33
|
-
if (result.worktreePath) {
|
|
34
|
-
console.log(`✓ Created worktree: ${result.worktreePath}`);
|
|
35
|
-
}
|
|
294
|
+
skipBootstrap: options.skipBootstrap,
|
|
295
|
+
}, { git, config }, (event) => console.log(` ${event.message}`));
|
|
296
|
+
console.log(`\n✓ Created worktree: ${result.worktreePath}`);
|
|
36
297
|
console.log(`✓ Created branch: ${result.branch}`);
|
|
37
|
-
console.log(
|
|
38
|
-
console.log(
|
|
39
|
-
|
|
40
|
-
|
|
298
|
+
console.log(`\nNext: cd ${result.worktreePath}`);
|
|
299
|
+
console.log('Then: Run /openspec-proposal to create the spec');
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
console.error(`Error: ${error instanceof Error ? error.message : error}`);
|
|
303
|
+
process.exit(1);
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
worktreeCmd
|
|
307
|
+
.command('rm <change-id>')
|
|
308
|
+
.description('Remove a worktree and its branch')
|
|
309
|
+
.option('-f, --force', 'Force removal even with uncommitted changes')
|
|
310
|
+
.action(async (changeId, options) => {
|
|
311
|
+
try {
|
|
312
|
+
const cwd = process.cwd();
|
|
313
|
+
const config = await loadConfig(cwd);
|
|
314
|
+
const git = createGitAdapter(cwd);
|
|
315
|
+
const result = await worktreeRemove({
|
|
316
|
+
changeId,
|
|
317
|
+
force: options.force,
|
|
318
|
+
}, { git, config }, (event) => console.log(` ${event.message}`));
|
|
319
|
+
console.log(`\n✓ Removed worktree: ${result.worktreePath}`);
|
|
320
|
+
console.log(`✓ Deleted branch: ${result.branch}`);
|
|
321
|
+
}
|
|
322
|
+
catch (error) {
|
|
323
|
+
console.error(`Error: ${error instanceof Error ? error.message : error}`);
|
|
324
|
+
process.exit(1);
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
worktreeCmd
|
|
328
|
+
.command('list')
|
|
329
|
+
.description('List all active worktrees')
|
|
330
|
+
.action(async () => {
|
|
331
|
+
try {
|
|
332
|
+
const cwd = process.cwd();
|
|
333
|
+
const config = await loadConfig(cwd);
|
|
334
|
+
const git = createGitAdapter(cwd);
|
|
335
|
+
const result = await worktreeList({ git, config });
|
|
336
|
+
if (result.worktrees.length === 0) {
|
|
337
|
+
console.log('No active worktrees');
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
console.log('Active worktrees:');
|
|
341
|
+
for (const wt of result.worktrees) {
|
|
342
|
+
console.log(` ${wt.changeId}`);
|
|
343
|
+
console.log(` Branch: ${wt.branch}`);
|
|
344
|
+
console.log(` Path: ${wt.path}`);
|
|
41
345
|
}
|
|
42
346
|
}
|
|
43
347
|
catch (error) {
|
|
@@ -45,6 +349,9 @@ program
|
|
|
45
349
|
process.exit(1);
|
|
46
350
|
}
|
|
47
351
|
});
|
|
352
|
+
// =============================================================================
|
|
353
|
+
// speclife status - Show change status
|
|
354
|
+
// =============================================================================
|
|
48
355
|
program
|
|
49
356
|
.command('status [change-id]')
|
|
50
357
|
.description('Show status of a change')
|
|
@@ -72,6 +379,9 @@ program
|
|
|
72
379
|
process.exit(1);
|
|
73
380
|
}
|
|
74
381
|
});
|
|
382
|
+
// =============================================================================
|
|
383
|
+
// speclife list - List all changes
|
|
384
|
+
// =============================================================================
|
|
75
385
|
program
|
|
76
386
|
.command('list')
|
|
77
387
|
.description('List all active changes')
|
|
@@ -100,6 +410,14 @@ program
|
|
|
100
410
|
process.exit(1);
|
|
101
411
|
}
|
|
102
412
|
});
|
|
103
|
-
//
|
|
413
|
+
// =============================================================================
|
|
414
|
+
// speclife version - Show version
|
|
415
|
+
// =============================================================================
|
|
416
|
+
program
|
|
417
|
+
.command('version')
|
|
418
|
+
.description('Show speclife version')
|
|
419
|
+
.action(() => {
|
|
420
|
+
console.log(`speclife v${version}`);
|
|
421
|
+
});
|
|
104
422
|
program.parse();
|
|
105
423
|
//# sourceMappingURL=index.js.map
|
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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"}
|