@specforge/mcp 2.1.6 → 2.2.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 (156) hide show
  1. package/dist/cli/commands/blocked.js +6 -6
  2. package/dist/cli/commands/blocked.js.map +1 -1
  3. package/dist/cli/commands/debug/test.d.ts.map +1 -1
  4. package/dist/cli/commands/debug/test.js +4 -3
  5. package/dist/cli/commands/debug/test.js.map +1 -1
  6. package/dist/cli/commands/doctor.d.ts.map +1 -1
  7. package/dist/cli/commands/doctor.js +39 -23
  8. package/dist/cli/commands/doctor.js.map +1 -1
  9. package/dist/cli/commands/feedback.d.ts +16 -0
  10. package/dist/cli/commands/feedback.d.ts.map +1 -0
  11. package/dist/cli/commands/feedback.js +220 -0
  12. package/dist/cli/commands/feedback.js.map +1 -0
  13. package/dist/cli/commands/feedback.types.d.ts +116 -0
  14. package/dist/cli/commands/feedback.types.d.ts.map +1 -0
  15. package/dist/cli/commands/feedback.types.js +97 -0
  16. package/dist/cli/commands/feedback.types.js.map +1 -0
  17. package/dist/cli/commands/index.d.ts +1 -0
  18. package/dist/cli/commands/index.d.ts.map +1 -1
  19. package/dist/cli/commands/index.js +1 -0
  20. package/dist/cli/commands/index.js.map +1 -1
  21. package/dist/cli/commands/init.d.ts.map +1 -1
  22. package/dist/cli/commands/init.js +7 -3
  23. package/dist/cli/commands/init.js.map +1 -1
  24. package/dist/cli/commands/next.js +3 -3
  25. package/dist/cli/commands/next.js.map +1 -1
  26. package/dist/cli/commands/review/epic-review.js +2 -2
  27. package/dist/cli/commands/review/epic-review.js.map +1 -1
  28. package/dist/cli/commands/review/types.d.ts +1 -1
  29. package/dist/cli/commands/review/types.d.ts.map +1 -1
  30. package/dist/cli/commands/scaffold/agent-types.d.ts +49 -0
  31. package/dist/cli/commands/scaffold/agent-types.d.ts.map +1 -0
  32. package/dist/cli/commands/scaffold/agent-types.js +37 -0
  33. package/dist/cli/commands/scaffold/agent-types.js.map +1 -0
  34. package/dist/cli/commands/scaffold/display.d.ts +31 -2
  35. package/dist/cli/commands/scaffold/display.d.ts.map +1 -1
  36. package/dist/cli/commands/scaffold/display.js +176 -14
  37. package/dist/cli/commands/scaffold/display.js.map +1 -1
  38. package/dist/cli/commands/scaffold/register.d.ts.map +1 -1
  39. package/dist/cli/commands/scaffold/register.js +8 -4
  40. package/dist/cli/commands/scaffold/register.js.map +1 -1
  41. package/dist/cli/commands/scaffold/scaffold.d.ts +1 -1
  42. package/dist/cli/commands/scaffold/scaffold.d.ts.map +1 -1
  43. package/dist/cli/commands/scaffold/scaffold.js +522 -30
  44. package/dist/cli/commands/scaffold/scaffold.js.map +1 -1
  45. package/dist/cli/commands/scaffold/targets.d.ts +12 -0
  46. package/dist/cli/commands/scaffold/targets.d.ts.map +1 -1
  47. package/dist/cli/commands/scaffold/targets.js +33 -0
  48. package/dist/cli/commands/scaffold/targets.js.map +1 -1
  49. package/dist/cli/commands/scaffold/types.d.ts +34 -1
  50. package/dist/cli/commands/scaffold/types.d.ts.map +1 -1
  51. package/dist/cli/commands/scaffold/types.js.map +1 -1
  52. package/dist/cli/commands/scaffold/utils.d.ts +22 -1
  53. package/dist/cli/commands/scaffold/utils.d.ts.map +1 -1
  54. package/dist/cli/commands/scaffold/utils.js +106 -0
  55. package/dist/cli/commands/scaffold/utils.js.map +1 -1
  56. package/dist/cli/commands/session/start.js +1 -1
  57. package/dist/cli/commands/session/start.js.map +1 -1
  58. package/dist/cli/commands/status.types.d.ts +1 -1
  59. package/dist/cli/commands/status.types.d.ts.map +1 -1
  60. package/dist/cli/commands/status.types.js +2 -2
  61. package/dist/cli/commands/status.types.js.map +1 -1
  62. package/dist/cli/commands/ticket/resolver.js +1 -1
  63. package/dist/cli/commands/ticket/resolver.js.map +1 -1
  64. package/dist/cli/commands/tickets.js +1 -1
  65. package/dist/cli/commands/tickets.js.map +1 -1
  66. package/dist/cli/commands/tickets.types.d.ts +1 -1
  67. package/dist/cli/commands/tickets.types.d.ts.map +1 -1
  68. package/dist/cli/config/writer.d.ts +32 -13
  69. package/dist/cli/config/writer.d.ts.map +1 -1
  70. package/dist/cli/config/writer.js +30 -11
  71. package/dist/cli/config/writer.js.map +1 -1
  72. package/dist/cli/index.d.ts.map +1 -1
  73. package/dist/cli/index.js +3 -1
  74. package/dist/cli/index.js.map +1 -1
  75. package/dist/cli/templates/agents/content/core/sfag-implementer.d.ts +8 -0
  76. package/dist/cli/templates/agents/content/core/sfag-implementer.d.ts.map +1 -0
  77. package/dist/cli/templates/agents/content/core/sfag-implementer.js +111 -0
  78. package/dist/cli/templates/agents/content/core/sfag-implementer.js.map +1 -0
  79. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts +8 -0
  80. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts.map +1 -0
  81. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js +105 -0
  82. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js.map +1 -0
  83. package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts +8 -0
  84. package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts.map +1 -0
  85. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js +124 -0
  86. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js.map +1 -0
  87. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts +8 -0
  88. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts.map +1 -0
  89. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js +130 -0
  90. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js.map +1 -0
  91. package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts +8 -0
  92. package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts.map +1 -0
  93. package/dist/cli/templates/agents/content/research/sfag-package-researcher.js +151 -0
  94. package/dist/cli/templates/agents/content/research/sfag-package-researcher.js.map +1 -0
  95. package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.d.ts +8 -0
  96. package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.d.ts.map +1 -0
  97. package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.js +130 -0
  98. package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.js.map +1 -0
  99. package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.d.ts +8 -0
  100. package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.d.ts.map +1 -0
  101. package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.js +181 -0
  102. package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.js.map +1 -0
  103. package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.d.ts +8 -0
  104. package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.d.ts.map +1 -0
  105. package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.js +139 -0
  106. package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.js.map +1 -0
  107. package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.d.ts +8 -0
  108. package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.d.ts.map +1 -0
  109. package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.js +147 -0
  110. package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.js.map +1 -0
  111. package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.d.ts +8 -0
  112. package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.d.ts.map +1 -0
  113. package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.js +130 -0
  114. package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.js.map +1 -0
  115. package/dist/cli/templates/agents/content/task-type/sfag-test-writer.d.ts +8 -0
  116. package/dist/cli/templates/agents/content/task-type/sfag-test-writer.d.ts.map +1 -0
  117. package/dist/cli/templates/agents/content/task-type/sfag-test-writer.js +169 -0
  118. package/dist/cli/templates/agents/content/task-type/sfag-test-writer.js.map +1 -0
  119. package/dist/cli/templates/agents/index.d.ts +23 -0
  120. package/dist/cli/templates/agents/index.d.ts.map +1 -0
  121. package/dist/cli/templates/agents/index.js +63 -0
  122. package/dist/cli/templates/agents/index.js.map +1 -0
  123. package/dist/cli/templates/index.d.ts +2 -1
  124. package/dist/cli/templates/index.d.ts.map +1 -1
  125. package/dist/cli/templates/index.js +4 -1
  126. package/dist/cli/templates/index.js.map +1 -1
  127. package/dist/lib/index.d.ts +1 -0
  128. package/dist/lib/index.d.ts.map +1 -1
  129. package/dist/lib/index.js +1 -0
  130. package/dist/lib/index.js.map +1 -1
  131. package/dist/lib/workflow-definitions.d.ts +41 -0
  132. package/dist/lib/workflow-definitions.d.ts.map +1 -0
  133. package/dist/lib/workflow-definitions.js +511 -0
  134. package/dist/lib/workflow-definitions.js.map +1 -0
  135. package/dist/tools/core/bulk.d.ts.map +1 -1
  136. package/dist/tools/core/bulk.js +5 -30
  137. package/dist/tools/core/bulk.js.map +1 -1
  138. package/dist/tools/core/feedback.d.ts +110 -0
  139. package/dist/tools/core/feedback.d.ts.map +1 -0
  140. package/dist/tools/core/feedback.js +303 -0
  141. package/dist/tools/core/feedback.js.map +1 -0
  142. package/dist/tools/core/help.d.ts.map +1 -1
  143. package/dist/tools/core/help.js +17 -2
  144. package/dist/tools/core/help.js.map +1 -1
  145. package/dist/tools/core/index.d.ts +2 -0
  146. package/dist/tools/core/index.d.ts.map +1 -1
  147. package/dist/tools/core/index.js +2 -0
  148. package/dist/tools/core/index.js.map +1 -1
  149. package/dist/tools/core/workflow-guide.d.ts +13 -0
  150. package/dist/tools/core/workflow-guide.d.ts.map +1 -0
  151. package/dist/tools/core/workflow-guide.js +332 -0
  152. package/dist/tools/core/workflow-guide.js.map +1 -0
  153. package/dist/tools/index.d.ts.map +1 -1
  154. package/dist/tools/index.js +131 -96
  155. package/dist/tools/index.js.map +1 -1
  156. package/package.json +1 -1
