@specforge/mcp 2.3.0 → 2.5.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.
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Register the blueprints command
4
+ */
5
+ export declare function registerBlueprintsCommand(program: Command): void;
6
+ //# sourceMappingURL=blueprints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprints.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/blueprints.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2GpC;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgMhE"}
@@ -0,0 +1,257 @@
1
+ // mcp/src/cli/commands/blueprints.ts
2
+ import ora from 'ora';
3
+ import Table from 'cli-table3';
4
+ import chalk from 'chalk';
5
+ import { resolveConfig } from '../config/index.js';
6
+ import { withErrorHandler, CliError } from '../middleware/error-handler.js';
7
+ import { ApiClient } from '../../client/api-client.js';
8
+ /**
9
+ * Category display colors
10
+ */
11
+ const CATEGORY_COLORS = {
12
+ flowchart: chalk.cyan,
13
+ architecture: chalk.blue,
14
+ state: chalk.magenta,
15
+ sequence: chalk.yellow,
16
+ erd: chalk.green,
17
+ mockup: chalk.rgb(255, 165, 0), // orange
18
+ adr: chalk.gray,
19
+ component: chalk.blueBright,
20
+ deployment: chalk.red,
21
+ api: chalk.greenBright,
22
+ };
23
+ /**
24
+ * Status display colors
25
+ */
26
+ const STATUS_COLORS = {
27
+ draft: chalk.gray,
28
+ review: chalk.yellow,
29
+ approved: chalk.green,
30
+ deprecated: chalk.red,
31
+ };
32
+ /**
33
+ * Format category for display
34
+ */
35
+ function formatCategory(category) {
36
+ if (!category)
37
+ return chalk.gray('-');
38
+ const colorFn = CATEGORY_COLORS[category] || chalk.white;
39
+ return colorFn(category);
40
+ }
41
+ /**
42
+ * Format status for display
43
+ */
44
+ function formatStatus(status) {
45
+ if (!status)
46
+ return chalk.gray('-');
47
+ const colorFn = STATUS_COLORS[status] || chalk.white;
48
+ return colorFn(status);
49
+ }
50
+ /**
51
+ * Format format type for display
52
+ */
53
+ function formatFormatType(format) {
54
+ if (!format)
55
+ return chalk.gray('-');
56
+ switch (format) {
57
+ case 'mermaid':
58
+ return chalk.cyan('mermaid');
59
+ case 'markdown':
60
+ return chalk.blue('markdown');
61
+ case 'ascii':
62
+ return chalk.gray('ascii');
63
+ case 'mixed':
64
+ return chalk.magenta('mixed');
65
+ default:
66
+ return format;
67
+ }
68
+ }
69
+ /**
70
+ * Truncate text to max length
71
+ */
72
+ function truncate(text, maxLength) {
73
+ if (!text)
74
+ return '';
75
+ if (text.length <= maxLength)
76
+ return text;
77
+ return text.substring(0, maxLength - 3) + '...';
78
+ }
79
+ /**
80
+ * Create authenticated API client
81
+ */
82
+ function createApiClient() {
83
+ const config = resolveConfig();
84
+ if (!config.apiKey) {
85
+ throw new CliError('Not authenticated', 1, 'Run `specforge-mcp login` to authenticate first');
86
+ }
87
+ return new ApiClient({
88
+ apiKey: config.apiKey,
89
+ apiUrl: config.apiUrl,
90
+ debug: config.debug,
91
+ });
92
+ }
93
+ /**
94
+ * Register the blueprints command
95
+ */
96
+ export function registerBlueprintsCommand(program) {
97
+ const blueprintsCmd = program
98
+ .command('blueprints')
99
+ .description('List and view specification blueprints (diagrams, flowcharts, ADRs)')
100
+ .option('-s, --spec <id>', 'Specification ID (required)')
101
+ .option('-c, --category <category>', 'Filter by category (flowchart, architecture, state, sequence, erd, mockup, adr, component, deployment, api)')
102
+ .option('--status <status>', 'Filter by status (draft, review, approved, deprecated)')
103
+ .option('--json', 'Output as JSON')
104
+ .option('--toon', 'Output as TOON format')
105
+ .action(withErrorHandler(async (options) => {
106
+ if (!options.spec) {
107
+ console.error(chalk.red('Error: --spec <id> is required'));
108
+ process.exit(1);
109
+ }
110
+ const spinner = ora('Fetching blueprints...').start();
111
+ try {
112
+ const apiClient = createApiClient();
113
+ const result = (await apiClient.call('list_blueprints', {
114
+ specificationId: options.spec,
115
+ category: options.category,
116
+ status: options.status,
117
+ }));
118
+ spinner.stop();
119
+ const blueprints = result.items || [];
120
+ if (options.json) {
121
+ console.log(JSON.stringify(result, null, 2));
122
+ return;
123
+ }
124
+ if (blueprints.length === 0) {
125
+ console.log(chalk.yellow('No blueprints found for this specification.'));
126
+ return;
127
+ }
128
+ // Display as table
129
+ const table = new Table({
130
+ head: [
131
+ chalk.bold('Title'),
132
+ chalk.bold('Category'),
133
+ chalk.bold('Format'),
134
+ chalk.bold('Status'),
135
+ chalk.bold('Version'),
136
+ chalk.bold('ID'),
137
+ ],
138
+ colWidths: [30, 14, 10, 12, 10, 24],
139
+ wordWrap: true,
140
+ });
141
+ for (const bp of blueprints) {
142
+ table.push([
143
+ truncate(bp.title, 28),
144
+ formatCategory(bp.category),
145
+ formatFormatType(bp.format),
146
+ formatStatus(bp.status),
147
+ bp.version || '-',
148
+ chalk.gray(bp.id.substring(0, 22) + '...'),
149
+ ]);
150
+ }
151
+ console.log(table.toString());
152
+ console.log(chalk.gray(`\nTotal: ${blueprints.length} blueprint(s)`));
153
+ }
154
+ catch (error) {
155
+ spinner.fail('Failed to fetch blueprints');
156
+ throw error;
157
+ }
158
+ }));
159
+ // Subcommand: blueprints get <id>
160
+ blueprintsCmd
161
+ .command('get <id>')
162
+ .description('Get a specific blueprint with full content')
163
+ .option('--json', 'Output as JSON')
164
+ .option('--content', 'Show full content (default: true)', true)
165
+ .action(withErrorHandler(async (id, options) => {
166
+ const spinner = ora('Fetching blueprint...').start();
167
+ try {
168
+ const apiClient = createApiClient();
169
+ const blueprint = (await apiClient.call('get_blueprint', {
170
+ blueprintId: id,
171
+ }));
172
+ spinner.stop();
173
+ if (!blueprint) {
174
+ console.log(chalk.red('Blueprint not found.'));
175
+ process.exit(1);
176
+ }
177
+ if (options.json) {
178
+ console.log(JSON.stringify(blueprint, null, 2));
179
+ return;
180
+ }
181
+ // Display formatted output
182
+ console.log(chalk.bold.white(`\n${blueprint.title}`));
183
+ console.log(chalk.gray('═'.repeat(60)));
184
+ console.log();
185
+ // Metadata
186
+ console.log(chalk.bold('Category:'), formatCategory(blueprint.category));
187
+ console.log(chalk.bold('Status:'), formatStatus(blueprint.status));
188
+ console.log(chalk.bold('Format:'), formatFormatType(blueprint.format));
189
+ console.log(chalk.bold('Version:'), blueprint.version || '-');
190
+ console.log(chalk.bold('ID:'), chalk.gray(blueprint.id));
191
+ if (blueprint.tags && blueprint.tags.length > 0) {
192
+ console.log(chalk.bold('Tags:'), blueprint.tags.map(t => chalk.cyan(t)).join(', '));
193
+ }
194
+ if (blueprint.description) {
195
+ console.log();
196
+ console.log(chalk.bold('Description:'));
197
+ console.log(chalk.gray(blueprint.description));
198
+ }
199
+ if (blueprint.content && options.content !== false) {
200
+ console.log();
201
+ console.log(chalk.bold('Content:'));
202
+ console.log(chalk.gray('─'.repeat(60)));
203
+ console.log(blueprint.content);
204
+ }
205
+ console.log();
206
+ }
207
+ catch (error) {
208
+ spinner.fail('Failed to fetch blueprint');
209
+ throw error;
210
+ }
211
+ }));
212
+ // Subcommand: blueprints for-ticket <ticketId>
213
+ blueprintsCmd
214
+ .command('for-ticket <ticketId>')
215
+ .description('Get blueprints linked to a ticket')
216
+ .option('--json', 'Output as JSON')
217
+ .action(withErrorHandler(async (ticketId, options) => {
218
+ const spinner = ora('Fetching ticket blueprints...').start();
219
+ try {
220
+ const apiClient = createApiClient();
221
+ const result = (await apiClient.call('get_ticket_blueprints', {
222
+ ticketId,
223
+ }));
224
+ spinner.stop();
225
+ const references = result.references || [];
226
+ if (options.json) {
227
+ console.log(JSON.stringify(result, null, 2));
228
+ return;
229
+ }
230
+ if (references.length === 0) {
231
+ console.log(chalk.yellow('No blueprints linked to this ticket.'));
232
+ return;
233
+ }
234
+ console.log(chalk.bold(`\nBlueprints linked to ticket ${ticketId}:\n`));
235
+ for (const ref of references) {
236
+ const bp = ref.blueprint;
237
+ console.log(chalk.bold.cyan(` ${bp.title}`));
238
+ console.log(` Category: ${formatCategory(bp.category)}`);
239
+ console.log(` Format: ${formatFormatType(bp.format)}`);
240
+ if (ref.context) {
241
+ console.log(` Context: ${chalk.gray(ref.context)}`);
242
+ }
243
+ if (ref.section) {
244
+ console.log(` Section: ${chalk.gray(ref.section)}`);
245
+ }
246
+ console.log(` ID: ${chalk.gray(bp.id)}`);
247
+ console.log();
248
+ }
249
+ console.log(chalk.gray(`Total: ${references.length} blueprint(s)`));
250
+ }
251
+ catch (error) {
252
+ spinner.fail('Failed to fetch ticket blueprints');
253
+ throw error;
254
+ }
255
+ }));
256
+ }
257
+ //# sourceMappingURL=blueprints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprints.js","sourceRoot":"","sources":["../../../src/cli/commands/blueprints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Type definitions for blueprints CLI command
3
+ */
4
+ export type BlueprintCategory = 'flowchart' | 'architecture' | 'state' | 'sequence' | 'erd' | 'mockup' | 'adr' | 'component' | 'deployment' | 'api';
5
+ export type BlueprintStatus = 'draft' | 'review' | 'approved' | 'deprecated';
6
+ export type BlueprintFormat = 'markdown' | 'mermaid' | 'ascii' | 'mixed';
7
+ export interface Blueprint {
8
+ id: string;
9
+ specificationId: string;
10
+ title: string;
11
+ description?: string;
12
+ slug?: string;
13
+ category?: BlueprintCategory;
14
+ tags?: string[];
15
+ content?: string;
16
+ contentS3Key?: string;
17
+ format?: BlueprintFormat;
18
+ order?: number;
19
+ status?: BlueprintStatus;
20
+ version?: string;
21
+ createdAt?: string;
22
+ updatedAt?: string;
23
+ }
24
+ export interface TicketBlueprintReference {
25
+ id: string;
26
+ ticketId: string;
27
+ blueprintId: string;
28
+ context?: string;
29
+ section?: string;
30
+ createdAt?: string;
31
+ blueprint?: Blueprint;
32
+ }
33
+ export interface BlueprintsListOptions {
34
+ spec?: string;
35
+ category?: BlueprintCategory;
36
+ status?: BlueprintStatus;
37
+ json?: boolean;
38
+ toon?: boolean;
39
+ }
40
+ export interface BlueprintGetOptions {
41
+ id: string;
42
+ json?: boolean;
43
+ toon?: boolean;
44
+ content?: boolean;
45
+ }
46
+ export interface ListBlueprintsResult {
47
+ items: Blueprint[];
48
+ pagination?: {
49
+ limit: number;
50
+ offset: number;
51
+ total?: number;
52
+ hasMore?: boolean;
53
+ };
54
+ }
55
+ //# sourceMappingURL=blueprints.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprints.types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/blueprints.types.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,cAAc,GACd,OAAO,GACP,UAAU,GACV,KAAK,GACL,QAAQ,GACR,KAAK,GACL,WAAW,GACX,YAAY,GACZ,KAAK,CAAC;AAEV,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAE7E,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH"}
@@ -0,0 +1,3 @@
1
+ // mcp/src/cli/commands/blueprints.types.ts
2
+ export {};
3
+ //# sourceMappingURL=blueprints.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprints.types.js","sourceRoot":"","sources":["../../../src/cli/commands/blueprints.types.ts"],"names":[],"mappings":"AAAA,2CAA2C"}
@@ -16,4 +16,5 @@ export { registerNextCommand } from './next.js';
16
16
  export { registerBlockedCommand } from './blocked.js';
