@specsafe/cli 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/commands/apply.d.ts +3 -0
  2. package/dist/commands/apply.d.ts.map +1 -0
  3. package/dist/commands/apply.js +182 -0
  4. package/dist/commands/apply.js.map +1 -0
  5. package/dist/commands/constitution.d.ts +3 -0
  6. package/dist/commands/constitution.d.ts.map +1 -0
  7. package/dist/commands/constitution.js +192 -0
  8. package/dist/commands/constitution.js.map +1 -0
  9. package/dist/commands/delta.d.ts +3 -0
  10. package/dist/commands/delta.d.ts.map +1 -0
  11. package/dist/commands/delta.js +82 -0
  12. package/dist/commands/delta.js.map +1 -0
  13. package/dist/commands/diff.d.ts +3 -0
  14. package/dist/commands/diff.d.ts.map +1 -0
  15. package/dist/commands/diff.js +102 -0
  16. package/dist/commands/diff.js.map +1 -0
  17. package/dist/commands/extend.d.ts +6 -0
  18. package/dist/commands/extend.d.ts.map +1 -0
  19. package/dist/commands/extend.js +167 -0
  20. package/dist/commands/extend.js.map +1 -0
  21. package/dist/commands/init-old.d.ts +3 -0
  22. package/dist/commands/init-old.d.ts.map +1 -0
  23. package/dist/commands/init-old.js +146 -0
  24. package/dist/commands/init-old.js.map +1 -0
  25. package/dist/commands/init.d.ts.map +1 -1
  26. package/dist/commands/init.js +195 -43
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/new.d.ts.map +1 -1
  29. package/dist/commands/new.js +26 -8
  30. package/dist/commands/new.js.map +1 -1
  31. package/dist/commands/qa.d.ts.map +1 -1
  32. package/dist/commands/qa.js +37 -1
  33. package/dist/commands/qa.js.map +1 -1
  34. package/dist/commands/rules.d.ts.map +1 -1
  35. package/dist/commands/rules.js +182 -97
  36. package/dist/commands/rules.js.map +1 -1
  37. package/dist/index.js +15 -0
  38. package/dist/index.js.map +1 -1
  39. package/package.json +3 -3
@@ -1,147 +1,232 @@
1
1
  import { Command } from 'commander';
2
2
  import chalk from 'chalk';
3
3
  import ora from 'ora';
4
- import { getAllTools, detectTool, loadInstalledTools, saveToolConfig, removeToolConfig, isValidTool, getTool, } from '../rules/index.js';
5
- import { downloadRules, updateRules, removeRules, getRulesVersion } from '../rules/downloader.js';
4
+ import { writeFile, readFile, mkdir } from 'fs/promises';
5
+ import { existsSync } from 'fs';
6
+ import { join, dirname } from 'path';
7
+ import { getSupportedAgents, getAgent, AGENT_DEFINITIONS, } from '@specsafe/core';
8
+ /**
9
+ * Load installed agents from config
10
+ */
11
+ async function loadInstalledAgents(cwd = process.cwd()) {
12
+ const configPath = join(cwd, 'specsafe.config.json');
13
+ try {
14
+ const content = await readFile(configPath, 'utf-8');
15
+ const config = JSON.parse(content);
16
+ return new Map(Object.entries(config.agents || {}));
17
+ }
18
+ catch {
19
+ return new Map();
20
+ }
21
+ }
22
+ /**
23
+ * Save agent configuration
24
+ */
25
+ async function saveAgentConfig(agentId, config, cwd = process.cwd()) {
26
+ const configPath = join(cwd, 'specsafe.config.json');
27
+ let existingConfig = {};
28
+ try {
29
+ const content = await readFile(configPath, 'utf-8');
30
+ existingConfig = JSON.parse(content);
31
+ }
32
+ catch {
33
+ // Config doesn't exist yet
34
+ }
35
+ existingConfig.agents = {
36
+ ...(existingConfig.agents || {}),
37
+ [agentId]: config,
38
+ };
39
+ await writeFile(configPath, JSON.stringify(existingConfig, null, 2));
40
+ }
41
+ /**
42
+ * Remove agent configuration
43
+ */
44
+ async function removeAgentConfig(agentId, cwd = process.cwd()) {
45
+ const configPath = join(cwd, 'specsafe.config.json');
46
+ // Read phase - handle ENOENT gracefully
47
+ let config;
48
+ try {
49
+ const content = await readFile(configPath, 'utf-8');
50
+ config = JSON.parse(content);
51
+ }
52
+ catch (err) {
53
+ // Config doesn't exist or is malformed
54
+ if (err.code === 'ENOENT') {
55
+ return;
56
+ }
57
+ throw err;
58
+ }
59
+ // Write phase - let errors bubble up
60
+ if (config.agents && config.agents[agentId]) {
61
+ delete config.agents[agentId];
62
+ await writeFile(configPath, JSON.stringify(config, null, 2));
63
+ }
64
+ }
6
65
  /**
7
66
  * Rules command - manage AI coding assistant integrations
8
67
  */
