@specforge/mcp 3.2.3 → 3.3.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.
Files changed (145) hide show
  1. package/README.md +1 -1
  2. package/dist/autopilot/api/autopilot-api-client.js +1 -1
  3. package/dist/autopilot/api/autopilot-api-client.js.map +1 -1
  4. package/dist/cli/commands/complete.d.ts +14 -0
  5. package/dist/cli/commands/complete.d.ts.map +1 -0
  6. package/dist/cli/commands/complete.js +96 -0
  7. package/dist/cli/commands/complete.js.map +1 -0
  8. package/dist/cli/commands/docs/content/examples.d.ts.map +1 -1
  9. package/dist/cli/commands/docs/content/examples.js +35 -40
  10. package/dist/cli/commands/docs/content/examples.js.map +1 -1
  11. package/dist/cli/commands/docs/content/workflow.d.ts.map +1 -1
  12. package/dist/cli/commands/docs/content/workflow.js +9 -13
  13. package/dist/cli/commands/docs/content/workflow.js.map +1 -1
  14. package/dist/cli/commands/index.d.ts +2 -0
  15. package/dist/cli/commands/index.d.ts.map +1 -1
  16. package/dist/cli/commands/index.js +2 -0
  17. package/dist/cli/commands/index.js.map +1 -1
  18. package/dist/cli/commands/init.d.ts.map +1 -1
  19. package/dist/cli/commands/init.js +100 -14
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/init.types.d.ts +2 -0
  22. package/dist/cli/commands/init.types.d.ts.map +1 -1
  23. package/dist/cli/commands/init.types.js.map +1 -1
  24. package/dist/cli/commands/review-planning.d.ts +1 -0
  25. package/dist/cli/commands/review-planning.d.ts.map +1 -1
  26. package/dist/cli/commands/review-planning.js +2 -0
  27. package/dist/cli/commands/review-planning.js.map +1 -1
  28. package/dist/cli/commands/scaffold/agent-types.d.ts +1 -7
  29. package/dist/cli/commands/scaffold/agent-types.d.ts.map +1 -1
  30. package/dist/cli/commands/scaffold/agent-types.js +0 -12
  31. package/dist/cli/commands/scaffold/agent-types.js.map +1 -1
  32. package/dist/cli/commands/scaffold/types.d.ts +1 -7
  33. package/dist/cli/commands/scaffold/types.d.ts.map +1 -1
  34. package/dist/cli/commands/scaffold/types.js +2 -7
  35. package/dist/cli/commands/scaffold/types.js.map +1 -1
  36. package/dist/cli/commands/set-status.d.ts +14 -0
  37. package/dist/cli/commands/set-status.d.ts.map +1 -0
  38. package/dist/cli/commands/set-status.js +109 -0
  39. package/dist/cli/commands/set-status.js.map +1 -0
  40. package/dist/cli/index.d.ts.map +1 -1
  41. package/dist/cli/index.js +5 -1
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts +3 -2
  44. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts.map +1 -1
  45. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js +118 -61
  46. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js.map +1 -1
  47. package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts +3 -2
  48. package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts.map +1 -1
  49. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js +302 -81
  50. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js.map +1 -1
  51. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts +3 -2
  52. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts.map +1 -1
  53. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js +209 -83
  54. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js.map +1 -1
  55. package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts +2 -2
  56. package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts.map +1 -1
  57. package/dist/cli/templates/agents/content/research/sfag-package-researcher.js +84 -106
  58. package/dist/cli/templates/agents/content/research/sfag-package-researcher.js.map +1 -1
  59. package/dist/cli/templates/agents/index.d.ts.map +1 -1
  60. package/dist/cli/templates/agents/index.js +0 -23
  61. package/dist/cli/templates/agents/index.js.map +1 -1
  62. package/dist/cli/templates/commands.d.ts +0 -3
  63. package/dist/cli/templates/commands.d.ts.map +1 -1
  64. package/dist/cli/templates/commands.js +0 -89
  65. package/dist/cli/templates/commands.js.map +1 -1
  66. package/dist/cli/templates/content/sf-blockers.d.ts +1 -1
  67. package/dist/cli/templates/content/sf-blockers.d.ts.map +1 -1
  68. package/dist/cli/templates/content/sf-blockers.js +5 -2
  69. package/dist/cli/templates/content/sf-blockers.js.map +1 -1
  70. package/dist/cli/templates/content/sf-commit.d.ts +1 -1
  71. package/dist/cli/templates/content/sf-commit.d.ts.map +1 -1
  72. package/dist/cli/templates/content/sf-commit.js +11 -8
  73. package/dist/cli/templates/content/sf-commit.js.map +1 -1
  74. package/dist/cli/templates/content/sf-context.d.ts +1 -1
  75. package/dist/cli/templates/content/sf-context.d.ts.map +1 -1
  76. package/dist/cli/templates/content/sf-context.js +16 -15
  77. package/dist/cli/templates/content/sf-context.js.map +1 -1
  78. package/dist/cli/templates/content/sf-help.d.ts +1 -1
  79. package/dist/cli/templates/content/sf-help.d.ts.map +1 -1
  80. package/dist/cli/templates/content/sf-help.js +4 -21
  81. package/dist/cli/templates/content/sf-help.js.map +1 -1
  82. package/dist/cli/templates/content/sf-init.d.ts +1 -1
  83. package/dist/cli/templates/content/sf-init.d.ts.map +1 -1
  84. package/dist/cli/templates/content/sf-init.js +10 -7
  85. package/dist/cli/templates/content/sf-init.js.map +1 -1
  86. package/dist/cli/templates/content/sf-reset.d.ts +1 -1
  87. package/dist/cli/templates/content/sf-reset.d.ts.map +1 -1
  88. package/dist/cli/templates/content/sf-reset.js +10 -19
  89. package/dist/cli/templates/content/sf-reset.js.map +1 -1
  90. package/dist/cli/templates/content/sf-search.d.ts +1 -1
  91. package/dist/cli/templates/content/sf-search.d.ts.map +1 -1
  92. package/dist/cli/templates/content/sf-search.js +5 -4
  93. package/dist/cli/templates/content/sf-search.js.map +1 -1
  94. package/dist/cli/templates/content/sf-status.d.ts +1 -1
  95. package/dist/cli/templates/content/sf-status.d.ts.map +1 -1
  96. package/dist/cli/templates/content/sf-status.js +5 -8
  97. package/dist/cli/templates/content/sf-status.js.map +1 -1
  98. package/dist/cli/ui/banner.d.ts +17 -0
  99. package/dist/cli/ui/banner.d.ts.map +1 -0
  100. package/dist/cli/ui/banner.js +105 -0
  101. package/dist/cli/ui/banner.js.map +1 -0
  102. package/dist/tools/core/admin.js +5 -5
  103. package/dist/tools/core/admin.js.map +1 -1
  104. package/dist/tools/core/help.js +1 -1
  105. package/dist/tools/core/help.js.map +1 -1
  106. package/dist/tools/index.js +4 -4
  107. package/dist/tools/index.js.map +1 -1
  108. package/dist/types/index.d.ts +2 -2
  109. package/dist/types/index.d.ts.map +1 -1
  110. package/dist/validation/index.js +1 -1
  111. package/dist/validation/index.js.map +1 -1
  112. package/package.json +1 -1
  113. package/src/cli/templates/agents/content/core/sfag-orchestrator.ts +118 -61
  114. package/src/cli/templates/agents/content/core/sfag-spec-creator.ts +302 -81
  115. package/src/cli/templates/agents/content/core/sfag-ticket-implementer.ts +209 -83
  116. package/src/cli/templates/agents/content/research/sfag-package-researcher.ts +84 -106
  117. package/src/cli/templates/agents/index.ts +0 -27
  118. package/src/cli/templates/commands.ts +0 -89
  119. package/src/cli/templates/content/sf-blockers.ts +5 -2
  120. package/src/cli/templates/content/sf-commit.ts +11 -8
  121. package/src/cli/templates/content/sf-context.ts +16 -15
  122. package/src/cli/templates/content/sf-help.ts +4 -21
  123. package/src/cli/templates/content/sf-init.ts +10 -7
  124. package/src/cli/templates/content/sf-reset.ts +10 -19
  125. package/src/cli/templates/content/sf-search.ts +5 -4
  126. package/src/cli/templates/content/sf-status.ts +5 -8
  127. package/src/cli/templates/skills/specforge-orchestrator.md +1 -1
  128. package/src/cli/templates/skills/specforge-worker.md +51 -19
  129. package/src/cli/templates/agents/content/core/sfag-implementer.ts +0 -113
  130. package/src/cli/templates/agents/content/task-type/sfag-api-implementer.ts +0 -132
  131. package/src/cli/templates/agents/content/task-type/sfag-docs-writer.ts +0 -183
  132. package/src/cli/templates/agents/content/task-type/sfag-frontend-builder.ts +0 -141
  133. package/src/cli/templates/agents/content/task-type/sfag-infra-architect.ts +0 -149
  134. package/src/cli/templates/agents/content/task-type/sfag-schema-designer.ts +0 -132
  135. package/src/cli/templates/agents/content/task-type/sfag-test-writer.ts +0 -171
  136. package/src/cli/templates/content/sf-autonomous.ts +0 -78
  137. package/src/cli/templates/content/sf-create-epics.ts +0 -129
  138. package/src/cli/templates/content/sf-create-spec.ts +0 -136
  139. package/src/cli/templates/content/sf-create-tickets.ts +0 -148
  140. package/src/cli/templates/content/sf-epic.ts +0 -69
  141. package/src/cli/templates/content/sf-import.ts +0 -88
  142. package/src/cli/templates/content/sf-next.ts +0 -67
  143. package/src/cli/templates/content/sf-review.ts +0 -67
  144. package/src/cli/templates/content/sf-ticket.ts +0 -76
  145. package/src/cli/templates/content/sf-validate.ts +0 -78
