specweave 1.0.84 → 1.0.86

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/CLAUDE.md CHANGED
@@ -1,10 +1,10 @@
1
- <!-- SW:META template="claude" version="1.0.80" sections="header,start,autodetect,metarule,rules,workflow,context,lsp,structure,taskformat,secrets,syncing,mapping,testing,api,limits,troubleshooting,principles,linking,mcp,autoexecute,auto,docs" -->
1
+ <!-- SW:META template="claude" version="1.0.85" sections="header,start,autodetect,metarule,rules,workflow,context,lsp,structure,taskformat,secrets,syncing,mapping,testing,api,limits,troubleshooting,principles,linking,mcp,autoexecute,auto,docs" -->
2
2
 
3
- <!-- SW:SECTION:header version="1.0.80" -->
3
+ <!-- SW:SECTION:header version="1.0.85" -->
4
4
  **Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
5
5
  <!-- SW:END:header -->
6
6
 
7
- <!-- SW:SECTION:start version="1.0.80" -->
7
+ <!-- SW:SECTION:start version="1.0.85" -->
8
8
  ## Getting Started
9
9
 
10
10
  **Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
@@ -14,7 +14,7 @@
14
14
  2. **Customize**: Edit spec.md and use for setup tasks
15
15
  <!-- SW:END:start -->
16
16
 
17
- <!-- SW:SECTION:autodetect version="1.0.80" -->
17
+ <!-- SW:SECTION:autodetect version="1.0.85" -->
18
18
  ## Auto-Detection
19
19
 
20
20
  SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
@@ -24,7 +24,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
24
24
  **Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
25
25
  <!-- SW:END:autodetect -->
26
26
 
27
- <!-- SW:SECTION:metarule version="1.0.80" -->
27
+ <!-- SW:SECTION:metarule version="1.0.85" -->
28
28
  ## Meta-Rule: Think-Before-Act
29
29
 
30
30
  **Satisfy dependencies BEFORE dependent operations.**
@@ -35,7 +35,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
35
35
  ```
36
36
  <!-- SW:END:metarule -->
37
37
 
38
- <!-- SW:SECTION:rules version="1.0.80" -->
38
+ <!-- SW:SECTION:rules version="1.0.85" -->
39
39
  ## Rules
40
40
 
41
41
  1. **Files** → `.specweave/increments/####-name/` (spec.md, plan.md, tasks.md at root; reports/, scripts/, logs/ subfolders)
@@ -46,7 +46,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
46
46
  6. **⛔ Increment cleanliness**: ONLY 4 files at increment root (metadata.json, spec.md, plan.md, tasks.md). ALL other .md files → `reports/`, logs → `logs/`, scripts → `scripts/`
47
47
  <!-- SW:END:rules -->
48
48
 
49
- <!-- SW:SECTION:workflow version="1.0.80" -->
49
+ <!-- SW:SECTION:workflow version="1.0.85" -->
50
50
  ## Workflow
51
51
 
52
52
  `/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
@@ -66,7 +66,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
66
66
  **Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done` | "Ship while sleeping" → `/sw:auto`
67
67
  <!-- SW:END:workflow -->
68
68
 
69
- <!-- SW:SECTION:context version="1.0.80" -->
69
+ <!-- SW:SECTION:context version="1.0.85" -->
70
70
  ## Living Docs Context
71
71
 
72
72
  **Before implementing features**: Check existing docs for patterns and decisions.
@@ -86,7 +86,7 @@ grep -ril "keyword" .specweave/docs/internal/
86
86
  **Use `/sw:context <topic>`** to load relevant living docs into conversation.
87
87
  <!-- SW:END:context -->
88
88
 
89
- <!-- SW:SECTION:lsp version="1.0.80" -->
89
+ <!-- SW:SECTION:lsp version="1.0.85" -->
90
90
  ## LSP-Enhanced Exploration
91
91
 
92
92
  **USE LSP ACTIVELY** for semantic code understanding (100x faster than grep).
@@ -103,7 +103,7 @@ go install golang.org/x/tools/gopls@latest # Go
103
103
  **Best Practices**: ALWAYS use `findReferences` before refactoring | Use `goToDefinition` instead of grep | Combine with Explore agent
104
104
  <!-- SW:END:lsp -->
105
105
 