17
17
  export { registerReviewCommand } from './review/index.js';
18
18
  export { registerFeedbackCommand } from './feedback.js';
19
+ export { registerBlueprintsCommand } from './blueprints.js';
19
20
  //# 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"}
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"}
@@ -16,4 +16,5 @@ export { registerNextCommand } from './next.js';
16
16
  export { registerBlockedCommand } from './blocked.js';
17
17
  export { registerReviewCommand } from './review/index.js';
18
18
  export { registerFeedbackCommand } from './feedback.js';
19
+ export { registerBlueprintsCommand } from './blueprints.js';
19
20
  //# 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"}
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"}
@@ -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;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"}
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;AA0BpC;;GAEG;AACH,QAAA,MAAM,WAAW,UAAU,CAAC;AA0K5B;;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, registerFeedbackCommand, } from './commands/index.js';
12
+ import { registerLoginCommand, registerInitCommand, registerConfigureCommand, registerDoctorCommand, registerStatusCommand, registerProjectsCommand, registerSpecsCommand, registerSwitchCommand, registerTicketsCommand, registerNextCommand, registerBlockedCommand, registerFeedbackCommand, registerBlueprintsCommand, } 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';
@@ -98,6 +98,8 @@ function registerCommands(program) {
98
98
  registerProjectsCommand(program);
99
99
  // E07 - Specs Command (implemented)
100
100
  registerSpecsCommand(program);
101
+ // Blueprints Command (implemented)
102
+ registerBlueprintsCommand(program);
101
103
  // E08 - Switch Command (implemented)
102
104
  registerSwitchCommand(program);
103
105
  // E09 - Tickets Command (implemented)
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAOnE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAS9C;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAoFrE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/D"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAOnE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA0E9C;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAuFrE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/D"}
package/dist/server.js CHANGED
@@ -10,10 +10,68 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextpro
10
10
  import { ApiClient } from './client/api-client.js';