package/README.md CHANGED
@@ -229,7 +229,7 @@ The SpecForge MCP server provides the following tool categories:
229
229
  - `validate_ticket_completion` - Validate completion criteria
230
230
 
231
231
  ### Discovery Tools
232
- - `report_discovery` - Report bugs, tech debt, or new requirements
232
+ - `discover_work_session` - Report bugs, tech debt, or new requirements
233
233
  - `get_pending_discoveries` - Get unresolved discoveries
234
234
  - `resolve_discovery` - Mark a discovery as resolved
235
235
 
@@ -324,7 +324,7 @@ export class AutopilotApiClient {
324
324
  */
325
325
  async createDiscovery(discovery) {
326
326
  try {
327
- const result = await this.client.call('report_discovery', {
327
+ const result = await this.client.call('discover_work_session', {
328
328
  ticketId: discovery.ticketId,
329
329
  type: discovery.type,
330
330
  description: discovery.description,
@@ -1 +1 @@
1
- {"version":3,"file":"autopilot-api-client.js","sourceRoot":"","sources":["../../../src/autopilot/api/autopilot-api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autopilot-api-client.js","sourceRoot":"","sources":["../../../src/autopilot/api/autopilot-api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Complete Specification Command
3
+ *
4
+ * CLI command to complete a specification that has passed implementation review.
5
+ * Calls the complete_specification API operation.
6
+ */
7
+ import { Command } from 'commander';
8
+ interface CompleteOptions {
9
+ json?: boolean;
10
+ }
11
+ export declare function completeCommand(specId: string | undefined, options: CompleteOptions): Promise<void>;
12
+ export declare function registerCompleteCommand(program: Command): void;
13
+ export {};
14
+ //# sourceMappingURL=complete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/complete.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAeD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoEf;AAMD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB9D"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Complete Specification Command
3
+ *
4
+ * CLI command to complete a specification that has passed implementation review.
5
+ * Calls the complete_specification API operation.
6
+ */
7
+ import chalk from 'chalk';
8
+ import ora from 'ora';
9
+ import { resolveConfig } from '../config/index.js';
10
+ import { ApiClient } from '../../client/api-client.js';
11
+ import { withErrorHandler, CliError } from '../middleware/error-handler.js';
12
+ // =============================================================================
13
+ // Command handler
14
+ // =============================================================================
15
+ export async function completeCommand(specId, options) {
16
+ const config = resolveConfig();
17
+ if (!config.apiKey) {
18
+ throw new CliError('Not authenticated', 1, 'Run `specforge login` to authenticate first');
19
+ }
20
+ const specificationId = specId || config.specificationId;
21
+ if (!specificationId) {
22
+ console.error(chalk.red('\nError: No specification specified and no active specification.'));
23
+ console.error('Usage: specforge complete [specId]');
24
+ console.error(chalk.dim("Run 'specforge init' or 'specforge switch' to set an active specification."));
25
+ process.exit(1);
26
+ }
27
+ const spinner = options.json ? null : ora('Completing specification...').start();
28
+ try {
29
+ const client = new ApiClient({
30
+ apiKey: config.apiKey,
31
+ apiUrl: config.apiUrl,
32
+ debug: config.debug,
33
+ });
34
+ const response = await client.call('complete_specification', {
35
+ specificationId,
36
+ });
37
+ spinner?.stop();
38
+ if (options.json) {
39
+ console.log(JSON.stringify(response, null, 2));
40
+ }
41
+ else {
42
+ console.log('');
43
+ if (response.completed) {
44
+ console.log(chalk.green('\u2713') + chalk.bold(' Specification completed'));
45
+ console.log(chalk.gray('\u2500'.repeat(40)));
46
+ console.log(chalk.dim(` ${response.previousStatus} \u2192 ${response.newStatus}`));
47
+ console.log(chalk.dim(` ${response.message}`));
48
+ }
49
+ else {
50
+ console.log(chalk.red('\u2717') + chalk.bold(' Specification not completed'));
51
+ console.log(chalk.gray('\u2500'.repeat(40)));
52
+ console.log(chalk.dim(` ${response.message}`));
53
+ if (response.pendingBlockers) {
54
+ console.log(chalk.yellow(` ${response.pendingBlockers} blocker-severity discovery(ies) pending`));
55
+ }
56
+ }
57
+ console.log('');
58
+ }
59
+ }
60
+ catch (error) {
61
+ spinner?.fail('Complete specification failed');
62
+ const message = error instanceof Error ? error.message : 'Unknown error';
63
+ console.error(chalk.red(`\nError: ${message}`));
64
+ if (!options.json) {
65
+ console.error(chalk.dim('\nPossible causes:'));
66
+ console.error(chalk.dim(' - Specification is not in "reviewed" state'));
67
+ console.error(chalk.dim(' - Invalid specification ID'));
68
+ console.error(chalk.dim(' - Authentication expired (try: specforge login)'));
69
+ }
70
+ process.exit(1);
71
+ }
72
+ }
73
+ // =============================================================================
74
+ // Command registration
75
+ // =============================================================================
76
+ export function registerCompleteCommand(program) {
77
+ program
78
+ .command('complete [specId]')
79
+ .description('Complete a specification that has passed implementation review')
80
+ .addHelpText('after', `
81
+ Arguments:
82
+ specId Specification ID (defaults to active specification)
83
+
84
+ Examples:
85
+ $ specforge complete # Complete active specification
86
+ $ specforge complete spec_abc123 # Complete specific specification
87
+ $ specforge complete --json # JSON output
88
+
89
+ Prerequisites:
90
+ The specification must be in "reviewed" state (passed implementation review).
91
+ Any blocker-severity discoveries must be resolved first.
92
+ `)
93
+ .option('--json', 'Output as JSON')
94
+ .action(withErrorHandler(completeCommand));
95
+ }
96
+ //# sourceMappingURL=complete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.js","sourceRoot":"","sources":["../../../src/cli/commands/complete.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/docs/content/examples.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,gBAAgB,QA4E5B,CAAC"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/docs/content/examples.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,gBAAgB,QAuE5B,CAAC"}
@@ -8,36 +8,50 @@ export const EXAMPLES_CONTENT = `
8
8
  ${chalk.bold('SpecForge Usage Examples')}
9
9
  ${'═'.repeat(50)}
10
10
 
11
- ${chalk.bold('Example 1: Import a Plan')}
11
+ ${chalk.bold('Example 1: Check Project Status')}
12
12
  ${'─'.repeat(50)}
13
- # In Claude Code:
14
- /sf-import-plan docs/implementation-plan.md
13
+ # View current context
14
+ /sf-context
15
15
 
16
- # This creates:
17
- # - Specification with patterns
18
- # - Epics for each phase
19
- # - Tickets with dependencies
16
+ # Check specification progress
17
+ /sf-status
20
18
 
21
- ${chalk.bold('Example 2: Start Implementation')}
19
+ ${chalk.bold('Example 2: Search and Filter')}
22
20
  ${'─'.repeat(50)}
23
- # Initialize
24
- /sf-init
21
+ # Find pending tickets
22
+ /sf-search status:pending
25
23
 
26
- # Check what's ready
27
- /sf-status
24
+ # Find high priority tickets
25
+ /sf-search priority:high
26
+
27
+ # Search by tags
28
+ /sf-search tags:test
28
29
 
29
- # Start next ticket
30
- /sf-next
30
+ ${chalk.bold('Example 3: Identify Issues')}
31
+ ${'─'.repeat(50)}
32
+ # View blocked tickets and reasons
33
+ /sf-analyze-blockers
34
+
35
+ # Find tickets with dependency issues
36
+ /sf-search blockReason:*
37
+
38
+ ${chalk.bold('Example 4: Reset and Reconcile')}
39
+ ${'─'.repeat(50)}
40
+ # Reset ticket statuses based on dependencies
41
+ /sf-reset
31
42
 
32
- # Or specific ticket
33
- /sf-ticket-implementation E1-T3
43
+ # Reset specific epic
44
+ /sf-reset epic-id
34
45
 
35
- ${chalk.bold('Example 3: Batch Implementation')}
46
+ ${chalk.bold('Example 5: Track Work')}
36
47
  ${'─'.repeat(50)}
37
- # Implement up to 5 tickets automatically
38
- /sf-run-autonomous 5
48
+ # Link commit to ticket
49
+ /sf-commit abc123def456 TICKET-42 "Implement auth"
39
50
 
40
- ${chalk.bold('Example 4: CLI Commands')}
51
+ # View ticket details with dependencies
52
+ /sf-search id:TICKET-42
53
+
54
+ ${chalk.bold('Example 6: CLI Commands')}
41
55
  ${'─'.repeat(50)}
42
56
  # View current context
43
57
  specforge status
@@ -54,31 +68,12 @@ specforge tickets --status pending
54
68
  # View ticket details
55
69
  specforge ticket 42
56
70
 
57
- ${chalk.bold('Example 5: MCP Tool Calls')}
71
+ ${chalk.bold('Example 7: MCP Tool Calls')}
58
72
  ${'─'.repeat(50)}
59
73
  # Direct tool call
60
74
  specforge call get_ticket --args='{"ticketId":"abc123"}'
61
75
 
62
76
  # List available tools
63
77
  specforge tools --category context
64
-
65
- ${chalk.bold('Example 6: Session Management')}
66
- ${'─'.repeat(50)}
67
- # Start implementation session
68
- specforge session start
69
-
70
- # Check session status
71
- specforge session
72
-
73
- # End session with summary
74
- specforge session end --summary "Completed auth module"
75
-
76
- ${chalk.bold('Example 7: Scaffolding Commands')}
77
- ${'─'.repeat(50)}
78
- # Scaffold for Claude Code
79
- specforge scaffold --target claude
80
-
81
- # Scaffold for project
82
- specforge scaffold --target claude --project
83
78
  `;
84
79
  //# sourceMappingURL=examples.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../../../src/cli/commands/docs/content/examples.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAG;EAC9B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;EACtC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;EAEd,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;EACtC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;EASd,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC;EAC7C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;EAad,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC;EAC7C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;EAId,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC;EACrC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;EAgBd,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC;EACvC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;EAOd,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC;EAC3C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;EAUd,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC;EAC7C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;CAMf,CAAC"}
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../../../src/cli/commands/docs/content/examples.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAG;EAC9B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;EACtC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;EAEd,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC;EAC7C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;EAOd,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC;EAC1C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;EAUd,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC;EACxC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;EAOd,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC;EAC5C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;EAOd,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;EACnC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;EAOd,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC;EACrC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;EAgBd,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC;EACvC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;CAMf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/docs/content/workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,gBAAgB,QAoC5B,CAAC"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/docs/content/workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,gBAAgB,QAgC5B,CAAC"}
@@ -12,21 +12,18 @@ ${chalk.bold('1. Setup')}
12
12
  specforge login # One-time authentication
13
13
  specforge init # Configure project
14
14
 
15
- ${chalk.bold('2. Planning')}
16
- /sf-import-plan <file> # Import plan to specification
17
- /sf-create-spec <file> # Create spec step-by-step
18
- /sf-create-epics <spec> # Add epics to spec
19
- /sf-create-tickets <epic> # Add tickets to epic
15
+ ${chalk.bold('2. Status & Context')}
16
+ /sf-context # View current project/spec
17
+ /sf-status # View progress and readiness
20
18
 
21
19
  ${chalk.bold('3. Implementation')}
22
- /sf-init <spec-id> # Initialize for implementation
23
- /sf-status # View progress
24
- /sf-next # Start next ticket
25
- /sf-run-autonomous # Batch implement
20
+ /sf-analyze-blockers # Identify blocked tickets
21
+ /sf-search # Find tickets by criteria
22
+ /sf-reset # Reset ticket statuses
23
+ /sf-commit # Link commits to tickets
26
24
 
27
- ${chalk.bold('4. Review')}
28
- /sf-review # Accomplishment review
29
- /sf-validate # System health check
25
+ ${chalk.bold('4. Help & Utilities')}
26
+ /sf-help # Show available commands
30
27
 
31
28
  ${chalk.bold('Key Concepts')}
32
29
  ${'─'.repeat(50)}
@@ -34,7 +31,6 @@ ${'─'.repeat(50)}
34
31
  • ${chalk.cyan('Epic')}: Group of related tickets with shared patterns
35
32
  • ${chalk.cyan('Ticket')}: Single implementable unit of work
36
33
  • ${chalk.cyan('Pattern')}: Reusable code standards and conventions
37
- • ${chalk.cyan('Working Context')}: Current focus (project/spec/epic/ticket)
38
34
 
39
35
  ${chalk.bold('Status Flow')}
40
36
  ${'─'.repeat(50)}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../../../src/cli/commands/docs/content/workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAG;EAC9B,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC;EAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;EAEd,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;;;;EAItB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;;;;;;EAMzB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;;;;;;EAM/B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;;;;EAIvB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;EAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;;EAE/B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;EACzB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;CAGf,CAAC"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../../../src/cli/commands/docs/content/workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAG;EAC9B,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC;EAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;EAEd,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;;;;EAItB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;;;;EAIjC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;;;;;;EAM/B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;;;EAGjC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;EAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;;EAEvB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;EACzB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;;;CAGf,CAAC"}
@@ -27,4 +27,6 @@ export { registerPlanCommand } from './plan.js';
27
27
  export { registerScoreCommand } from './score/index.js';
28
28
  export { registerReviewPlanningCommand } from './review-planning.js';
29
29
  export { registerReviewImplementationCommand } from './review-implementation.js';
30
+ export { registerCompleteCommand } from './complete.js';
31
+ export { registerSetStatusCommand } from './set-status.js';
30
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -27,4 +27,6 @@ export { registerPlanCommand } from './plan.js';
27
27
  export { registerScoreCommand } from './score/index.js';
28
28
  export { registerReviewPlanningCommand } from './review-planning.js';
29
29
  export { registerReviewImplementationCommand } from './review-implementation.js';
30
+ export { registerCompleteCommand } from './complete.js';
31
+ export { registerSetStatusCommand } from './set-status.js';
30
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,OAAO,EACL,WAAW,EAaZ,MAAM,iBAAiB,CAAC;AAmbzB;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsOpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2B1D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,OAAO,EACL,WAAW,EAaZ,MAAM,iBAAiB,CAAC;AAqdzB;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0RpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B1D"}
@@ -13,6 +13,7 @@ import { resolveConfig, loadGlobalConfig, loadProjectConfig, saveProjectConfig,
13
13
  import { withErrorHandler, CliError, NetworkError, ValidationError } from '../middleware/error-handler.js';
14
14
  import { printSuccess, printWarning, printBlank, printHeader, printField, printHint, } from '../ui/output.js';
15
15
  import { colors } from '../ui/colors.js';
16
+ import { printBanner } from '../ui/banner.js';
16
17
  import { ApiClient } from '../../client/api-client.js';
17
18
  import { FORMAT_CHOICES, DEFAULT_FORMAT, STRATEGY_CHOICES, SKILL_TEMPLATE_FILES, } from './init.types.js';
18
19
  /**
@@ -330,6 +331,32 @@ async function scaffoldSkillFiles(projectName, skipPrompts) {
330
331
  printWarning('Could not create .claude/skills/ directory. Skipping skill scaffolding.');
331
332
  return;
332
333
  }
334
+ // Count existing files and determine batch overwrite policy
335
+ const existingFiles = SKILL_TEMPLATE_FILES.filter(file => {
336
+ const targetPath = path.join(targetDir, file);
337
+ return fs.existsSync(targetPath);
338
+ });
339
+ let overwritePolicy = 'ask';
340
+ if (existingFiles.length > 0 && !skipPrompts) {
341
+ const { policy } = await inquirer.prompt([
342
+ {
343
+ type: 'list',
344
+ name: 'policy',
345
+ message: `${existingFiles.length} skill file(s) already exist. How should we proceed?`,
346
+ choices: [
347
+ { name: 'Skip all existing', value: 'skip' },
348
+ { name: 'Overwrite all', value: 'overwrite' },
349
+ { name: 'Ask for each', value: 'ask' },
350
+ ],
351
+ default: 'ask',
352
+ },
353
+ ]);
354
+ overwritePolicy = policy;
355
+ }
356
+ else if (skipPrompts) {
357
+ // In non-interactive mode, skip existing files by default
358
+ overwritePolicy = 'skip';
359
+ }
333
360
  const scaffolded = [];
334
361
  for (const file of SKILL_TEMPLATE_FILES) {
335
362
  const sourcePath = path.join(templatesDir, file);
@@ -338,18 +365,24 @@ async function scaffoldSkillFiles(projectName, skipPrompts) {
338
365
  continue;
339
366
  }
340
367
  // Check if file already exists
341
- if (fs.existsSync(targetPath) && !skipPrompts) {
342
- const { overwrite } = await inquirer.prompt([
343
- {
344
- type: 'confirm',
345
- name: 'overwrite',
346
- message: `Skill file ${file} already exists. Overwrite?`,
347
- default: false,
348
- },
349
- ]);
350
- if (!overwrite) {
368
+ if (fs.existsSync(targetPath)) {
369
+ if (overwritePolicy === 'skip') {
351
370
  continue;
352
371
  }
372
+ else if (overwritePolicy === 'ask') {
373
+ const { overwrite } = await inquirer.prompt([
374
+ {
375
+ type: 'confirm',
376
+ name: 'overwrite',
377
+ message: `Skill file ${file} already exists. Overwrite?`,
378
+ default: false,
379
+ },
380
+ ]);
381
+ if (!overwrite) {
382
+ continue;
383
+ }
384
+ }
385
+ // If overwritePolicy === 'overwrite', proceed to write
353
386
  }
354
387
  try {
355
388
  // Read template content
@@ -388,10 +421,34 @@ export async function initAction(options) {
388
421
  if (!config.apiKey) {
389
422
  throw new CliError('Not authenticated', 1, 'Run `specforge login` to authenticate first');
390
423
  }
424
+ // Spec-only mode: switch specification without re-initializing
425
+ if (options.specOnly) {
426
+ const existing = loadProjectConfig();
427
+ if (!existing?.projectId) {
428
+ throw new CliError('No .specforge.json found — run `specforge init` first');
429
+ }
430
+ const client = new ApiClient({ apiKey: config.apiKey, apiUrl: config.apiUrl, debug: config.debug });
431
+ const specs = await fetchSpecifications(client, existing.projectId);
432
+ let selectedSpec;
433
+ if (options.spec) {
434
+ selectedSpec = validateSpecificationId(options.spec, specs);
435
+ }
436
+ else {
437
+ const { specId } = await inquirer.prompt([{
438
+ type: 'list',
439
+ name: 'specId',
440
+ message: 'Select specification:',
441
+ choices: specs.map(s => ({ name: `${s.title} (${s.status})`, value: s.id })),
442
+ }]);
443
+ selectedSpec = specs.find(s => s.id === specId);
444
+ }
445
+ saveProjectConfig({ ...existing, specificationId: selectedSpec.id });
446
+ printSuccess(`Switched to: ${selectedSpec.title}`);
447
+ return;
448
+ }
391
449
  // Header
392
450
  printBlank();
393
- printHeader('SpecForge Project Setup');
394
- console.log(colors.muted(`Using API key from ${config.sources.apiKey === 'env' ? 'environment' : '~/.specforge/config.json'}`));
451
+ printBanner('figlet');
395
452
  printBlank();
396
453
  // Check for existing files
397
454
  const existing = checkExistingFiles();
@@ -538,8 +595,35 @@ export async function initAction(options) {
538
595
  });
539
596
  printSuccess('Saved Agent Teams configuration to .specforge.json');
540
597
  }
541
- // Scaffold skill files
542
- await scaffoldSkillFiles(selectedProject.name, isNonInteractive);
598
+ // Scaffold skill files only if Agent Teams is enabled
599
+ if (agentTeamsConfig?.enabled) {
600
+ await scaffoldSkillFiles(selectedProject.name, isNonInteractive);
601
+ }
602
+ // Offer to scaffold commands and agents
603
+ if (!isNonInteractive) {
604
+ const { scaffoldCmds } = await inquirer.prompt([{
605
+ type: 'confirm',
606
+ name: 'scaffoldCmds',
607
+ message: 'Scaffold slash commands (.claude/commands)?',
608
+ default: true,
609
+ }]);
610
+ if (scaffoldCmds) {
611
+ const { scaffoldCommand } = await import('./scaffold/scaffold.js');
612
+ await scaffoldCommand({ target: 'claude', update: true });
613
+ }
614
+ if (agentTeamsConfig?.enabled) {
615
+ const { scaffoldAgents } = await inquirer.prompt([{
616
+ type: 'confirm',
617
+ name: 'scaffoldAgents',
618
+ message: 'Scaffold agent definitions (.claude/agents)?',
619
+ default: true,
620
+ }]);
621
+ if (scaffoldAgents) {
622
+ const { scaffoldCommand } = await import('./scaffold/scaffold.js');
623
+ await scaffoldCommand({ agents: true, target: 'claude', update: true });
624
+ }
625
+ }
626
+ }
543
627
  // Success summary
544
628
  printBlank();
545
629
  printHeader('Configuration Complete');
@@ -576,6 +660,7 @@ export function registerInitCommand(program) {
576
660
  .option('-f, --force', 'Overwrite existing configuration files')
577
661
  .option('-s, --show', 'Display current configuration settings')
578
662
  .option('-y, --yes', 'Skip interactive prompts, use defaults')
663
+ .option('--spec-only', 'Switch active specification (quick switch)')
579
664
  .addHelpText('after', `
580
665
  Examples:
581
666
  $ specforge init # Interactive setup
@@ -584,6 +669,7 @@ Examples:
584
669
  $ specforge init --project proj_abc --spec spec_xyz --format toon
585
670
  $ specforge init --force # Overwrite existing config
586
671
  $ specforge init --yes # Use defaults, skip prompts
672
+ $ specforge init --spec-only # Switch specification
587
673
 
588
674
  This command creates:
589
675
  .mcp.json - Claude Code MCP server configuration