106
- <!-- SW:SECTION:structure version="1.0.80" -->
106
+ <!-- SW:SECTION:structure version="1.0.85" -->
107
107
  ## Structure
108
108
 
109
109
  ```
@@ -173,7 +173,7 @@ my-project/
173
173
  ```
174
174
  <!-- SW:END:structure -->
175
175
 
176
- <!-- SW:SECTION:taskformat version="1.0.80" -->
176
+ <!-- SW:SECTION:taskformat version="1.0.85" -->
177
177
  ## Task Format
178
178
 
179
179
  ```markdown
@@ -183,7 +183,7 @@ my-project/
183
183
  ```
184
184
  <!-- SW:END:taskformat -->
185
185
 
186
- <!-- SW:SECTION:secrets version="1.0.80" -->
186
+ <!-- SW:SECTION:secrets version="1.0.85" -->
187
187
  ## Secrets Check
188
188
 
189
189
  **BEFORE CLI tools**: Check existing config first!
@@ -194,7 +194,7 @@ gh auth status
194
194
  ```
195
195
  <!-- SW:END:secrets -->
196
196
 
197
- <!-- SW:SECTION:syncing version="1.0.80" -->
197
+ <!-- SW:SECTION:syncing version="1.0.85" -->
198
198
  ## External Sync (GitHub/JIRA/ADO)
199
199
 
200
200
  **After increment creation**: Run `/sw-github:sync {id}` to create issues!
@@ -222,7 +222,7 @@ Living docs sync ≠ External sync. They are separate:
222
222
  **Verify tokens**: `grep GITHUB_TOKEN .env` | `gh auth status`
223
223
  <!-- SW:END:syncing -->
224
224
 
225
- <!-- SW:SECTION:mapping version="1.0.80" -->
225
+ <!-- SW:SECTION:mapping version="1.0.85" -->
226
226
  ## GitHub Mapping
227
227
 
228
228
  | SpecWeave | GitHub |
@@ -232,7 +232,7 @@ Living docs sync ≠ External sync. They are separate:
232
232
  | Task T-XXX | Checkbox |
233
233
  <!-- SW:END:mapping -->
234
234
 
235
- <!-- SW:SECTION:testing version="1.0.80" -->
235
+ <!-- SW:SECTION:testing version="1.0.85" -->
236
236
  ## Testing
237
237
 
238
238
  BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
@@ -244,7 +244,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
244
244
  ```
245
245
  <!-- SW:END:testing -->
246
246
 
247
- <!-- SW:SECTION:api version="1.0.80" -->
247
+ <!-- SW:SECTION:api version="1.0.85" -->
248
248
  ## API Development (OpenAPI-First)
249
249
 
250
250
  **For API projects only.** OpenAPI = source of truth → Postman derived from it.
@@ -263,13 +263,13 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
263
263
  **Import**: Postman → Import collection + env → Fill secrets → Select env
264
264
  <!-- SW:END:api -->
265
265
 
266
- <!-- SW:SECTION:limits version="1.0.80" -->
266
+ <!-- SW:SECTION:limits version="1.0.85" -->
267
267
  ## Limits
268
268
 
269
269
  **Max 1500 lines/file** — extract before adding
270
270
  <!-- SW:END:limits -->
271
271
 
272
- <!-- SW:SECTION:troubleshooting version="1.0.80" -->
272
+ <!-- SW:SECTION:troubleshooting version="1.0.85" -->
273
273
  ## Troubleshooting
274
274
 
275
275
  | Issue | Fix |
@@ -288,7 +288,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
288
288
  | Path patterns not working | `//path` = absolute, `/path` = relative to settings file, `additionalDirectories` for explicit working dirs |
289
289
  <!-- SW:END:troubleshooting -->
290
290
 
291
- <!-- SW:SECTION:principles version="1.0.80" -->
291
+ <!-- SW:SECTION:principles version="1.0.85" -->
292
292
  ## Principles
293
293
 
294
294
  1. **Spec-first**: `/sw:increment` before coding
@@ -298,7 +298,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
298
298
  5. **Clean**: All files in increment folders
299
299
  <!-- SW:END:principles -->
300
300
 
301
- <!-- SW:SECTION:linking version="1.0.80" -->
301
+ <!-- SW:SECTION:linking version="1.0.85" -->
302
302
  ## Bidirectional Linking