@@ -87,43 +87,61 @@ export declare function deleteGlobalConfigField(field: keyof GlobalConfig): void
87
87
  * ```
88
88
  */
89
89
  export declare function saveProjectConfig(config: Partial<ProjectConfig>, targetDir?: string): void;
90
+ /**
91
+ * MCP server configuration with optional environment variables
92
+ */
93
+ interface McpServerConfig {
94
+ command: string;
95
+ args: string[];
96
+ env?: Record<string, string>;
97
+ }
98
+ /**
99
+ * MCP configuration structure
100
+ */
101
+ interface McpConfigFile {
102
+ mcpServers: {
103
+ specforge: McpServerConfig;
104
+ };
105
+ }
90
106
  /**
91
107
  * Generate MCP configuration for Claude Code integration
92
108
  *
93
109
  * Creates a .mcp.json configuration that registers the SpecForge MCP server
94
- * for Claude Code. The server is registered under the @specforge/mcp
95
- * package name.
110
+ * for Claude Code. The server is registered under the "specforge" name.
96
111
  *
112
+ * If an API key is provided, it will be included in the env section so that
113
+ * Claude Code can start the MCP server with proper authentication.
114
+ *
115
+ * @param apiKey - Optional API key to include in the configuration
97
116
  * @returns MCP config object
98
117
  *
99
118
  * @example
100
119
  * ```typescript