9
68
  export const rulesCommand = new Command('rules')
10
69
  .description('Manage AI coding assistant rules and integrations')
11
70
  .addCommand(new Command('list')
12
- .description('List available and installed rules')
71
+ .description('List available and installed agents')
13
72
  .action(async () => {
14
- const spinner = ora('Loading rules...').start();
73
+ const spinner = ora('Loading agents...').start();
15
74
  try {
16
- const allTools = getAllTools();
17
- const installedTools = await loadInstalledTools();
18
- const installedMap = new Map(installedTools.map((t) => [t.name, t]));
75
+ const installedAgents = await loadInstalledAgents();
19
76
  spinner.stop();
20
- console.log(chalk.bold('\n📋 Available Rules:\n'));
21
- for (const tool of allTools) {
22
- const isInstalled = installedMap.has(tool.name);
23
- const isDetected = await detectTool(tool.name);
77
+ console.log(chalk.bold('\n📋 Available Agents:\n'));
78
+ for (const agentDef of AGENT_DEFINITIONS) {
79
+ const agentEntry = getAgent(agentDef.id);
80
+ const isInstalled = installedAgents.has(agentDef.id);
81
+ const isDetected = agentEntry ? await agentEntry.adapter.detect(process.cwd()) : false;
24
82
  const status = isInstalled
25
83
  ? chalk.green('[installed]')
26
84
  : isDetected
27
85
  ? chalk.yellow('[detected]')
28
86
  : chalk.gray('[available]');
29
- console.log(` ${status} ${chalk.cyan(tool.name.padEnd(12))} ${tool.description}`);
30
- if (isInstalled) {
31
- const installed = installedMap.get(tool.name);
32
- console.log(` ${chalk.gray(`v${installed.version}`)}`);
33
- }
34
- if (isDetected && !isInstalled) {
35
- console.log(` ${chalk.gray(`Config files found: ${tool.files.join(', ')}`)}`);
87
+ console.log(` ${status} ${chalk.cyan(agentDef.id.padEnd(15))} ${agentDef.name}`);
88
+ if (isDetected && !isInstalled && agentDef.detectionFiles.length > 0) {
89
+ console.log(` ${chalk.gray(`Detected: ${agentDef.detectionFiles[0]}`)}`);
36
90
  }
37
91
  }
38
- console.log(chalk.gray(`\n${allTools.length} tools available`));
39
- console.log(chalk.gray(`\nUse 'specsafe rules add <tool>' to install rules`));
92
+ console.log(chalk.gray(`\n${AGENT_DEFINITIONS.length} agents available`));
93
+ console.log(chalk.gray(`\nUse 'specsafe rules add <agent>' to install agent configs`));
40
94
  }
41
95
  catch (error) {
42
- spinner.fail(chalk.red(`Failed to list rules: ${error.message}`));
96
+ spinner.fail(chalk.red(`Failed to list agents: ${error.message}`));
43
97
  process.exit(1);
44
98
  }
45
99
  }))
46
100
  .addCommand(new Command('add')
47
- .description('Download and install rules for a tool')
48
- .argument('<tool>', 'Tool name (cursor, continue, aider, zed, git-hooks)')
49
- .action(async (toolName) => {
50
- if (!isValidTool(toolName)) {
51
- console.error(chalk.red(`Error: Unknown tool "${toolName}"`));
52
- console.log(chalk.gray(`\nAvailable tools: ${getAllTools().map((t) => t.name).join(', ')}`));
101
+ .description('Install configuration for an agent')
102
+ .argument('<agent>', 'Agent ID (claude-code, cursor, copilot, etc.)')
103
+ .option('--force', 'Overwrite existing files')
104
+ .action(async (agentId, options) => {
105
+ const supportedAgents = getSupportedAgents();
106
+ if (!supportedAgents.includes(agentId)) {
107
+ console.error(chalk.red(`Error: Unknown agent "${agentId}"`));
108
+ console.log(chalk.gray(`\nAvailable agents: ${supportedAgents.join(', ')}`));
53
109
  process.exit(1);
54
110
  }
55
- const tool = getTool(toolName);
56
- const spinner = ora(`Installing ${toolName} rules...`).start();
111
+ const agentEntry = getAgent(agentId);
112
+ if (!agentEntry) {
113
+ console.error(chalk.red(`Error: Agent "${agentId}" has no adapter registered.`));
114
+ console.log(chalk.gray('This agent is defined but not yet implemented.'));
115
+ process.exit(1);
116
+ }
117
+ const spinner = ora(`Installing ${agentEntry.name} configuration...`).start();
57
118
  try {
58
- const result = await downloadRules(toolName);
59
- if (result.success) {
60
- // Save to config
61
- const version = await getRulesVersion(toolName);
62
- await saveToolConfig(toolName, { enabled: true, version });
63
- spinner.succeed(chalk.green(result.message));
64
- console.log(chalk.gray(`\nCreated files:`));
65
- for (const file of tool.files) {
66
- console.log(chalk.gray(` • ${file}`));
119
+ const projectDir = process.cwd();
120
+ // Generate config files
121
+ const configFiles = await agentEntry.adapter.generateConfig(projectDir, {
122
+ force: options.force,
123
+ });
124
+ // Generate command files
125
+ const commandFiles = await agentEntry.adapter.generateCommands(projectDir, {
126
+ force: options.force,
127
+ });
128
+ const allFiles = [...configFiles, ...commandFiles];
129
+ let created = 0;
130
+ let skipped = 0;
131
+ // Write files
132
+ for (const file of allFiles) {
133
+ const filePath = join(projectDir, file.path);
134
+ const fileDir = dirname(filePath);
135
+ // Create directory (mkdir recursive is idempotent)
136
+ await mkdir(fileDir, { recursive: true });
137
+ // Check if file exists
138
+ if (existsSync(filePath) && !options.force) {
139
+ skipped++;
140
+ continue;
67
141
  }
142
+ // Write file
143
+ await writeFile(filePath, file.content);
144
+ created++;
68
145
  }
69
- else {
70
- spinner.fail(chalk.red(result.message));
71
- process.exit(1);
72
- }
146
+ // Save to config
147
+ await saveAgentConfig(agentId, { enabled: true });
148
+ spinner.succeed(chalk.green(`Installed ${agentEntry.name} configuration`));
149
+ console.log(chalk.gray(`\nFiles: ${created} created, ${skipped} skipped`));
150
+ // Show instructions
151
+ console.log('\n' + chalk.blue('Usage Instructions:'));
152
+ console.log(agentEntry.adapter.getInstructions());
73
153
  }
74
154
  catch (error) {
75
- spinner.fail(chalk.red(`Failed to install ${toolName} rules: ${error.message}`));
155
+ spinner.fail(chalk.red(`Failed to install ${agentId}: ${error.message}`));
76
156
  process.exit(1);
77
157
  }
78
158
  }))
79
159
  .addCommand(new Command('remove')
80
- .description('Remove rules for a tool')
81
- .argument('<tool>', 'Tool name to remove')
82
- .action(async (toolName) => {
83
- if (!isValidTool(toolName)) {
84
- console.error(chalk.red(`Error: Unknown tool "${toolName}"`));
160
+ .description('Remove configuration for an agent')
161
+ .argument('<agent>', 'Agent ID to remove')
162
+ .action(async (agentId) => {
163
+ const supportedAgents = getSupportedAgents();
164
+ if (!supportedAgents.includes(agentId)) {
165
+ console.error(chalk.red(`Error: Unknown agent "${agentId}"`));
85
166
  process.exit(1);
86
167
  }
87
- const spinner = ora(`Removing ${toolName} rules...`).start();
168
+ // Check if agent is actually installed
169
+ const installedAgents = await loadInstalledAgents();
170
+ if (!installedAgents.has(agentId)) {
171
+ console.warn(chalk.yellow(`Warning: Agent "${agentId}" is not configured in this project.`));
172
+ console.log(chalk.gray('Nothing to remove.'));
173
+ process.exit(0);
174
+ }
175
+ const spinner = ora(`Removing ${agentId} configuration...`).start();
88
176
  try {
89
- const result = await removeRules(toolName);
90
- if (result.success) {
91
- // Remove from config
92
- await removeToolConfig(toolName);
93
- spinner.succeed(chalk.green(result.message));
94
- }
95
- else {
96
- spinner.fail(chalk.red(result.message));
97
- process.exit(1);
98
- }
177
+ // Remove from config
178
+ await removeAgentConfig(agentId);
179
+ spinner.succeed(chalk.green(`Removed ${agentId} from configuration`));
180
+ console.log(chalk.gray('\nNote: Config files were not deleted. Remove them manually if needed.'));
99
181
  }
100
182
  catch (error) {
101
- spinner.fail(chalk.red(`Failed to remove ${toolName} rules: ${error.message}`));
183
+ spinner.fail(chalk.red(`Failed to remove ${agentId}: ${error.message}`));
102
184
  process.exit(1);
103
185
  }
104
186
  }))
105
- .addCommand(new Command('update')
106
- .description('Update all installed rules to the latest version')
107
- .action(async () => {
108
- const spinner = ora('Checking installed rules...').start();
109
- try {
110
- const installedTools = await loadInstalledTools();
111
- if (installedTools.length === 0) {
112
- spinner.stop();
113
- console.log(chalk.yellow('No rules installed. Run "specsafe rules add <tool>" first.'));
114
- return;
115
- }
116
- spinner.text = `Updating ${installedTools.length} rule set(s)...`;
117
- const results = await Promise.all(installedTools.map(async (tool) => {
118
- const result = await updateRules(tool.name);
119
- return { ...result, toolName: tool.name };
120
- }));
121
- spinner.stop();
122
- let successCount = 0;
123
- let failCount = 0;
124
- for (const result of results) {
125
- if (result.success) {
126
- console.log(chalk.green(`✓ ${result.message}`));
127
- const version = await getRulesVersion(result.toolName);
128
- await saveToolConfig(result.toolName, { enabled: true, version });
129
- successCount++;
130
- }
131
- else {
132
- console.log(chalk.red(`✗ ${result.message}`));
133
- failCount++;
134
- }
135
- }
136
- console.log(chalk.gray(`\nUpdated ${successCount} tool(s)`));
137
- if (failCount > 0) {
138
- console.log(chalk.red(`${failCount} update(s) failed`));
187
+ .addCommand(new Command('info')
188
+ .description('Show information about an agent')
189
+ .argument('<agent>', 'Agent ID')
190
+ .action(async (agentId) => {
191
+ const agentEntry = getAgent(agentId);
192
+ if (!agentEntry) {
193
+ // Fallback to agent definition if no adapter available
194
+ const agentDef = AGENT_DEFINITIONS.find(def => def.id === agentId);
195
+ if (!agentDef) {
196
+ console.error(chalk.red(`Error: Unknown agent "${agentId}"`));
197
+ const supported = getSupportedAgents();
198
+ console.log(chalk.gray(`\nAvailable agents: ${supported.join(', ')}`));
139
199
  process.exit(1);
140
200
  }
201
+ // Show metadata but note no adapter available
202
+ console.log(chalk.bold(`\n${agentDef.name}\n`));
203
+ console.log(chalk.gray(`ID: ${agentDef.id}`));
204
+ console.log(chalk.gray(`Config Directory: ${agentDef.configDir || 'N/A'}`));
205
+ console.log(chalk.gray(`Command Directory: ${agentDef.commandDir || 'N/A'}`));
206
+ console.log(chalk.gray(`File Extension: ${agentDef.fileExtension}`));
207
+ console.log(chalk.gray(`Command Format: ${agentDef.commandFormat}`));
208
+ console.log('\n' + chalk.blue('Detection Files:'));
209
+ for (const file of agentDef.detectionFiles) {
210
+ const exists = existsSync(join(process.cwd(), file));
211
+ const status = exists ? chalk.green('✓') : chalk.gray('✗');
212
+ console.log(` ${status} ${file}`);
213
+ }
214
+ console.log('\n' + chalk.yellow('⚠ No adapter available for this agent'));
215
+ return;
141
216
  }
142
- catch (error) {
143
- spinner.fail(chalk.red(`Failed to update rules: ${error.message}`));
144
- process.exit(1);
217
+ console.log(chalk.bold(`\n${agentEntry.name}\n`));
218
+ console.log(chalk.gray(`ID: ${agentEntry.id}`));
219
+ console.log(chalk.gray(`Config Directory: ${agentEntry.configDir || 'N/A'}`));
220
+ console.log(chalk.gray(`Command Directory: ${agentEntry.commandDir || 'N/A'}`));
221
+ console.log(chalk.gray(`File Extension: ${agentEntry.fileExtension}`));
222
+ console.log(chalk.gray(`Command Format: ${agentEntry.commandFormat}`));
223
+ console.log('\n' + chalk.blue('Detection Files:'));
224
+ for (const file of agentEntry.detectionFiles) {
225
+ const exists = existsSync(join(process.cwd(), file));
226
+ const status = exists ? chalk.green('✓') : chalk.gray('✗');
227
+ console.log(` ${status} ${file}`);
145
228
  }
229
+ console.log('\n' + chalk.blue('Instructions:'));
230
+ console.log(agentEntry.adapter.getInstructions());
146
231
  }));
147
232
  //# sourceMappingURL=rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/commands/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/commands/rules.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,6 +21,10 @@ import { doctorCommand } from './commands/doctor.js';
21
21
  import { rulesCommand } from './commands/rules.js';
22
22
  import { verifyCommand } from './commands/verify.js';
23
23
  import { exploreCommand } from './commands/explore.js';
24
+ import { deltaCommand } from './commands/delta.js';
25
+ import { applyCommand } from './commands/apply.js';
26
+ import { diffCommand } from './commands/diff.js';
27
+ import { extendCommand } from './commands/extend.js';
24
28
  import { createRequire } from 'module';
25
29
  const require = createRequire(import.meta.url);
26
30
  const packageJson = require('../package.json');
@@ -46,6 +50,12 @@ program.addCommand(completeCommand); // DEPRECATED: Use 'done' instead
46
50
  program.addCommand(archiveCommand);
47
51
  program.addCommand(doctorCommand);
48
52
  program.addCommand(rulesCommand);
53
+ // Delta spec commands (brownfield)
54
+ program.addCommand(deltaCommand); // Create delta spec
55
+ program.addCommand(applyCommand); // Apply delta specs
56
+ program.addCommand(diffCommand); // Preview delta changes
57
+ // Extension system
58
+ program.addCommand(extendCommand); // Manage extensions
49
59
  // Workflow command group
50
60
  program
51
61
  .command('workflow')
@@ -70,6 +80,11 @@ program
70
80
  console.log(chalk.gray(' ↓'));
71
81
  console.log(chalk.cyan(' specsafe done <id> → Complete & archive'));
72
82
  console.log();
83
+ console.log(chalk.white('Brownfield Changes (Delta Specs):'));
84
+ console.log(chalk.cyan(' specsafe delta <id> → Create delta spec for changes'));
85
+ console.log(chalk.cyan(' specsafe diff <id> → Preview delta changes'));
86
+ console.log(chalk.cyan(' specsafe apply <id> → Apply delta to base spec'));
87
+ console.log();
73
88
  console.log(chalk.white('Utility Commands:'));
74
89
  console.log(chalk.gray(' specsafe status → View project status'));
75
90
  console.log(chalk.gray(' specsafe list → List all specs'));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@specsafe/cli",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "CLI for SpecSafe TDD framework",
5
5
  "type": "module",
6
6
  "engines": {
@@ -24,8 +24,8 @@
24
24
  "commander": "^11.0.0",
25
25
  "chalk": "^5.3.0",
26
26
  "ora": "^7.0.0",
27
- "@specsafe/core": "0.4.0",
28
- "@specsafe/test-gen": "0.4.0"
27
+ "@specsafe/core": "0.6.0",
28
+ "@specsafe/test-gen": "0.6.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^20.0.0",