303
303
 
304
304
  Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
@@ -306,7 +306,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
306
306
  Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
307
307
  <!-- SW:END:linking -->
308
308
 
309
- <!-- SW:SECTION:mcp version="1.0.80" -->
309
+ <!-- SW:SECTION:mcp version="1.0.85" -->
310
310
  ## External Service Connection
311
311
 
312
312
  **Priority**: MCP Server → REST API → CLI → Direct Connection
@@ -330,7 +330,7 @@ wrangler whoami 2>/dev/null
330
330
  ```
331
331
  <!-- SW:END:mcp -->
332
332
 
333
- <!-- SW:SECTION:autoexecute version="1.0.80" -->
333
+ <!-- SW:SECTION:autoexecute version="1.0.85" -->
334
334
  ## Auto-Execute Rule
335
335
 
336
336
  **NEVER** output "Manual Step Required" when credentials exist. **EXECUTE DIRECTLY.**
@@ -344,7 +344,7 @@ wrangler whoami 2>/dev/null && gh auth status 2>/dev/null
344
344
  ```
345
345
  <!-- SW:END:autoexecute -->
346
346
 
347
- <!-- SW:SECTION:auto version="1.0.80" -->
347
+ <!-- SW:SECTION:auto version="1.0.85" -->
348
348
  ## Auto Mode (Autonomous Execution)
349
349
 
350
350
  **Continuous execution until all tasks complete.**
@@ -417,7 +417,7 @@ wrangler whoami 2>/dev/null && gh auth status 2>/dev/null
417
417
  **Circuit Breaker**: External API fails 3x? Queue & continue
418
418
  <!-- SW:END:auto -->
419
419
 
420
- <!-- SW:SECTION:docs version="1.0.80" -->
420
+ <!-- SW:SECTION:docs version="1.0.85" -->
421
421
  ## Docs
422
422
 
423
423
  [spec-weave.com](https://spec-weave.com) | `.specweave/docs/internal/`
package/bin/specweave.js CHANGED
@@ -407,6 +407,71 @@ program
407
407
  console.log(statusLine);
408
408
  });
409
409
 
410
+ // Auto mode commands - Autonomous execution with Ralph Wiggum pattern
411
+ program
412
+ .command('auto [incrementIds...]')
413
+ .description('Start autonomous execution session (Ralph Wiggum pattern + stop hooks)')
414
+ .option('--max-iterations <n>', 'Maximum iterations (safety net)', '2500')
415
+ .option('--max-hours <n>', 'Maximum hours to run', '600')
416
+ .option('--simple', 'Pure Ralph mode (minimal context)')
417
+ .option('--dry-run', 'Preview without starting')
418
+ .option('--increments <ids>', 'Comma-separated increment IDs')
419
+ .option('--all-backlog', 'Process all backlog items')
420
+ .option('--skip-gates <gates>', 'Pre-approve specific gates (comma-separated)')
421
+ .option('--no-increment', 'Skip auto-creation (require existing increments)')
422
+ .option('--no-inc', 'Alias for --no-increment')
423
+ .option('--prompt <text>', 'Analyze prompt and create increments (intelligent chunking)')
424
+ .option('--yes', 'Auto-approve increment plan (skip user approval)')
425
+ .option('-y', 'Alias for --yes')
426
+ .option('--tdd', 'Enable TDD strict mode - ALL tests must pass')
427
+ .option('--strict', 'Alias for --tdd')
428
+ .action(async (incrementIds, options) => {
429
+ const { createAutoCommand } = await import('../dist/src/cli/commands/auto.js');
430
+ const autoCmd = createAutoCommand();
431
+ // Re-parse with increment IDs
432
+ const args = ['node', 'auto', ...incrementIds];
433
+ // Add options
434
+ if (options.maxIterations) args.push('--max-iterations', options.maxIterations);
435
+ if (options.maxHours) args.push('--max-hours', options.maxHours);
436
+ if (options.simple) args.push('--simple');
437
+ if (options.dryRun) args.push('--dry-run');
438
+ if (options.increments) args.push('--increments', options.increments);
439
+ if (options.allBacklog) args.push('--all-backlog');
440
+ if (options.skipGates) args.push('--skip-gates', options.skipGates);
441
+ if (options.noIncrement) args.push('--no-increment');
442
+ if (options.noInc) args.push('--no-inc');
443
+ if (options.prompt) args.push('--prompt', options.prompt);
444
+ if (options.yes || options.y) args.push('--yes');
445
+ if (options.tdd || options.strict) args.push('--tdd');
446
+ await autoCmd.parseAsync(args, { from: 'user' });
447
+ });
448
+
449
+ program
450
+ .command('auto-status')
451
+ .description('Check auto session status and progress')
452
+ .option('--verbose', 'Show detailed information')
453
+ .option('--json', 'Output as JSON')
454
+ .action(async (options) => {
455
+ const { createAutoStatusCommand } = await import('../dist/src/cli/commands/auto-status.js');
456
+ const statusCmd = createAutoStatusCommand();
457
+ const args = ['node', 'auto-status'];
458
+ if (options.verbose) args.push('--verbose');
459
+ if (options.json) args.push('--json');
460
+ await statusCmd.parseAsync(args, { from: 'user' });
461
+ });
462
+
463
+ program
464
+ .command('cancel-auto')
465
+ .description('Cancel running auto session')
466
+ .option('--force', 'Force cancel without confirmation')
467
+ .action(async (options) => {
468
+ const { createCancelAutoCommand } = await import('../dist/src/cli/commands/cancel-auto.js');
469
+ const cancelCmd = createCancelAutoCommand();
470
+ const args = ['node', 'cancel-auto'];
471
+ if (options.force) args.push('--force');
472
+ await cancelCmd.parseAsync(args, { from: 'user' });
473
+ });
474
+
410
475
  // Update instructions command - Smart merge CLAUDE.md/AGENTS.md