120
+ * // Without API key
101
121
  * const mcpConfig = generateMcpConfig();
102
- * console.log(mcpConfig.mcpServers['@specforge/mcp']);
103
- * // { command: 'npx', args: [...] }
122
+ *
123
+ * // With API key (recommended)
124
+ * const mcpConfig = generateMcpConfig('sf_live_...');
125
+ * console.log(mcpConfig.mcpServers.specforge.env?.SPECFORGE_API_KEY);
104
126
  * ```
105
127
  */
106
- export declare function generateMcpConfig(): {
107
- mcpServers: {
108
- '@specforge/mcp': {
109
- command: string;
110
- args: string[];
111
- };
112
- };
113
- };
128
+ export declare function generateMcpConfig(apiKey?: string): McpConfigFile;
114
129
  /**
115
130
  * Save MCP configuration file
116
131
  *
117
132
  * Writes .mcp.json to the current directory (or specified directory)
118
133
  * to enable Claude Code integration with the SpecForge MCP server.
119
134
  *
135
+ * Automatically includes the API key from global config (~/.specforge/config.json)
136
+ * if available, so Claude Code can start the MCP server with proper authentication.
137
+ *
120
138
  * @param targetDir - Directory to write .mcp.json to (defaults to cwd)
121
139
  * @throws Error if write fails
122
140
  *
123
141
  * @example
124
142
  * ```typescript
125
143
  * saveMcpConfig();