11
11
  import { getTools, handleToolCall } from './tools/index.js';
12
12
  import { formatResponse, getFormatFromArgs } from './lib/format.js';
13
+ import { loadProjectConfig } from './cli/config/loader.js';
13
14
  /**
14
15
  * Package version - should match package.json
15
16
  */
16
17
  const VERSION = '1.0.0';
18
+ /**
19
+ * Auto-set working context from local project config
20
+ *
21
+ * If a .specforge.json file exists with autoSetContext: true,
22
+ * automatically sets the working context with the configured
23
+ * projectId and specificationId.
24
+ *
25
+ * @param apiClient - API client instance
26
+ * @param debug - Whether to log debug info
27
+ */
28
+ async function autoSetWorkingContext(apiClient, debug) {
29
+ try {
30
+ const projectConfig = loadProjectConfig();
31
+ if (!projectConfig) {
32
+ if (debug) {
33
+ console.error('[DEBUG] No .specforge.json found - skipping auto-set context');
34
+ }
35
+ return;
36
+ }
37
+ // Check if auto-set is enabled (default: true for backward compatibility)
38
+ const autoSetContext = projectConfig.autoSetContext !== false;
39
+ if (!autoSetContext) {
40
+ if (debug) {
41
+ console.error('[DEBUG] autoSetContext is disabled - skipping');
42
+ }
43
+ return;
44
+ }
45
+ // Need at least a projectId to set context
46
+ if (!projectConfig.projectId) {
47
+ if (debug) {
48
+ console.error('[DEBUG] No projectId in config - skipping auto-set context');
49
+ }
50
+ return;
51
+ }
52
+ if (debug) {
53
+ console.error('[DEBUG] Auto-setting working context:', {
54
+ projectId: projectConfig.projectId,
55
+ specificationId: projectConfig.specificationId,
56
+ });
57
+ }
58
+ // Set the working context
59
+ await apiClient.call('set_working_context', {
60
+ projectId: projectConfig.projectId,
61
+ specificationId: projectConfig.specificationId || null,
62
+ epicId: null,
63
+ ticketId: null,
64
+ });
65
+ console.error('[INFO] Working context set from .specforge.json:', {
66
+ projectId: projectConfig.projectId,
67
+ specificationId: projectConfig.specificationId || '(none)',
68
+ });
69
+ }
70
+ catch (error) {
71
+ // Don't fail server startup if context setting fails
72
+ console.error('[WARN] Failed to auto-set working context:', error instanceof Error ? error.message : error);
73
+ }
74
+ }
17
75
  /**
18
76
  * Create and configure the MCP server
19
77
  *
@@ -22,6 +80,8 @@ const VERSION = '1.0.0';
22
80
  */