411
476
  program
412
477
  .command('update-instructions')
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Auto Status CLI Command
3
+ *
4
+ * Check current auto session status, progress, and pending gates.
5
+ *
6
+ * Usage:
7
+ * specweave auto-status
8
+ * specweave auto-status --verbose
9
+ * specweave auto-status --json
10
+ */
11
+ import { Command } from 'commander';
12
+ export interface AutoStatusOptions {
13
+ verbose?: boolean;
14
+ json?: boolean;
15
+ }
16
+ export declare function createAutoStatusCommand(): Command;
17
+ //# sourceMappingURL=auto-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-status.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/auto-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CA0BjD"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Auto Status CLI Command
3
+ *
4
+ * Check current auto session status, progress, and pending gates.
5
+ *
6
+ * Usage:
7
+ * specweave auto-status
8
+ * specweave auto-status --verbose
9
+ * specweave auto-status --json
10
+ */
11
+ import * as path from 'path';
12
+ import * as fs from 'fs';
13
+ import chalk from 'chalk';
14
+ import { Command } from 'commander';
15
+ import { SessionStateManager } from '../../core/auto/session-state.js';
16
+ export function createAutoStatusCommand() {
17
+ const cmd = new Command('auto-status')
18
+ .description('Check auto session status and progress')
19
+ .option('--verbose', 'Show detailed information')
20
+ .option('--json', 'Output as JSON')
21
+ .action(async (options) => {
22
+ const projectPath = process.cwd();
23
+ // Check if SpecWeave is initialized
24
+ const specweavePath = path.join(projectPath, '.specweave');
25
+ if (!fs.existsSync(specweavePath)) {
26
+ console.log(chalk.yellow('No SpecWeave project found in current directory.'));
27
+ console.log(chalk.gray('Run `specweave init` to initialize a project.'));
28
+ return;
29
+ }
30
+ try {
31
+ await handleAutoStatus(projectPath, options);
32
+ }
33
+ catch (error) {
34
+ const errorMessage = error instanceof Error ? error.message : String(error);
35
+ console.error(chalk.red(`Error: ${errorMessage}`));
36
+ process.exit(1);
37
+ }
38
+ });
39
+ return cmd;
40
+ }
41
+ /**
42
+ * Handle auto-status command
43
+ */
44
+ async function handleAutoStatus(projectPath, options) {
45
+ const sessionManager = new SessionStateManager(projectPath);
46
+ const session = sessionManager.load();
47
+ if (!session) {
48
+ console.log(chalk.yellow('No auto session found'));
49
+ console.log('');
50
+ console.log('Start a new session with: ' + chalk.cyan('specweave auto [INCREMENT_IDS...]'));
51
+ return;
52
+ }
53
+ // JSON output
54
+ if (options.json) {
55
+ console.log(JSON.stringify(session, null, 2));
56
+ return;
57
+ }
58
+ // Calculate duration
59
+ const startTime = new Date(session.startTime);
60
+ const endTime = session.endTime ? new Date(session.endTime) : new Date();
61
+ const durationMs = endTime.getTime() - startTime.getTime();
62
+ const durationHours = Math.floor(durationMs / (1000 * 60 * 60));
63
+ const durationMinutes = Math.floor((durationMs % (1000 * 60 * 60)) / (1000 * 60));
64
+ // Status color
65
+ const statusColor = getStatusColor(session.status);
66
+ const statusIcon = getStatusIcon(session.status);
67
+ // Print status
68
+ console.log('');
69
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
70
+ console.log(chalk.bold('AUTO SESSION STATUS'));
71
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
72
+ console.log('');
73
+ console.log('Session ID: ' + chalk.cyan(session.sessionId));
74
+ console.log(`Status: ${statusIcon} ${statusColor(session.status)}`);
75
+ console.log('Started: ' + chalk.gray(session.startTime));
76
+ if (session.endTime) {
77
+ console.log('Ended: ' + chalk.gray(session.endTime));
78
+ }
79
+ console.log(`Duration: ${durationHours}h ${durationMinutes}m`);
80
+ console.log(`Iteration: ${chalk.yellow(session.iteration.toString())}/${chalk.yellow(session.maxIterations.toString())}`);
81
+ if (session.maxHours) {
82
+ const hoursRemaining = session.maxHours - durationHours;
83
+ console.log(`Hours Limit: ${hoursRemaining}h remaining (max: ${session.maxHours}h)`);
84
+ }
85
+ console.log('');
86
+ console.log(chalk.bold('PROGRESS'));
87
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
88
+ console.log('');
89
+ if (session.currentIncrement) {
90
+ console.log('Current: ' + chalk.green(session.currentIncrement));
91
+ }
92
+ else {
93
+ console.log('Current: ' + chalk.gray('(none)'));
94
+ }
95
+ console.log(`Queue: ${session.incrementQueue.length} remaining`);
96
+ console.log(`Completed: ${chalk.green(session.completedIncrements.length.toString())}`);
97
+ console.log(`Failed: ${chalk.red(session.failedIncrements.length.toString())}`);
98
+ if (options.verbose) {
99
+ if (session.incrementQueue.length > 0) {
100
+ console.log('');
101
+ console.log(chalk.bold('QUEUE'));
102
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
103
+ for (const incId of session.incrementQueue) {
104
+ console.log(' • ' + chalk.cyan(incId));
105
+ }
106
+ }
107
+ if (session.completedIncrements.length > 0) {
108
+ console.log('');
109
+ console.log(chalk.bold('COMPLETED'));
110
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
111
+ for (const incId of session.completedIncrements) {
112
+ console.log(' ✅ ' + chalk.green(incId));
113
+ }
114
+ }
115
+ if (session.failedIncrements.length > 0) {
116
+ console.log('');
117
+ console.log(chalk.bold('FAILED'));
118
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
119
+ for (const incId of session.failedIncrements) {
120
+ console.log(' ❌ ' + chalk.red(incId));
121
+ }
122
+ }
123
+ }
124
+ // Human gates
125
+ if (session.humanGates.pending) {
126
+ console.log('');
127
+ console.log(chalk.bold('PENDING GATE'));
128
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
129
+ console.log('');
130
+ console.log('Operation: ' + chalk.yellow(session.humanGates.pending.operation));
131
+ console.log('Pattern: ' + chalk.gray(session.humanGates.pending.pattern));
132
+ console.log('Requested: ' + chalk.gray(session.humanGates.pending.requestedAt));
133
+ }
134
+ if (options.verbose && session.humanGates.approved.length > 0) {
135
+ console.log('');
136
+ console.log(chalk.bold('APPROVED GATES'));
137
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
138
+ for (const gate of session.humanGates.approved) {
139
+ console.log(' ✓ ' + chalk.green(gate));
140
+ }
141
+ }
142
+ // Circuit breakers
143
+ const openBreakers = Object.entries(session.circuitBreakers).filter(([_, status]) => status.state === 'open');
144
+ if (openBreakers.length > 0) {
145
+ console.log('');
146
+ console.log(chalk.bold('CIRCUIT BREAKERS'));
147
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
148
+ console.log('');
149
+ for (const [service, status] of openBreakers) {
150
+ console.log(`${service}:`.padEnd(15) + chalk.red('OPEN'));
151
+ console.log(' Failures: ' + chalk.yellow(status.failures.toString()));
152
+ if (status.lastFailure) {
153
+ console.log(' Last: ' + chalk.gray(status.lastFailure));
154
+ }
155
+ if (status.nextRetry) {
156
+ console.log(' Next Retry: ' + chalk.gray(status.nextRetry));
157
+ }
158
+ }
159
+ }
160
+ // End reason
161
+ if (session.endReason) {
162
+ console.log('');
163
+ console.log(chalk.bold('END REASON'));
164
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
165
+ console.log(session.endReason);
166
+ }
167
+ console.log('');
168
+ console.log(chalk.bold('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
169
+ console.log('');
170
+ // Commands
171
+ if (session.status === 'running') {
172
+ console.log('Commands:');
173
+ console.log(' • Cancel: ' + chalk.cyan('specweave cancel-auto'));
174
+ console.log(' • Resume: ' + chalk.cyan('/sw:do'));
175
+ }
176
+ else {
177
+ console.log('Session has ended.');
178
+ console.log('Start a new session: ' + chalk.cyan('specweave auto [INCREMENT_IDS...]'));
179
+ }
180
+ console.log('');
181
+ }
182
+ /**
183
+ * Get status color function
184
+ */
185
+ function getStatusColor(status) {
186
+ switch (status) {
187
+ case 'running':
188
+ return chalk.green;
189
+ case 'completed':
190
+ return chalk.blue;
191
+ case 'paused':
192
+ return chalk.yellow;
193
+ case 'failed':
194
+ return chalk.red;
195
+ case 'cancelled':
196
+ return chalk.gray;
197
+ default:
198
+ return chalk.white;
199
+ }
200
+ }
201
+ /**
202
+ * Get status icon
203
+ */
204
+ function getStatusIcon(status) {
205
+ switch (status) {
206
+ case 'running':
207
+ return '🔄';
208
+ case 'completed':
209
+ return '✅';
210
+ case 'paused':
211
+ return '⏸️';
212
+ case 'failed':
213
+ return '❌';
214
+ case 'cancelled':
215
+ return '🚫';
216
+ default:
217
+ return '❓';
218
+ }
219
+ }
220
+ //# sourceMappingURL=auto-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-status.js","sourceRoot":"","sources":["../../../../src/cli/commands/auto-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Auto Mode CLI Command
3
+ *
4
+ * Start autonomous execution session with stop hook integration.
5
+ * Works until all tasks complete or max iterations reached.
6
+ * Uses Ralph Wiggum pattern with SpecWeave workflow integration.
7
+ *
8
+ * Usage:
9
+ * specweave auto [INCREMENT_IDS...] [OPTIONS]
10
+ * specweave auto 0001 --max-iterations 100
11
+ * specweave auto --all-backlog --tdd
12
+ * specweave auto --prompt "Build auth system" --yes
13
+ */
14
+ import { Command } from 'commander';
15
+ export interface AutoCommandOptions {
16
+ maxIterations?: string | number;
17
+ maxHours?: string | number;
18
+ simple?: boolean;
19
+ dryRun?: boolean;
20
+ increments?: string;
21
+ allBacklog?: boolean;
22
+ skipGates?: string;
23
+ noIncrement?: boolean;
24
+ noInc?: boolean;
25
+ prompt?: string;
26
+ yes?: boolean;
27
+ y?: boolean;
28
+ tdd?: boolean;
29
+ strict?: boolean;
30
+ build?: boolean;
31
+ tests?: boolean;
32
+ e2e?: boolean;
33
+ lint?: boolean;
34
+ types?: boolean;
35
+ cov?: string;
36
+ e2eCov?: string;
37
+ cmd?: string;
38
+ }
39
+ export declare function createAutoCommand(): Command;
40
+ //# sourceMappingURL=auto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/auto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAgD3C"}