@specforge/mcp 3.0.5 → 3.0.7
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/check-circular.d.ts +24 -0
- package/dist/cli/commands/check-circular.d.ts.map +1 -0
- package/dist/cli/commands/check-circular.js +131 -0
- package/dist/cli/commands/check-circular.js.map +1 -0
- package/dist/cli/commands/critical-path.d.ts +23 -0
- package/dist/cli/commands/critical-path.d.ts.map +1 -0
- package/dist/cli/commands/critical-path.js +151 -0
- package/dist/cli/commands/critical-path.js.map +1 -0
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +3 -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 +85 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/init.types.d.ts +2 -0
- package/dist/cli/commands/init.types.d.ts.map +1 -1
- package/dist/cli/commands/init.types.js.map +1 -1
- package/dist/cli/commands/tree.d.ts +25 -0
- package/dist/cli/commands/tree.d.ts.map +1 -0
- package/dist/cli/commands/tree.js +132 -0
- package/dist/cli/commands/tree.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +7 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/tools/core/blueprint.d.ts.map +1 -1
- package/dist/tools/core/blueprint.js +6 -0
- package/dist/tools/core/blueprint.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +137 -0
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check Circular Dependencies Command
|
|
3
|
+
*
|
|
4
|
+
* Checks for circular dependencies between tickets in a specification or project.
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Command options
|
|
9
|
+
*/
|
|
10
|
+
interface CheckCircularOptions {
|
|
11
|
+
specificationId?: string;
|
|
12
|
+
projectId?: string;
|
|
13
|
+
json?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Check circular dependencies action handler
|
|
17
|
+
*/
|
|
18
|
+
export declare function checkCircularAction(options: CheckCircularOptions): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Register check-circular command with Commander
|
|
21
|
+
*/
|
|
22
|
+
export declare function registerCheckCircularCommand(program: Command): void;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=check-circular.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-circular.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check-circular.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;GAEG;AACH,UAAU,oBAAoB;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwEtF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2BnE"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check Circular Dependencies Command
|
|
3
|
+
*
|
|
4
|
+
* Checks for circular dependencies between tickets in a specification or project.
|
|
5
|
+
*/
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
import { resolveConfig } from '../config/index.js';
|
|
8
|
+
import { withErrorHandler, CliError, NetworkError } from '../middleware/error-handler.js';
|
|
9
|
+
import { printBlank, printHeader } from '../ui/output.js';
|
|
10
|
+
import { colors } from '../ui/colors.js';
|
|
11
|
+
import { ApiClient } from '../../client/api-client.js';
|
|
12
|
+
/**
|
|
13
|
+
* Format ticket number for display
|
|
14
|
+
*/
|
|
15
|
+
function formatTicketId(ticketNumber) {
|
|
16
|
+
return colors.primary(`T-${ticketNumber}`);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Display results in human-readable format
|
|
20
|
+
*/
|
|
21
|
+
function displayResults(result) {
|
|
22
|
+
printBlank();
|
|
23
|
+
printHeader('Circular Dependency Check');
|
|
24
|
+
printBlank();
|
|
25
|
+
if (!result.hasCircles) {
|
|
26
|
+
console.log(colors.success('No circular dependencies found'));
|
|
27
|
+
printBlank();
|
|
28
|
+
console.log(colors.muted(result.summary));
|
|
29
|
+
printBlank();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.log(colors.error(`Found ${result.cycles.length} circular dependenc${result.cycles.length === 1 ? 'y' : 'ies'}:`));
|
|
33
|
+
printBlank();
|
|
34
|
+
for (const cycleInfo of result.cycles) {
|
|
35
|
+
console.log(colors.warning(`Specification: ${cycleInfo.specificationTitle}`));
|
|
36
|
+
// Format cycle as: T-1 -> T-2 -> T-3 -> T-1
|
|
37
|
+
const cycleStr = cycleInfo.cycle
|
|
38
|
+
.map(t => `T-${t.ticketNumber}`)
|
|
39
|
+
.join(' -> ');
|
|
40
|
+
console.log(` Cycle: ${colors.muted(cycleStr)}`);
|
|
41
|
+
// Show ticket details
|
|
42
|
+
console.log(colors.muted(' Tickets involved:'));
|
|
43
|
+
// Skip the last element since it's a duplicate of the first (to show the cycle closing)
|
|
44
|
+
const uniqueTickets = cycleInfo.cycle.slice(0, -1);
|
|
45
|
+
for (const ticket of uniqueTickets) {
|
|
46
|
+
console.log(` ${formatTicketId(ticket.ticketNumber)}: ${ticket.title}`);
|
|
47
|
+
}
|
|
48
|
+
printBlank();
|
|
49
|
+
}
|
|
50
|
+
console.log(colors.muted(result.summary));
|
|
51
|
+
printBlank();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Check circular dependencies action handler
|
|
55
|
+
*/
|
|
56
|
+
export async function checkCircularAction(options) {
|
|
57
|
+
const config = resolveConfig();
|
|
58
|
+
if (!config.apiKey) {
|
|
59
|
+
throw new CliError('Not authenticated', 1, 'Run `specforge login` to authenticate first');
|
|
60
|
+
}
|
|
61
|
+
// Determine what to check
|
|
62
|
+
const specificationId = options.specificationId || config.specificationId;
|
|
63
|
+
const projectId = options.projectId || config.projectId;
|
|
64
|
+
if (!specificationId && !projectId) {
|
|
65
|
+
throw new CliError('No specification or project specified', 1, "Run 'specforge init' to set a specification, or use --specification-id or --project-id");
|
|
66
|
+
}
|
|
67
|
+
const spinner = ora({
|
|
68
|
+
text: 'Checking for circular dependencies...',
|
|
69
|
+
color: 'cyan',
|
|
70
|
+
}).start();
|
|
71
|
+
try {
|
|
72
|
+
const client = new ApiClient({
|
|
73
|
+
apiKey: config.apiKey,
|
|
74
|
+
apiUrl: config.apiUrl,
|
|
75
|
+
debug: config.debug,
|
|
76
|
+
});
|
|
77
|
+
const result = await client.call('check_circular_dependencies', {
|
|
78
|
+
specificationId: options.specificationId || (options.projectId ? undefined : config.specificationId),
|
|
79
|
+
projectId: options.projectId,
|
|
80
|
+
});
|
|
81
|
+
spinner.stop();
|
|
82
|
+
if (options.json) {
|
|
83
|
+
console.log(JSON.stringify(result, null, 2));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
displayResults(result);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
spinner.fail('Failed to check circular dependencies');
|
|
90
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
91
|
+
if (message.includes('404') || message.includes('not found')) {
|
|
92
|
+
throw new CliError('Specification or project not found', 1, 'The configured specification or project may have been deleted. Run `specforge init` to select a new one.');
|
|
93
|
+
}
|
|
94
|
+
if (message.includes('401') || message.includes('Unauthorized')) {
|
|
95
|
+
throw new CliError('Authentication failed', 1, 'Your API key may be invalid. Run `specforge login` to re-authenticate');
|
|
96
|
+
}
|
|
97
|
+
throw new NetworkError(`Failed to check circular dependencies: ${message}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Register check-circular command with Commander
|
|
102
|
+
*/
|
|
103
|
+
export function registerCheckCircularCommand(program) {
|
|
104
|
+
program
|
|
105
|
+
.command('check-circular')
|
|
106
|
+
.description('Check for circular dependencies between tickets')
|
|
107
|
+
.option('-s, --specification-id <id>', 'Specification ID to check')
|
|
108
|
+
.option('-p, --project-id <id>', 'Project ID to check all specifications')
|
|
109
|
+
.option('--json', 'Output as JSON')
|
|
110
|
+
.addHelpText('after', `
|
|
111
|
+
Examples:
|
|
112
|
+
$ specforge check-circular # Check current specification
|
|
113
|
+
$ specforge check-circular -s spec-123 # Check specific specification
|
|
114
|
+
$ specforge check-circular -p proj-123 # Check all specs in project
|
|
115
|
+
$ specforge check-circular --json # Output as JSON
|
|
116
|
+
|
|
117
|
+
The check-circular command analyzes ticket dependencies to find any circular
|
|
118
|
+
dependency chains where tickets depend on each other in a loop.
|
|
119
|
+
|
|
120
|
+
For example, if Ticket A depends on B, B depends on C, and C depends on A,
|
|
121
|
+
this creates a circular dependency that makes it impossible to determine
|
|
122
|
+
which ticket to work on first.
|
|
123
|
+
|
|
124
|
+
When circles are found, the command shows:
|
|
125
|
+
- The specification containing the cycle
|
|
126
|
+
- The tickets involved in the cycle
|
|
127
|
+
- The cycle path (e.g., T-1 -> T-2 -> T-3 -> T-1)
|
|
128
|
+
`)
|
|
129
|
+
.action(withErrorHandler(checkCircularAction));
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=check-circular.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-circular.js","sourceRoot":"","sources":["../../../src/cli/commands/check-circular.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Critical Path Command
|
|
3
|
+
*
|
|
4
|
+
* Display the critical path (longest dependency chain) for a specification.
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Command options
|
|
9
|
+
*/
|
|
10
|
+
interface CriticalPathOptions {
|
|
11
|
+
specificationId?: string;
|
|
12
|
+
json?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Critical path command action handler
|
|
16
|
+
*/
|
|
17
|
+
export declare function criticalPathAction(options: CriticalPathOptions): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Register critical-path command with Commander
|
|
20
|
+
*/
|
|
21
|
+
export declare function registerCriticalPathCommand(program: Command): void;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=critical-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"critical-path.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/critical-path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;GAEG;AACH,UAAU,mBAAmB;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAmGD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsEpF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuBlE"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Critical Path Command
|
|
3
|
+
*
|
|
4
|
+
* Display the critical path (longest dependency chain) for a specification.
|
|
5
|
+
*/
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
import { resolveConfig } from '../config/index.js';
|
|
8
|
+
import { withErrorHandler, CliError, NetworkError } from '../middleware/error-handler.js';
|
|
9
|
+
import { printBlank, printHeader } from '../ui/output.js';
|
|
10
|
+
import { colors } from '../ui/colors.js';
|
|
11
|
+
import { ApiClient } from '../../client/api-client.js';
|
|
12
|
+
/**
|
|
13
|
+
* Format ticket ID for display
|
|
14
|
+
*/
|
|
15
|
+
function formatTicketId(ticketNumber) {
|
|
16
|
+
return colors.primary(`T-${ticketNumber}`);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get status color
|
|
20
|
+
*/
|
|
21
|
+
function getStatusColor(status) {
|
|
22
|
+
switch (status) {
|
|
23
|
+
case 'done':
|
|
24
|
+
return colors.muted;
|
|
25
|
+
case 'active':
|
|
26
|
+
return colors.primary;
|
|
27
|
+
case 'ready':
|
|
28
|
+
return colors.success;
|
|
29
|
+
case 'pending':
|
|
30
|
+
return colors.warning;
|
|
31
|
+
default:
|
|
32
|
+
return (s) => s;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Display critical path in human-readable format
|
|
37
|
+
*/
|
|
38
|
+
function displayCriticalPath(response) {
|
|
39
|
+
printBlank();
|
|
40
|
+
printHeader('Critical Path');
|
|
41
|
+
printBlank();
|
|
42
|
+
if (response.path.length === 0) {
|
|
43
|
+
console.log(colors.muted('No incomplete tickets found.'));
|
|
44
|
+
console.log(colors.muted('All tickets may be completed or there are no dependencies.'));
|
|
45
|
+
printBlank();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
console.log(`${colors.bold('Length:')} ${response.path.length} tickets`);
|
|
49
|
+
console.log(`${colors.bold('Estimated:')} ${response.totalEstimatedHours}h total`);
|
|
50
|
+
printBlank();
|
|
51
|
+
// Display path as a chain
|
|
52
|
+
console.log(colors.muted('Dependency chain (must be completed in order):'));
|
|
53
|
+
printBlank();
|
|
54
|
+
for (let i = 0; i < response.path.length; i++) {
|
|
55
|
+
const ticket = response.path[i];
|
|
56
|
+
const statusColor = getStatusColor(ticket.status);
|
|
57
|
+
const prefix = i === 0 ? ' ' : ' │\n └──▶ ';
|
|
58
|
+
const isFirst = i === 0;
|
|
59
|
+
if (isFirst) {
|
|
60
|
+
console.log(` ┌── ${formatTicketId(ticket.ticketNumber)}: ${ticket.title}`);
|
|
61
|
+
console.log(` │ Status: ${statusColor(ticket.status)}`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
console.log(` │`);
|
|
65
|
+
console.log(` └──▶ ${formatTicketId(ticket.ticketNumber)}: ${ticket.title}`);
|
|
66
|
+
if (i < response.path.length - 1) {
|
|
67
|
+
console.log(` ┌── Status: ${statusColor(ticket.status)}`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
console.log(` Status: ${statusColor(ticket.status)}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
printBlank();
|
|
75
|
+
console.log(colors.muted('The critical path shows the longest chain of dependent tickets.'));
|
|
76
|
+
console.log(colors.muted('Completing these first will make the most progress.'));
|
|
77
|
+
printBlank();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Critical path command action handler
|
|
81
|
+
*/
|
|
82
|
+
export async function criticalPathAction(options) {
|
|
83
|
+
const config = resolveConfig();
|
|
84
|
+
if (!config.apiKey) {
|
|
85
|
+
throw new CliError('Not authenticated', 1, 'Run `specforge login` to authenticate first');
|
|
86
|
+
}
|
|
87
|
+
// Determine specification to use
|
|
88
|
+
const specificationId = options.specificationId || config.specificationId;
|
|
89
|
+
if (!specificationId) {
|
|
90
|
+
throw new CliError('No specification configured', 1, "Run 'specforge init' to set a specification, or use -s/--specification-id");
|
|
91
|
+
}
|
|
92
|
+
const spinner = ora({
|
|
93
|
+
text: 'Calculating critical path...',
|
|
94
|
+
color: 'cyan',
|
|
95
|
+
}).start();
|
|
96
|
+
try {
|
|
97
|
+
const client = new ApiClient({
|
|
98
|
+
apiKey: config.apiKey,
|
|
99
|
+
apiUrl: config.apiUrl,
|
|
100
|
+
debug: config.debug,
|
|
101
|
+
});
|
|
102
|
+
const result = await client.call('get_critical_path', {
|
|
103
|
+
specificationId,
|
|
104
|
+
});
|
|
105
|
+
spinner.stop();
|
|
106
|
+
if (options.json) {
|
|
107
|
+
console.log(JSON.stringify(result, null, 2));
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
displayCriticalPath(result);
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
spinner.fail('Failed to calculate critical path');
|
|
114
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
115
|
+
if (message.includes('404') || message.includes('not found')) {
|
|
116
|
+
throw new CliError('Specification not found', 1, 'The configured specification may have been deleted. Run `specforge init` to select a new one.');
|
|
117
|
+
}
|
|
118
|
+
if (message.includes('401') || message.includes('Unauthorized')) {
|
|
119
|
+
throw new CliError('Authentication failed', 1, 'Your API key may be invalid. Run `specforge login` to re-authenticate');
|
|
120
|
+
}
|
|
121
|
+
throw new NetworkError(`Failed to calculate critical path: ${message}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Register critical-path command with Commander
|
|
126
|
+
*/
|
|
127
|
+
export function registerCriticalPathCommand(program) {
|
|
128
|
+
program
|
|
129
|
+
.command('critical-path')
|
|
130
|
+
.description('Show the critical path (longest dependency chain)')
|
|
131
|
+
.option('-s, --specification-id <id>', 'Specification ID')
|
|
132
|
+
.option('--json', 'Output as JSON')
|
|
133
|
+
.addHelpText('after', `
|
|
134
|
+
Examples:
|
|
135
|
+
$ specforge critical-path # Show critical path for current spec
|
|
136
|
+
$ specforge critical-path --json # Output as JSON
|
|
137
|
+
$ specforge critical-path -s spec-123 # Show for specific specification
|
|
138
|
+
|
|
139
|
+
The critical path is the longest chain of dependent tickets that must be
|
|
140
|
+
completed sequentially. Understanding this path helps with:
|
|
141
|
+
|
|
142
|
+
- Identifying bottlenecks in your implementation plan
|
|
143
|
+
- Prioritizing which tickets to work on first
|
|
144
|
+
- Estimating minimum time to complete all work
|
|
145
|
+
|
|
146
|
+
If the dependency tree has been generated (via \`specforge tree\`), this
|
|
147
|
+
operation runs in O(1) time. Otherwise, it calculates the path on-the-fly.
|
|
148
|
+
`)
|
|
149
|
+
.action(withErrorHandler(criticalPathAction));
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=critical-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"critical-path.js","sourceRoot":"","sources":["../../../src/cli/commands/critical-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,4 +19,7 @@ export { registerFeedbackCommand } from './feedback.js';
|
|
|
19
19
|
export { registerBlueprintsCommand } from './blueprints.js';
|
|
20
20
|
export { registerMembersCommand } from './members.js';
|
|
21
21
|
export { registerInvitationsCommand } from './invitations.js';
|
|
22
|
+
export { registerCheckCircularCommand } from './check-circular.js';
|
|
23
|
+
export { registerTreeCommand } from './tree.js';
|
|
24
|
+
export { registerCriticalPathCommand } from './critical-path.js';
|
|
22
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -19,4 +19,7 @@ export { registerFeedbackCommand } from './feedback.js';
|
|
|
19
19
|
export { registerBlueprintsCommand } from './blueprints.js';
|
|
20
20
|
export { registerMembersCommand } from './members.js';
|
|
21
21
|
export { registerInvitationsCommand } from './invitations.js';
|
|
22
|
+
export { registerCheckCircularCommand } from './check-circular.js';
|
|
23
|
+
export { registerTreeCommand } from './tree.js';
|
|
24
|
+
export { registerCriticalPathCommand } from './critical-path.js';
|
|
22
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BpC,OAAO,EACL,WAAW,EAUZ,MAAM,iBAAiB,CAAC;AAiRzB;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkMpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwB1D"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import inquirer from 'inquirer';
|
|
8
8
|
import ora from 'ora';
|
|
9
9
|
import fs from 'node:fs';
|
|
10
|
-
import { resolveConfig, saveProjectConfig, saveMcpConfig, addToGitignore, getConfigPaths, } from '../config/index.js';
|
|
10
|
+
import { resolveConfig, loadGlobalConfig, loadProjectConfig, saveProjectConfig, saveMcpConfig, addToGitignore, getConfigPaths, } from '../config/index.js';
|
|
11
11
|
import { withErrorHandler, CliError, NetworkError, ValidationError } from '../middleware/error-handler.js';
|
|
12
12
|
import { printSuccess, printWarning, printBlank, printHeader, printField, printHint, } from '../ui/output.js';
|
|
13
13
|
import { colors } from '../ui/colors.js';
|
|
@@ -151,10 +151,92 @@ function validateSpecificationId(specId, specs) {
|
|
|
151
151
|
}
|
|
152
152
|
return spec;
|
|
153
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Display current configuration settings
|
|
156
|
+
*/
|
|
157
|
+
function showSettings() {
|
|
158
|
+
const config = resolveConfig();
|
|
159
|
+
const globalConfig = loadGlobalConfig();
|
|
160
|
+
const projectConfig = loadProjectConfig();
|
|
161
|
+
const paths = getConfigPaths();
|
|
162
|
+
printBlank();
|
|
163
|
+
printHeader('Current Configuration');
|
|
164
|
+
// Resolved values with sources
|
|
165
|
+
printBlank();
|
|
166
|
+
console.log(colors.bold('Resolved Settings'));
|
|
167
|
+
console.log(colors.muted('Values merged from all sources (env > project > global > default)'));
|
|
168
|
+
printBlank();
|
|
169
|
+
const apiKeyDisplay = config.apiKey
|
|
170
|
+
? `${config.apiKey.slice(0, 12)}...${config.apiKey.slice(-4)}`
|
|
171
|
+
: null;
|
|
172
|
+
const sourceLabel = (source) => source ? colors.muted(` (from ${source})`) : '';
|
|
173
|
+
printField('API Key', apiKeyDisplay
|
|
174
|
+
? `${apiKeyDisplay}${sourceLabel(config.sources.apiKey)}`
|
|
175
|
+
: undefined);
|
|
176
|
+
printField('Project ID', config.projectId
|
|
177
|
+
? `${config.projectId}${sourceLabel(config.sources.projectId)}`
|
|
178
|
+
: undefined);
|
|
179
|
+
printField('Specification ID', config.specificationId
|
|
180
|
+
? `${config.specificationId}${sourceLabel(config.sources.specificationId)}`
|
|
181
|
+
: undefined);
|
|
182
|
+
printField('Format', `${config.format}${sourceLabel(config.sources.format)}`);
|
|
183
|
+
printField('Auto-context', config.autoSetContext ? 'enabled' : 'disabled');
|
|
184
|
+
printField('Debug', config.debug ? 'enabled' : 'disabled');
|
|
185
|
+
printField('API URL', config.apiUrl);
|
|
186
|
+
// Config files
|
|
187
|
+
printBlank();
|
|
188
|
+
printHeader('Config Files');
|
|
189
|
+
printBlank();
|
|
190
|
+
const globalExists = fs.existsSync(paths.globalConfig);
|
|
191
|
+
const projectExists = fs.existsSync(paths.projectConfig);
|
|
192
|
+
const mcpExists = fs.existsSync(paths.mcpConfig);
|
|
193
|
+
printField('Global config', `${paths.globalConfig} ${globalExists ? colors.success('(exists)') : colors.muted('(not found)')}`);
|
|
194
|
+
printField('Project config', `${paths.projectConfig} ${projectExists ? colors.success('(exists)') : colors.muted('(not found)')}`);
|
|
195
|
+
printField('MCP config', `${paths.mcpConfig} ${mcpExists ? colors.success('(exists)') : colors.muted('(not found)')}`);
|
|
196
|
+
// Global config details
|
|
197
|
+
if (globalExists && Object.keys(globalConfig).length > 0) {
|
|
198
|
+
printBlank();
|
|
199
|
+
printHeader('Global Config (~/.specforge/config.json)');
|
|
200
|
+
printBlank();
|
|
201
|
+
if (globalConfig.apiKey) {
|
|
202
|
+
printField('apiKey', `${globalConfig.apiKey.slice(0, 12)}...${globalConfig.apiKey.slice(-4)}`);
|
|
203
|
+
}
|
|
204
|
+
if (globalConfig.format) {
|
|
205
|
+
printField('format', globalConfig.format);
|
|
206
|
+
}
|
|
207
|
+
if (globalConfig.defaultProjectId) {
|
|
208
|
+
printField('defaultProjectId', globalConfig.defaultProjectId);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Project config details
|
|
212
|
+
if (projectExists && projectConfig) {
|
|
213
|
+
printBlank();
|
|
214
|
+
printHeader('Project Config (.specforge.json)');
|
|
215
|
+
printBlank();
|
|
216
|
+
if (projectConfig.projectId) {
|
|
217
|
+
printField('projectId', projectConfig.projectId);
|
|
218
|
+
}
|
|
219
|
+
if (projectConfig.specificationId) {
|
|
220
|
+
printField('specificationId', projectConfig.specificationId);
|
|
221
|
+
}
|
|
222
|
+
if (projectConfig.format) {
|
|
223
|
+
printField('format', projectConfig.format);
|
|
224
|
+
}
|
|
225
|
+
if (projectConfig.autoSetContext !== undefined) {
|
|
226
|
+
printField('autoSetContext', String(projectConfig.autoSetContext));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
printBlank();
|
|
230
|
+
}
|
|
154
231
|
/**
|
|
155
232
|
* Init command implementation
|
|
156
233
|
*/
|
|
157
234
|
export async function initAction(options) {
|
|
235
|
+
// Show current settings and exit
|
|
236
|
+
if (options.show) {
|
|
237
|
+
showSettings();
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
158
240
|
// Check authentication
|
|
159
241
|
const config = resolveConfig();
|
|
160
242
|
if (!config.apiKey) {
|
|
@@ -313,9 +395,11 @@ export function registerInitCommand(program) {
|
|
|
313
395
|
.option('--spec <id>', 'Specification ID (non-interactive)')
|
|
314
396
|
.option('--format <format>', 'Output format: json or toon (default: toon)')
|
|
315
397
|
.option('-f, --force', 'Overwrite existing configuration files')
|
|
398
|
+
.option('-s, --show', 'Display current configuration settings')
|
|
316
399
|
.addHelpText('after', `
|
|
317
400
|
Examples:
|
|
318
401
|
$ specforge init # Interactive setup
|
|
402
|
+
$ specforge init --show # Display current settings
|
|
319
403
|
$ specforge init --project proj_abc123 # Set project non-interactively
|
|
320
404
|
$ specforge init --project proj_abc --spec spec_xyz --format toon
|
|
321
405
|
$ specforge init --force # Overwrite existing config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"init.types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.types.js","sourceRoot":"","sources":["../../../src/cli/commands/init.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"init.types.js","sourceRoot":"","sources":["../../../src/cli/commands/init.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6KH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C;QACE,IAAI,EAAE,uCAAuC;QAC7C,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,MAAM;KACd;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB,MAAM,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree Command
|
|
3
|
+
*
|
|
4
|
+
* Generate and display the dependency tree for a specification.
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Command options
|
|
9
|
+
*/
|
|
10
|
+
interface TreeOptions {
|
|
11
|
+
specificationId?: string;
|
|
12
|
+
projectId?: string;
|
|
13
|
+
force?: boolean;
|
|
14
|
+
json?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Tree command action handler
|
|
18
|
+
*/
|
|
19
|
+
export declare function treeAction(options: TreeOptions): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Register tree command with Commander
|
|
22
|
+
*/
|
|
23
|
+
export declare function registerTreeCommand(program: Command): void;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;GAEG;AACH,UAAU,WAAW;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsFD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyB1D"}
|