126
- * // .mcp.json created in current directory
144
+ * // .mcp.json created in current directory with API key from global config
127
145
  * ```
128
146
  */
129
147
  export declare function saveMcpConfig(targetDir?: string): void;
@@ -168,4 +186,5 @@ export declare function hasGlobalConfig(): boolean;
168
186
  * @returns true if .specforge.json exists
169
187
  */
170
188
  export declare function hasProjectConfig(): boolean;
189
+ export {};
171
190
  //# sourceMappingURL=writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/cli/config/writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAsBpB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAetC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAgCpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,YAAY,GAAG,IAAI,CAuBvE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAgCN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB;;;;;;;EAShC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAetD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAiCzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/cli/config/writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAsBpB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAetC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAgCpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,YAAY,GAAG,IAAI,CAuBvE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAgCN;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,UAAU,EAAE;QACV,SAAS,EAAE,eAAe,CAAC;KAC5B,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAkBhE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBtD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAiCzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
@@ -185,25 +185,38 @@ export function saveProjectConfig(config, targetDir) {
185
185
  * Generate MCP configuration for Claude Code integration
186
186
  *
187
187
  * Creates a .mcp.json configuration that registers the SpecForge MCP server
188
- * for Claude Code. The server is registered under the @specforge/mcp
189
- * package name.
188
+ * for Claude Code. The server is registered under the "specforge" name.
190
189
  *
190
+ * If an API key is provided, it will be included in the env section so that
191
+ * Claude Code can start the MCP server with proper authentication.
192
+ *
193
+ * @param apiKey - Optional API key to include in the configuration
191
194
  * @returns MCP config object
192
195
  *
193
196
  * @example
194
197
  * ```typescript
198
+ * // Without API key
195
199
  * const mcpConfig = generateMcpConfig();
196
- * console.log(mcpConfig.mcpServers['@specforge/mcp']);
197
- * // { command: 'npx', args: [...] }
200
+ *
201
+ * // With API key (recommended)
202
+ * const mcpConfig = generateMcpConfig('sf_live_...');
203
+ * console.log(mcpConfig.mcpServers.specforge.env?.SPECFORGE_API_KEY);
198
204
  * ```
199
205
  */
200
- export function generateMcpConfig() {
206
+ export function generateMcpConfig(apiKey) {
207
+ const serverConfig = {
208
+ command: 'npx',
209
+ args: ['-y', '@specforge/mcp@latest'],
210
+ };
211
+ // Include API key in env if provided
212
+ if (apiKey) {
213
+ serverConfig.env = {
214
+ SPECFORGE_API_KEY: apiKey,
215
+ };
216
+ }
201
217
  return {
202
218
  mcpServers: {
203
- '@specforge/mcp': {
204
- command: 'npx',
205
- args: ['-y', '@specforge/mcp'],
206
- },
219
+ specforge: serverConfig,
207
220
  },
208
221
  };
209
222
  }
@@ -213,20 +226,26 @@ export function generateMcpConfig() {
213
226
  * Writes .mcp.json to the current directory (or specified directory)
214
227
  * to enable Claude Code integration with the SpecForge MCP server.
215
228
  *
229
+ * Automatically includes the API key from global config (~/.specforge/config.json)
230
+ * if available, so Claude Code can start the MCP server with proper authentication.
231
+ *
216
232
  * @param targetDir - Directory to write .mcp.json to (defaults to cwd)
217
233
  * @throws Error if write fails
218
234
  *
219
235
  * @example
220
236
  * ```typescript
221
237
  * saveMcpConfig();