23
81
  export async function createServer(config) {
24
82
  const apiClient = new ApiClient(config);
83
+ // Auto-set working context from local project config if enabled
84
+ await autoSetWorkingContext(apiClient, config.debug);
25
85
  const server = new Server({
26
86
  name: 'specforge-mcp',
27
87
  version: VERSION,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;GAEG;AACH,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB;;;;;;;;;GASG;AACH,KAAK,UAAU,qBAAqB,CAAC,SAAoB,EAAE,KAAc;IACvE,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;QAE1C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAChF,CAAC;YACD,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,KAAK,KAAK,CAAC;QAE9D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACjE,CAAC;YACD,OAAO;QACT,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACrD,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,eAAe,EAAE,aAAa,CAAC,eAAe;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC1C,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,eAAe,EAAE,aAAa,CAAC,eAAe,IAAI,IAAI;YACtD,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE;YAChE,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,eAAe,EAAE,aAAa,CAAC,eAAe,IAAI,QAAQ;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qDAAqD;QACrD,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAiB;IAClD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAExC,gEAAgE;IAChE,MAAM,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,qDAAqD;IACrD,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QAEzB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,wDAAwD;IACxD,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjD,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QAE3D,6CAA6C;QAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACzC,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAE/E,4CAA4C;YAC5C,0DAA0D;YAC1D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,IAAI,GAAG,OAAO,SAAS,KAAK,QAAQ;oBACxC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBAClC,CAAC;YACJ,CAAC;YAED,wDAAwD;YACxD,MAAM,IAAI,GACR,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAClC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEvE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,UAAU,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAED,iDAAiD;YACjD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACrE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc;IAC9C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,yBAAyB;IACzB,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import { ConsolidatedToolArgs, OperationHandler } from './types.js';
3
+ import { ApiClient } from '../../client/api-client.js';
4
+ export declare const blueprintTool: Tool;
5
+ export declare function createBlueprintOperations(apiClient: ApiClient): Record<string, OperationHandler>;
6
+ export declare function createBlueprintHandler(apiClient: ApiClient): (args: ConsolidatedToolArgs, userId: string) => Promise<unknown>;
7
+ //# sourceMappingURL=blueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprint.d.ts","sourceRoot":"","sources":["../../../src/tools/core/blueprint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,eAAO,MAAM,aAAa,EAAE,IAgH3B,CAAC;AAUF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAyFhG;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,oEAG1D"}