@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.
- package/dist/cli/commands/blocked.js +6 -6
- package/dist/cli/commands/blocked.js.map +1 -1
- package/dist/cli/commands/debug/test.d.ts.map +1 -1
- package/dist/cli/commands/debug/test.js +4 -3
- package/dist/cli/commands/debug/test.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +39 -23
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/feedback.d.ts +16 -0
- package/dist/cli/commands/feedback.d.ts.map +1 -0
- package/dist/cli/commands/feedback.js +220 -0
- package/dist/cli/commands/feedback.js.map +1 -0
- package/dist/cli/commands/feedback.types.d.ts +116 -0
- package/dist/cli/commands/feedback.types.d.ts.map +1 -0
- package/dist/cli/commands/feedback.types.js +97 -0
- package/dist/cli/commands/feedback.types.js.map +1 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +7 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/next.js +3 -3
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/review/epic-review.js +2 -2
- package/dist/cli/commands/review/epic-review.js.map +1 -1
- package/dist/cli/commands/review/types.d.ts +1 -1
- package/dist/cli/commands/review/types.d.ts.map +1 -1
- package/dist/cli/commands/scaffold/agent-types.d.ts +49 -0
- package/dist/cli/commands/scaffold/agent-types.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/agent-types.js +37 -0
- package/dist/cli/commands/scaffold/agent-types.js.map +1 -0
- package/dist/cli/commands/scaffold/display.d.ts +31 -2
- package/dist/cli/commands/scaffold/display.d.ts.map +1 -1
- package/dist/cli/commands/scaffold/display.js +176 -14
- package/dist/cli/commands/scaffold/display.js.map +1 -1
- package/dist/cli/commands/scaffold/register.d.ts.map +1 -1
- package/dist/cli/commands/scaffold/register.js +8 -4
- package/dist/cli/commands/scaffold/register.js.map +1 -1
- package/dist/cli/commands/scaffold/scaffold.d.ts +1 -1
- package/dist/cli/commands/scaffold/scaffold.d.ts.map +1 -1
- package/dist/cli/commands/scaffold/scaffold.js +522 -30
- package/dist/cli/commands/scaffold/scaffold.js.map +1 -1
- package/dist/cli/commands/scaffold/targets.d.ts +12 -0
- package/dist/cli/commands/scaffold/targets.d.ts.map +1 -1
- package/dist/cli/commands/scaffold/targets.js +33 -0
- package/dist/cli/commands/scaffold/targets.js.map +1 -1
- package/dist/cli/commands/scaffold/types.d.ts +34 -1
- package/dist/cli/commands/scaffold/types.d.ts.map +1 -1
- package/dist/cli/commands/scaffold/types.js.map +1 -1
- package/dist/cli/commands/scaffold/utils.d.ts +22 -1
- package/dist/cli/commands/scaffold/utils.d.ts.map +1 -1
- package/dist/cli/commands/scaffold/utils.js +106 -0
- package/dist/cli/commands/scaffold/utils.js.map +1 -1
- package/dist/cli/commands/session/start.js +1 -1
- package/dist/cli/commands/session/start.js.map +1 -1
- package/dist/cli/commands/status.types.d.ts +1 -1
- package/dist/cli/commands/status.types.d.ts.map +1 -1
- package/dist/cli/commands/status.types.js +2 -2
- package/dist/cli/commands/status.types.js.map +1 -1
- package/dist/cli/commands/ticket/resolver.js +1 -1
- package/dist/cli/commands/ticket/resolver.js.map +1 -1
- package/dist/cli/commands/tickets.js +1 -1
- package/dist/cli/commands/tickets.js.map +1 -1
- package/dist/cli/commands/tickets.types.d.ts +1 -1
- package/dist/cli/commands/tickets.types.d.ts.map +1 -1
- package/dist/cli/config/writer.d.ts +32 -13
- package/dist/cli/config/writer.d.ts.map +1 -1
- package/dist/cli/config/writer.js +30 -11
- package/dist/cli/config/writer.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/templates/agents/content/core/sfag-implementer.d.ts +8 -0
- package/dist/cli/templates/agents/content/core/sfag-implementer.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-implementer.js +111 -0
- package/dist/cli/templates/agents/content/core/sfag-implementer.js.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts +8 -0
- package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-orchestrator.js +105 -0
- package/dist/cli/templates/agents/content/core/sfag-orchestrator.js.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts +8 -0
- package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-spec-creator.js +124 -0
- package/dist/cli/templates/agents/content/core/sfag-spec-creator.js.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts +8 -0
- package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js +130 -0
- package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js.map +1 -0
- package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts +8 -0
- package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/research/sfag-package-researcher.js +151 -0
- package/dist/cli/templates/agents/content/research/sfag-package-researcher.js.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.d.ts +8 -0
- package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.js +130 -0
- package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.js.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.d.ts +8 -0
- package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.js +181 -0
- package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.js.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.d.ts +8 -0
- package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.js +139 -0
- package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.js.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.d.ts +8 -0
- package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.js +147 -0
- package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.js.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.d.ts +8 -0
- package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.js +130 -0
- package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.js.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-test-writer.d.ts +8 -0
- package/dist/cli/templates/agents/content/task-type/sfag-test-writer.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/task-type/sfag-test-writer.js +169 -0
- package/dist/cli/templates/agents/content/task-type/sfag-test-writer.js.map +1 -0
- package/dist/cli/templates/agents/index.d.ts +23 -0
- package/dist/cli/templates/agents/index.d.ts.map +1 -0
- package/dist/cli/templates/agents/index.js +63 -0
- package/dist/cli/templates/agents/index.js.map +1 -0
- package/dist/cli/templates/index.d.ts +2 -1
- package/dist/cli/templates/index.d.ts.map +1 -1
- package/dist/cli/templates/index.js +4 -1
- package/dist/cli/templates/index.js.map +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/workflow-definitions.d.ts +41 -0
- package/dist/lib/workflow-definitions.d.ts.map +1 -0
- package/dist/lib/workflow-definitions.js +511 -0
- package/dist/lib/workflow-definitions.js.map +1 -0
- package/dist/tools/core/bulk.d.ts.map +1 -1
- package/dist/tools/core/bulk.js +5 -30
- package/dist/tools/core/bulk.js.map +1 -1
- package/dist/tools/core/feedback.d.ts +110 -0
- package/dist/tools/core/feedback.d.ts.map +1 -0
- package/dist/tools/core/feedback.js +303 -0
- package/dist/tools/core/feedback.js.map +1 -0
- package/dist/tools/core/help.d.ts.map +1 -1
- package/dist/tools/core/help.js +17 -2
- package/dist/tools/core/help.js.map +1 -1
- package/dist/tools/core/index.d.ts +2 -0
- package/dist/tools/core/index.d.ts.map +1 -1
- package/dist/tools/core/index.js +2 -0
- package/dist/tools/core/index.js.map +1 -1
- package/dist/tools/core/workflow-guide.d.ts +13 -0
- package/dist/tools/core/workflow-guide.d.ts.map +1 -0
- package/dist/tools/core/workflow-guide.js +332 -0
- package/dist/tools/core/workflow-guide.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +131 -96
- package/dist/tools/index.js.map +1 -1
- 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
|
|
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
|
-
*
|
|
103
|
-
* //
|
|
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
|
|
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
|
|
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
|
-
*
|
|
197
|
-
* //
|
|
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
|
-
|
|
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
|
-
|
|
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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"}
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,
|
|
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"}
|