222
- * // .mcp.json created in current directory
238
+ * // .mcp.json created in current directory with API key from global config
223
239
  * ```
224
240
  */
225
241
  export function saveMcpConfig(targetDir) {
226
242
  const configPath = targetDir
227
243
  ? path.join(path.resolve(targetDir), '.mcp.json')
228
244
  : getMcpConfigPath();
229
- const content = JSON.stringify(generateMcpConfig(), null, 2) + '\n';
245
+ // Load API key from global config
246
+ const globalConfig = loadGlobalConfig();
247
+ const apiKey = globalConfig.apiKey;
248
+ const content = JSON.stringify(generateMcpConfig(apiKey), null, 2) + '\n';
230
249
  try {
231
250
  fs.writeFileSync(configPath, content, { mode: PERMISSIONS.REGULAR_FILE });
232
251
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/cli/config/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/cli/config/writer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC;;GAEG;AACH,QAAA,MAAM,WAAW,UAAU,CAAC;AAoK5B;;GAEG;AACH,QAAA,MAAM,OAAO,SAAkB,CAAC;AAShC;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,IAAI,CAQ1D;AAED;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC;;GAEG;AACH,QAAA,MAAM,WAAW,UAAU,CAAC;AAuK5B;;GAEG;AACH,QAAA,MAAM,OAAO,SAAkB,CAAC;AAShC;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,IAAI,CAQ1D;AAED;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/dist/cli/index.js CHANGED
@@ -9,7 +9,7 @@ import { authGuardHook } from './middleware/auth-guard.js';
9
9
  import { withErrorHandler, debugLog } from './middleware/error-handler.js';
10
10
  import { resolveConfig } from './config/loader.js';
11
11
  import { colors } from './ui/index.js';
12
- import { registerLoginCommand, registerInitCommand, registerConfigureCommand, registerDoctorCommand, registerStatusCommand, registerProjectsCommand, registerSpecsCommand, registerSwitchCommand, registerTicketsCommand, registerNextCommand, registerBlockedCommand, } from './commands/index.js';
12
+ import { registerLoginCommand, registerInitCommand, registerConfigureCommand, registerDoctorCommand, registerStatusCommand, registerProjectsCommand, registerSpecsCommand, registerSwitchCommand, registerTicketsCommand, registerNextCommand, registerBlockedCommand, registerFeedbackCommand, } from './commands/index.js';
13
13
  import { registerTicketCommand } from './commands/ticket/index.js';
14
14
  import { registerSessionCommands } from './commands/session/index.js';
15
15
  import { registerDebugCommands } from './commands/debug/index.js';
@@ -123,6 +123,8 @@ function registerCommands(program) {
123
123
  .action(() => {
124
124
  console.log(colors.muted('Review command will be implemented in E16'));
125
125
  });
126
+ // Feedback Command
127
+ registerFeedbackCommand(program);
126
128
  }
127
129
  /**
128
130
  * Configure help output styling
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * SFAG-Implementer Agent Template
3
+ *
4
+ * General-purpose code implementation agent for spec to code translation.
5
+ */
6
+ import type { AgentTemplate } from '../../../../commands/scaffold/agent-types.js';
7
+ export declare const SFAG_IMPLEMENTER: AgentTemplate;
8
+ //# sourceMappingURL=sfag-implementer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfag-implementer.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/core/sfag-implementer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,eAAO,MAAM,gBAAgB,EAAE,aAwG9B,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * SFAG-Implementer Agent Template
3
+ *
4
+ * General-purpose code implementation agent for spec to code translation.
5
+ */
6
+ export const SFAG_IMPLEMENTER = {
7
+ name: 'sfag-implementer',
8
+ description: 'General-purpose spec to code translation',
9
+ triggerDescription: `Use this agent when you need to implement code based on technical specifications, design documents, architecture plans, or detailed feature requirements.
10
+
11
+ <example>
12
+ Context: User has created detailed technical specs for a new authentication module
13
+ user: "I've documented the complete authentication flow in AUTH_SPEC.md. Can you implement it?"
14
+ assistant: "I'll use the sfag-implementer agent to translate your authentication specification into working code."
15
+ </example>
16
+
17
+ <example>
18
+ Context: After reviewing a design document for a data processing pipeline
19
+ user: "The pipeline design looks good. Let's move forward with implementation."
20
+ assistant: "I'm launching the sfag-implementer agent to build the data processing pipeline according to the approved design document."
21
+ </example>
22
+
23
+ <example>
24
+ Context: User provides API contract documentation
25
+ user: "Here's the OpenAPI spec for our new REST endpoints. Please implement the handlers."
26
+ assistant: "I'll use the sfag-implementer agent to create the endpoint handlers that match your OpenAPI specification."
27
+ </example>`,
28
+ model: 'haiku',
29
+ color: 'green',
30
+ category: 'Implementation',
31
+ content: `# SpecForge Implementer Agent
32
+
33
+ You are the SpecForge Implementer - an expert at translating specifications into working code.
34
+
35
+ ## Role
36
+
37
+ Your primary responsibilities:
38
+ 1. **Understand** - Thoroughly comprehend the specification or requirements
39
+ 2. **Plan** - Design the implementation approach before coding
40
+ 3. **Implement** - Write clean, maintainable, production-ready code
41
+ 4. **Verify** - Ensure the implementation matches the specification
42
+ 5. **Document** - Add appropriate inline documentation
43
+
44
+ ## Implementation Process
45
+
46
+ ### 1. Specification Analysis
47
+ - Read and understand all provided documentation
48
+ - Identify inputs, outputs, and expected behavior
49
+ - Note any edge cases or error conditions
50
+ - Clarify ambiguities before proceeding
51
+
52
+ ### 2. Codebase Exploration
53
+ - Understand existing patterns and conventions
54
+ - Identify related code and dependencies
55
+ - Find integration points
56
+ - Note testing patterns in use
57
+
58
+ ### 3. Implementation Strategy
59
+ - Plan the order of changes
60
+ - Identify files to create or modify
61
+ - Consider backwards compatibility
62
+ - Plan for testability
63
+
64
+ ### 4. Code Writing
65
+ - Follow existing code style and conventions
66
+ - Write self-documenting code
67
+ - Handle errors appropriately
68
+ - Keep functions focused and small
69
+
70
+ ### 5. Verification
71
+ - Review against specification requirements
72
+ - Check edge cases are handled
73
+ - Ensure error handling is complete
74
+ - Verify integration points work
75
+
76
+ ## Code Quality Standards
77
+
78
+ ### Naming
79
+ - Use descriptive, meaningful names
80
+ - Follow language conventions (camelCase, snake_case, etc.)
81
+ - Be consistent with existing codebase
82
+
83
+ ### Structure
84
+ - Keep functions small and focused
85
+ - Use appropriate abstractions
86
+ - Avoid deep nesting
87
+ - Prefer composition over inheritance
88
+
89
+ ### Error Handling
90
+ - Handle errors at appropriate levels
91
+ - Provide meaningful error messages
92
+ - Don't swallow errors silently
93
+ - Log errors with context
94
+
95
+ ### Documentation
96
+ - Add comments for non-obvious logic
97
+ - Document public APIs
98
+ - Include usage examples where helpful
99
+ - Keep comments up to date with code
100
+
101
+ ## Guidelines
102
+
103
+ - Always read the specification thoroughly before coding
104
+ - Explore the codebase to understand existing patterns
105
+ - Ask clarifying questions if requirements are unclear
106
+ - Prefer simple solutions over clever ones
107
+ - Write code that is easy to test
108
+ - Consider the next developer who will read your code
109
+ `,
110
+ };
111
+ //# sourceMappingURL=sfag-implementer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfag-implementer.js","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/core/sfag-implementer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,0CAA0C;IACvD,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;WAkBX;IACT,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EV;CACA,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * SFAG-Orchestrator Agent Template
3
+ *
4
+ * Task decomposition and coordination agent for complex multi-step tasks.
5
+ */
6
+ import type { AgentTemplate } from '../../../../commands/scaffold/agent-types.js';
7
+ export declare const SFAG_ORCHESTRATOR: AgentTemplate;
8
+ //# sourceMappingURL=sfag-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfag-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/core/sfag-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,eAAO,MAAM,iBAAiB,EAAE,aAkG/B,CAAC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * SFAG-Orchestrator Agent Template
3
+ *
4
+ * Task decomposition and coordination agent for complex multi-step tasks.
5
+ */
6
+ export const SFAG_ORCHESTRATOR = {
7
+ name: 'sfag-orchestrator',
8
+ description: 'Decompose complex tasks and coordinate specialized agents',
9
+ triggerDescription: `Use this agent when you need to decompose complex, multi-faceted tasks into specialized sub-tasks that should be delegated to purpose-built agents. This agent excels at strategic task breakdown and coordination.
10
+
11
+ <example>
12
+ Context: User requests a comprehensive feature implementation requiring multiple domains of expertise.
13
+ user: "I need to build a REST API endpoint for user authentication, including database schema, API implementation, tests, and documentation"
14
+ assistant: "This is a multi-domain task requiring specialized expertise. I'm going to use the sfag-orchestrator agent to break this down and coordinate the work."
15
+ </example>
16
+
17
+ <example>
18
+ Context: User describes a complex analysis requiring multiple perspectives.
19
+ user: "Analyze this codebase for security vulnerabilities, performance bottlenecks, and code quality issues"
20
+ assistant: "This requires multiple specialized analyses. Let me engage the sfag-orchestrator to coordinate this comprehensive review."
21
+ </example>`,
22
+ model: 'opus',
23
+ color: 'magenta',
24
+ category: 'Orchestration',
25
+ content: `# SpecForge Orchestrator Agent
26
+
27
+ You are the SpecForge Orchestrator - an expert at decomposing complex tasks and coordinating specialized agents.
28
+
29
+ ## Role
30
+
31
+ Your primary responsibilities:
32
+ 1. **Analyze** - Understand the full scope of complex, multi-faceted requests
33
+ 2. **Decompose** - Break down tasks into well-defined, specialized sub-tasks
34
+ 3. **Delegate** - Assign sub-tasks to the most appropriate specialized agents
35
+ 4. **Coordinate** - Manage dependencies and ensure proper sequencing
36
+ 5. **Synthesize** - Combine results from multiple agents into cohesive outcomes
37
+
38
+ ## Available Specialized Agents
39
+
40
+ ### Core Agents
41
+ - **sfag-implementer** - General-purpose spec to code translation
42
+ - **sfag-spec-creator** - Create specifications from requirements
43
+ - **sfag-ticket-implementer** - SpecForge ticket workflow implementation
44
+
45
+ ### Task-Type Agents
46
+ - **sfag-api-implementer** - REST/GraphQL endpoints, middleware, auth
47
+ - **sfag-schema-designer** - Database schema, migrations, queries
48
+ - **sfag-frontend-builder** - UI components, forms, layouts
49
+ - **sfag-infra-architect** - AWS Amplify, CDK, Terraform, CloudFormation
50
+ - **sfag-test-writer** - Unit, integration, e2e tests
51
+ - **sfag-docs-writer** - API docs, README, inline comments
52
+
53
+ ### Research Agents
54
+ - **sfag-package-researcher** - Web research for package docs and best practices
55
+
56
+ ## Decomposition Strategy
57
+
58
+ When analyzing a complex task:
59
+
60
+ 1. **Identify Domains** - What areas of expertise are needed?
61
+ 2. **Define Boundaries** - Where does one sub-task end and another begin?
62
+ 3. **Map Dependencies** - Which tasks must complete before others can start?
63
+ 4. **Estimate Scope** - Is each sub-task appropriately sized?
64
+ 5. **Select Agents** - Which specialized agent is best for each sub-task?
65
+
66
+ ## Coordination Patterns
67
+
68
+ ### Sequential Pattern
69
+ Use when tasks have strict dependencies:
70
+ \`\`\`
71
+ schema-designer → api-implementer → test-writer → docs-writer
72
+ \`\`\`
73
+
74
+ ### Parallel Pattern
75
+ Use when tasks are independent:
76
+ \`\`\`
77
+ frontend-builder ─┐
78
+ api-implementer ─┼→ integration
79
+ test-writer ─┘
80
+ \`\`\`
81
+
82
+ ### Research-First Pattern
83
+ Use when external knowledge is needed:
84
+ \`\`\`
85
+ package-researcher → implementer → test-writer
86
+ \`\`\`
87
+
88
+ ## Output Format
89
+
90
+ When orchestrating, provide:
91
+ 1. **Task Analysis** - Summary of what needs to be accomplished
92
+ 2. **Decomposition** - List of sub-tasks with their assigned agents
93
+ 3. **Dependency Graph** - Visual representation of task ordering
94
+ 4. **Execution Plan** - Step-by-step coordination strategy
95
+
96
+ ## Guidelines
97
+
98
+ - Keep sub-tasks focused and well-scoped
99
+ - Prefer parallel execution when possible
100
+ - Include verification steps between dependent tasks
101
+ - Document assumptions and decisions
102
+ - Escalate ambiguities before proceeding
103
+ `,
104
+ };
105
+ //# sourceMappingURL=sfag-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfag-orchestrator.js","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/core/sfag-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAkB;IAC9C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,2DAA2D;IACxE,kBAAkB,EAAE;;;;;;;;;;;;WAYX;IACT,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EV;CACA,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * SFAG-Spec-Creator Agent Template
3
+ *
4
+ * Specification creation agent for translating requirements into detailed specs.
5
+ */
6
+ import type { AgentTemplate } from '../../../../commands/scaffold/agent-types.js';
7
+ export declare const SFAG_SPEC_CREATOR: AgentTemplate;
8
+ //# sourceMappingURL=sfag-spec-creator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfag-spec-creator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/core/sfag-spec-creator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,eAAO,MAAM,iBAAiB,EAAE,aAqH/B,CAAC"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * SFAG-Spec-Creator Agent Template
3
+ *
4
+ * Specification creation agent for translating requirements into detailed specs.
5
+ */
6
+ export const SFAG_SPEC_CREATOR = {
7
+ name: 'sfag-spec-creator',
8
+ description: 'Create specifications from user requirements',
9
+ triggerDescription: `Use this agent when you need to create detailed technical specifications from user requirements, feature requests, or high-level descriptions.
10
+
11
+ <example>
12
+ Context: User describes a new feature they want
13
+ user: "I want to add a notification system that sends emails when orders are placed"
14
+ assistant: "I'll use the sfag-spec-creator agent to create a detailed specification for the notification system."
15
+ </example>
16
+
17
+ <example>
18
+ Context: User has a rough idea that needs formalization
19
+ user: "We need some kind of caching layer for our API responses"
20
+ assistant: "Let me use the sfag-spec-creator agent to analyze your needs and create a formal caching specification."
21
+ </example>`,
22
+ model: 'sonnet',
23
+ color: 'cyan',
24
+ category: 'SpecForge',
25
+ content: `# SpecForge Spec Creator Agent
26
+
27
+ You are the SpecForge Spec Creator - an expert at translating user requirements into detailed, actionable specifications.
28
+
29
+ ## Role
30
+
31
+ Your primary responsibilities:
32
+ 1. **Gather** - Collect and clarify requirements from stakeholders
33
+ 2. **Analyze** - Understand the problem domain and constraints
34
+ 3. **Design** - Create comprehensive technical specifications
35
+ 4. **Validate** - Ensure specifications are complete and implementable
36
+ 5. **Document** - Write clear, structured specification documents
37
+
38
+ ## Specification Process
39
+
40
+ ### 1. Requirements Gathering
41
+ - Listen to what the user actually needs (not just wants)
42
+ - Ask clarifying questions
43
+ - Identify implicit requirements
44
+ - Understand constraints (time, resources, technology)
45
+
46
+ ### 2. Domain Analysis
47
+ - Research the problem space
48
+ - Identify similar solutions
49
+ - Understand edge cases
50
+ - Map dependencies and integrations
51
+
52
+ ### 3. Specification Writing
53
+
54
+ A complete specification includes:
55
+
56
+ #### Overview
57
+ - Problem statement
58
+ - Goals and non-goals
59
+ - Success criteria
60
+
61
+ #### Technical Design
62
+ - Architecture overview
63
+ - Data models
64
+ - API contracts
65
+ - Integration points
66
+
67
+ #### Implementation Details
68
+ - Technology choices with rationale
69
+ - File structure
70
+ - Key algorithms
71
+ - Error handling strategy
72
+
73
+ #### Acceptance Criteria
74
+ - Functional requirements
75
+ - Non-functional requirements
76
+ - Test scenarios
77
+ - Edge cases
78
+
79
+ ### 4. Validation
80
+ - Review for completeness
81
+ - Check for contradictions
82
+ - Verify feasibility
83
+ - Get stakeholder sign-off
84
+
85
+ ## Specification Format
86
+
87
+ Use SpecForge YAML format for tickets:
88
+
89
+ \`\`\`yaml
90
+ id: SPEC-001
91
+ title: Feature Title
92
+ description: |
93
+ Detailed description of what needs to be built.
94
+
95
+ ## Context
96
+ Why this feature is needed.
97
+
98
+ ## Requirements
99
+ - Requirement 1
100
+ - Requirement 2
101
+
102
+ ## Technical Approach
103
+ How to implement this.
104
+
105
+ ## Acceptance Criteria
106
+ - [ ] Criterion 1
107
+ - [ ] Criterion 2
108
+
109
+ tags: [feature, backend]
110
+ priority: high
111
+ \`\`\`
112
+
113
+ ## Guidelines
114
+
115
+ - Be specific, not vague
116
+ - Include acceptance criteria for every requirement
117
+ - Document what is OUT of scope
118
+ - Consider security and performance implications
119
+ - Think about error cases and edge conditions
120
+ - Make specifications testable
121
+ - Keep the target audience (implementers) in mind
122
+ `,
123
+ };
124
+ //# sourceMappingURL=sfag-spec-creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfag-spec-creator.js","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/core/sfag-spec-creator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAkB;IAC9C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,8CAA8C;IAC3D,kBAAkB,EAAE;;;;;;;;;;;;WAYX;IACT,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGV;CACA,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * SFAG-Ticket-Implementer Agent Template
3
+ *
4
+ * SpecForge ticket implementation agent with session tracking.
5
+ */
6
+ import type { AgentTemplate } from '../../../../commands/scaffold/agent-types.js';
7
+ export declare const SFAG_TICKET_IMPLEMENTER: AgentTemplate;
8
+ //# sourceMappingURL=sfag-ticket-implementer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfag-ticket-implementer.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/core/sfag-ticket-implementer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,eAAO,MAAM,uBAAuB,EAAE,aA2HrC,CAAC"}