@defai.digital/ax-cli 4.0.0 → 4.0.1

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 (64) hide show
  1. package/README.md +13 -2
  2. package/config-defaults/prompts.yaml +5 -0
  3. package/dist/agent/execution/tool-executor.js +47 -1
  4. package/dist/agent/execution/tool-executor.js.map +1 -1
  5. package/dist/agent/llm-agent.js +4 -4
  6. package/dist/agent/llm-agent.js.map +1 -1
  7. package/dist/agent/parallel-tools.js +1 -0
  8. package/dist/agent/parallel-tools.js.map +1 -1
  9. package/dist/commands/cache.js +37 -34
  10. package/dist/commands/cache.js.map +1 -1
  11. package/dist/commands/doctor.js +111 -65
  12. package/dist/commands/doctor.js.map +1 -1
  13. package/dist/commands/init/wizard.js +10 -12
  14. package/dist/commands/init/wizard.js.map +1 -1
  15. package/dist/commands/init.js +7 -9
  16. package/dist/commands/init.js.map +1 -1
  17. package/dist/commands/mcp.js +106 -55
  18. package/dist/commands/mcp.js.map +1 -1
  19. package/dist/commands/setup.js +26 -55
  20. package/dist/commands/setup.js.map +1 -1
  21. package/dist/commands/usage.js +45 -51
  22. package/dist/commands/usage.js.map +1 -1
  23. package/dist/index.js +3 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/llm/tools.d.ts +2 -23
  26. package/dist/llm/tools.js +6 -590
  27. package/dist/llm/tools.js.map +1 -1
  28. package/dist/mcp/content-length-transport.d.ts +18 -0
  29. package/dist/mcp/content-length-transport.js +121 -3
  30. package/dist/mcp/content-length-transport.js.map +1 -1
  31. package/dist/mcp/error-remediation.js +54 -17
  32. package/dist/mcp/error-remediation.js.map +1 -1
  33. package/dist/tools/ax-agent.d.ts +32 -0
  34. package/dist/tools/ax-agent.js +105 -0
  35. package/dist/tools/ax-agent.js.map +1 -1
  36. package/dist/tools/definitions/ax-agent.d.ts +1 -0
  37. package/dist/tools/definitions/ax-agent.js +129 -2
  38. package/dist/tools/definitions/ax-agent.js.map +1 -1
  39. package/dist/tools/definitions/index.d.ts +12 -11
  40. package/dist/tools/definitions/index.js +5 -14
  41. package/dist/tools/definitions/index.js.map +1 -1
  42. package/dist/tools/index.d.ts +0 -1
  43. package/dist/tools/index.js +0 -1
  44. package/dist/tools/index.js.map +1 -1
  45. package/dist/tools/types.d.ts +0 -74
  46. package/dist/ui/utils/image-handler.js +3 -0
  47. package/dist/ui/utils/image-handler.js.map +1 -1
  48. package/dist/utils/enhanced-error-messages.js +43 -23
  49. package/dist/utils/enhanced-error-messages.js.map +1 -1
  50. package/dist/utils/init-validator.d.ts +4 -0
  51. package/dist/utils/init-validator.js +17 -13
  52. package/dist/utils/init-validator.js.map +1 -1
  53. package/dist/utils/llm-optimized-instruction-generator.js +97 -136
  54. package/dist/utils/llm-optimized-instruction-generator.js.map +1 -1
  55. package/dist/utils/project-analyzer.d.ts +6 -0
  56. package/dist/utils/project-analyzer.js +92 -189
  57. package/dist/utils/project-analyzer.js.map +1 -1
  58. package/dist/utils/template-manager.d.ts +8 -0
  59. package/dist/utils/template-manager.js +54 -110
  60. package/dist/utils/template-manager.js.map +1 -1
  61. package/package.json +1 -1
  62. package/dist/tools/result-enhancer.d.ts +0 -64
  63. package/dist/tools/result-enhancer.js +0 -215
  64. package/dist/tools/result-enhancer.js.map +0 -1
@@ -9,6 +9,14 @@ export class InitValidator {
9
9
  constructor(projectRoot) {
10
10
  this.projectRoot = projectRoot;
11
11
  }
12
+ /** Helper to resolve path relative to project root */
13
+ resolvePath(...segments) {
14
+ return path.join(this.projectRoot, ...segments);
15
+ }
16
+ /** Helper to check if path exists */
17
+ pathExists(...segments) {
18
+ return fs.existsSync(this.resolvePath(...segments));
19
+ }
12
20
  /**
13
21
  * Run all validation checks
14
22
  */
@@ -41,8 +49,8 @@ export class InitValidator {
41
49
  * Check for package.json
42
50
  */
43
51
  checkPackageJson(result) {
44
- const packageJsonPath = path.join(this.projectRoot, 'package.json');
45
- if (!fs.existsSync(packageJsonPath)) {
52
+ const packageJsonPath = this.resolvePath('package.json');
53
+ if (!this.pathExists('package.json')) {
46
54
  result.warnings.push('No package.json found - may not be a Node.js project');
47
55
  result.suggestions.push('Run: npm init (if this is a Node.js project)');
48
56
  }
@@ -86,8 +94,7 @@ export class InitValidator {
86
94
  * Check for git repository
87
95
  */
88
96
  checkGitRepo(result) {
89
- const gitDir = path.join(this.projectRoot, '.git');
90
- if (!fs.existsSync(gitDir)) {
97
+ if (!this.pathExists('.git')) {
91
98
  result.warnings.push('Not a git repository');
92
99
  result.suggestions.push('Run: git init (for version control)');
93
100
  }
@@ -96,13 +103,11 @@ export class InitValidator {
96
103
  * Check for existing AX CLI configuration
97
104
  */
98
105
  checkExistingConfig(result) {
99
- const axCliDir = path.join(this.projectRoot, '.ax-cli');
100
- const customMdPath = path.join(axCliDir, 'CUSTOM.md');
101
- const indexPath = path.join(axCliDir, 'index.json');
102
- if (fs.existsSync(customMdPath)) {
106
+ if (this.pathExists('.ax-cli', 'CUSTOM.md')) {
103
107
  result.warnings.push('Existing CUSTOM.md found - will be overwritten unless --force is used');
104
108
  }
105
- if (fs.existsSync(indexPath)) {
109
+ if (this.pathExists('.ax-cli', 'index.json')) {
110
+ const indexPath = this.resolvePath('.ax-cli', 'index.json');
106
111
  const parseResult = parseJsonFile(indexPath);
107
112
  if (parseResult.success) {
108
113
  const indexData = parseResult.data;
@@ -125,8 +130,8 @@ export class InitValidator {
125
130
  */
126
131
  checkProjectStructure(result) {
127
132
  const commonDirs = ['src', 'lib', 'dist', 'build', 'test', 'tests', '__tests__'];
128
- const foundDirs = commonDirs.filter(dir => fs.existsSync(path.join(this.projectRoot, dir)));
129
- if (foundDirs.length === 0) {
133
+ const hasStandardDir = commonDirs.some(dir => this.pathExists(dir));
134
+ if (!hasStandardDir) {
130
135
  result.warnings.push('No standard project directories found (src/, lib/, etc.)');
131
136
  result.suggestions.push('Project may be empty or have non-standard structure');
132
137
  }
@@ -219,8 +224,7 @@ export class InitValidator {
219
224
  * Check if force flag is needed
220
225
  */
221
226
  needsForceFlag() {
222
- const customMdPath = path.join(this.projectRoot, '.ax-cli', 'CUSTOM.md');
223
- return fs.existsSync(customMdPath);
227
+ return this.pathExists('.ax-cli', 'CUSTOM.md');
224
228
  }
225
229
  /**
226
230
  * Get validation summary string
@@ -1 +1 @@
1
- {"version":3,"file":"init-validator.js","sourceRoot":"","sources":["../../src/utils/init-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-validator.js","sourceRoot":"","sources":["../../src/utils/init-validator.ts"],"names":[],"mappings":"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"}
@@ -49,34 +49,28 @@ export class LLMOptimizedInstructionGenerator {
49
49
  **Type:** ${projectInfo.projectType} | **Lang:** ${projectInfo.primaryLanguage}${version ? ` | **Ver:** ${version}` : ''}${stack}`;
50
50
  }
51
51
  generateCriticalRules(projectInfo) {
52
+ const { conventions, primaryLanguage, scripts } = projectInfo;
52
53
  const rules = [];
53
- // Rule 1: ESM imports (if applicable)
54
- if (projectInfo.conventions.importExtension === '.js') {
54
+ // Build rules based on project configuration
55
+ if (conventions.importExtension === '.js') {
55
56
  rules.push('**ESM Imports:** Always use `.js` extension: `import { x } from \'./y.js\'`');
56
57
  }
57
- // Rule 2: Validation (if applicable)
58
- if (projectInfo.conventions.validation) {
59
- rules.push(`**Validation:** Use ${projectInfo.conventions.validation} for all external inputs`);
58
+ if (conventions.validation) {
59
+ rules.push(`**Validation:** Use ${conventions.validation} for all external inputs`);
60
60
  }
61
- // Rule 3: TypeScript types (if applicable)
62
- if (projectInfo.primaryLanguage === 'TypeScript') {
61
+ if (primaryLanguage === 'TypeScript') {
63
62
  rules.push('**Types:** Explicit return types required on all functions');
64
63
  }
65
- // Rule 4: Testing coverage
66
- if (projectInfo.scripts.test) {
64
+ if (scripts.test) {
67
65
  rules.push('**Testing:** 80%+ coverage, test error paths');
68
66
  }
69
- // Rule 5: Module system
70
- if (projectInfo.conventions.moduleSystem === 'esm') {
67
+ if (conventions.moduleSystem === 'esm') {
71
68
  rules.push('**Modules:** Use `import/export` (not `require/module.exports`)');
72
69
  }
73
- // Rule 6: File Organization
74
70
  rules.push('**File Organization:** Follow standardized output paths (see below)');
75
- // Take only top N rules (increased to accommodate file organization)
76
71
  const topRules = rules.slice(0, Math.max(this.config.criticalRulesCount, 6));
77
- if (topRules.length === 0) {
72
+ if (topRules.length === 0)
78
73
  return '';
79
- }
80
74
  return `## 🎯 Critical Rules\n\n${topRules.map((rule, i) => `${i + 1}. ${rule}`).join('\n')}`;
81
75
  }
82
76
  generateProjectOverview(projectInfo) {
@@ -119,157 +113,124 @@ export class LLMOptimizedInstructionGenerator {
119
113
  return parts.join('\n\n');
120
114
  }
121
115
  generateCodePatterns(projectInfo) {
122
- let content = '## 🔧 Code Patterns';
116
+ const { primaryLanguage, conventions, projectType } = projectInfo;
117
+ const sections = ['## 🔧 Code Patterns'];
123
118
  // TypeScript patterns with DO/DON'T
124
- if (projectInfo.primaryLanguage === 'TypeScript' && this.config.includeDODONT) {
125
- content += '\n\n### TypeScript\n';
126
- content += '\n✅ **DO:**\n';
127
- content += '```typescript\n';
128
- content += '// Explicit types\n';
129
- content += 'function process(x: string): Promise<Result> { }\n';
130
- if (projectInfo.conventions.importExtension === '.js') {
131
- content += '\n// ESM imports with .js extension\n';
132
- content += 'import { foo } from \'./bar.js\';\n';
133
- }
134
- content += '```\n';
135
- content += '\n❌ **DON\'T:**\n';
136
- content += '```typescript\n';
137
- content += '// No any types\n';
138
- content += 'function process(x: any) { } // ❌\n';
139
- if (projectInfo.conventions.importExtension === '.js') {
140
- content += '\n// Missing .js extension\n';
141
- content += 'import { foo } from \'./bar\'; // ❌\n';
142
- }
143
- content += '```';
144
- }
145
- // Validation patterns (if applicable)
146
- if (projectInfo.conventions.validation && this.config.includeDODONT) {
147
- content += `\n\n### Validation (${projectInfo.conventions.validation})\n`;
148
- content += '\n✅ **DO:**\n';
149
- content += '```typescript\n';
150
- content += `const result = schema.safeParse(data);\n`;
151
- content += 'if (!result.success) {\n';
152
- content += ' return { success: false, error: result.error };\n';
153
- content += '}\n';
154
- content += '```';
155
- }
156
- // Project-specific patterns based on type
157
- if (projectInfo.projectType === 'cli') {
158
- content += '\n\n### CLI Commands\n';
159
- content += 'Commands should:\n';
160
- content += '- Accept options via flags (`-f, --flag <value>`)\n';
161
- content += '- Validate input before execution\n';
162
- content += '- Provide clear error messages\n';
163
- content += '- Return exit codes (0 = success, 1+ = error)';
164
- }
165
- else if (projectInfo.projectType === 'api') {
166
- content += '\n\n### API Endpoints\n';
167
- content += 'Endpoints should:\n';
168
- content += '- Validate request body/params\n';
169
- content += '- Use proper HTTP status codes\n';
170
- content += '- Handle errors with consistent format\n';
171
- content += '- Document with OpenAPI/Swagger';
172
- }
173
- else if (projectInfo.projectType === 'library') {
174
- content += '\n\n### Library API\n';
175
- content += 'Public API should:\n';
176
- content += '- Have clear, typed interfaces\n';
177
- content += '- Validate all inputs\n';
178
- content += '- Avoid breaking changes\n';
179
- content += '- Document all exports';
119
+ if (primaryLanguage === 'TypeScript' && this.config.includeDODONT) {
120
+ const doCode = [
121
+ '// Explicit types',
122
+ 'function process(x: string): Promise<Result> { }',
123
+ ...(conventions.importExtension === '.js' ? ['\n// ESM imports with .js extension', "import { foo } from './bar.js';"] : []),
124
+ ];
125
+ const dontCode = [
126
+ '// No any types',
127
+ 'function process(x: any) { } // ',
128
+ ...(conventions.importExtension === '.js' ? ['\n// Missing .js extension', "import { foo } from './bar'; // ❌"] : []),
129
+ ];
130
+ sections.push('### TypeScript\n', '✅ **DO:**', '```typescript', doCode.join('\n'), '```\n', '❌ **DON\'T:**', '```typescript', dontCode.join('\n'), '```');
131
+ }
132
+ // Validation patterns
133
+ if (conventions.validation && this.config.includeDODONT) {
134
+ sections.push(`### Validation (${conventions.validation})\n`, '✅ **DO:**', '```typescript', 'const result = schema.safeParse(data);', 'if (!result.success) {', ' return { success: false, error: result.error };', '}', '```');
135
+ }
136
+ // Project-specific patterns
137
+ const typePatterns = {
138
+ cli: {
139
+ title: '### CLI Commands\nCommands should:',
140
+ items: ['Accept options via flags (`-f, --flag <value>`)', 'Validate input before execution', 'Provide clear error messages', 'Return exit codes (0 = success, 1+ = error)'],
141
+ },
142
+ api: {
143
+ title: '### API Endpoints\nEndpoints should:',
144
+ items: ['Validate request body/params', 'Use proper HTTP status codes', 'Handle errors with consistent format', 'Document with OpenAPI/Swagger'],
145
+ },
146
+ library: {
147
+ title: '### Library API\nPublic API should:',
148
+ items: ['Have clear, typed interfaces', 'Validate all inputs', 'Avoid breaking changes', 'Document all exports'],
149
+ },
150
+ };
151
+ const pattern = typePatterns[projectType];
152
+ if (pattern) {
153
+ sections.push(`${pattern.title}\n${pattern.items.map(i => `- ${i}`).join('\n')}`);
180
154
  }
181
- return content;
155
+ return sections.join('\n');
182
156
  }
183
157
  generateWorkflow(projectInfo) {
184
- let workflow = '## 🔄 Workflow';
185
- // Before (compressed, tool-agnostic)
186
- workflow += '\n\n**Before:**\n';
187
- workflow += '- Read files to understand implementation\n';
188
- workflow += '- Search for related patterns\n';
189
- workflow += '- Review tests for expected behavior';
190
- // Changes (compressed)
191
- workflow += '\n\n**Changes:**\n';
192
- workflow += '- Edit existing files (never recreate)\n';
193
- workflow += '- Keep changes focused and atomic\n';
194
- workflow += '- Preserve code style\n';
195
- workflow += '- Update tests when changing functionality';
196
- // After (compressed with actual commands)
197
- const afterSteps = [];
198
- if (projectInfo.scripts.lint) {
199
- afterSteps.push(`Lint: \`${projectInfo.scripts.lint}\``);
200
- }
201
- if (projectInfo.scripts.test) {
202
- afterSteps.push(`Test: \`${projectInfo.scripts.test}\``);
203
- }
204
- if (projectInfo.scripts.build) {
205
- afterSteps.push(`Build: \`${projectInfo.scripts.build}\``);
206
- }
158
+ const { scripts, packageManager } = projectInfo;
159
+ const sections = [
160
+ '## 🔄 Workflow',
161
+ '**Before:**',
162
+ '- Read files to understand implementation',
163
+ '- Search for related patterns',
164
+ '- Review tests for expected behavior',
165
+ '',
166
+ '**Changes:**',
167
+ '- Edit existing files (never recreate)',
168
+ '- Keep changes focused and atomic',
169
+ '- Preserve code style',
170
+ '- Update tests when changing functionality',
171
+ ];
172
+ // After steps
173
+ const afterSteps = [
174
+ scripts.lint && `Lint: \`${scripts.lint}\``,
175
+ scripts.test && `Test: \`${scripts.test}\``,
176
+ scripts.build && `Build: \`${scripts.build}\``,
177
+ ].filter(Boolean);
207
178
  if (afterSteps.length > 0) {
208
- workflow += '\n\n**After:**\n';
209
- workflow += afterSteps.map((step, i) => `${i + 1}. ${step}`).join('\n');
210
- }
211
- // Quick commands (compressed)
212
- if (projectInfo.packageManager && Object.keys(projectInfo.scripts).length > 0) {
213
- workflow += '\n\n**Quick Commands:**\n```bash\n';
214
- const pm = projectInfo.packageManager;
215
- const run = pm === 'npm' ? 'npm run' : pm;
216
- const test = pm === 'npm' ? 'npm' : pm;
217
- if (projectInfo.scripts.dev) {
218
- workflow += `${run} dev # Development\n`;
179
+ sections.push('', '**After:**', ...afterSteps.map((step, i) => `${i + 1}. ${step}`));
180
+ }
181
+ // Quick commands
182
+ if (packageManager && Object.keys(scripts).length > 0) {
183
+ const run = packageManager === 'npm' ? 'npm run' : packageManager;
184
+ const test = packageManager === 'npm' ? 'npm' : packageManager;
185
+ const cmds = [
186
+ scripts.dev && `${run} dev # Development`,
187
+ scripts.test && `${test} test # Run tests`,
188
+ scripts.build && `${run} build # Production build`,
189
+ ].filter((cmd) => Boolean(cmd));
190
+ if (cmds.length > 0) {
191
+ sections.push('', '**Quick Commands:**', '```bash', ...cmds, '```');
219
192
  }
220
- if (projectInfo.scripts.test) {
221
- workflow += `${test} test # Run tests\n`;
222
- }
223
- if (projectInfo.scripts.build) {
224
- workflow += `${run} build # Production build\n`;
225
- }
226
- workflow += '```';
227
193
  }
228
- return workflow;
194
+ return sections.join('\n');
229
195
  }
230
196
  generateTroubleshooting(projectInfo) {
231
- let content = '## 🐛 Troubleshooting';
197
+ const { conventions, primaryLanguage } = projectInfo;
232
198
  const issues = [];
233
- // ESM import issues
234
- if (projectInfo.conventions.importExtension === '.js') {
199
+ // Conditionally add issues based on project config
200
+ if (conventions.importExtension === '.js') {
235
201
  issues.push({
236
202
  problem: '"Module not found" errors',
237
203
  solution: 'Add `.js` extension to imports (ESM requirement)',
238
- code: `// ✅ Correct\nimport { x } from './y.js';\n\n// ❌ Wrong\nimport { x } from './y'; // Missing .js`,
204
+ code: "// ✅ Correct\nimport { x } from './y.js';\n\n// ❌ Wrong\nimport { x } from './y'; // Missing .js",
239
205
  });
240
206
  }
241
- // Validation errors
242
- if (projectInfo.conventions.validation) {
207
+ if (conventions.validation) {
243
208
  issues.push({
244
- problem: `${projectInfo.conventions.validation} validation errors`,
209
+ problem: `${conventions.validation} validation errors`,
245
210
  solution: 'Use `.safeParse()` for detailed error messages. Check schema matches data structure.',
246
211
  });
247
212
  }
248
- // Test failures
249
- if (projectInfo.conventions.testFramework) {
213
+ if (conventions.testFramework) {
250
214
  issues.push({
251
215
  problem: 'Tests fail locally but pass in CI',
252
- solution: `Check Node version, clear node_modules, check environment-specific code`,
216
+ solution: 'Check Node version, clear node_modules, check environment-specific code',
253
217
  });
254
218
  }
255
- // TypeScript errors
256
- if (projectInfo.primaryLanguage === 'TypeScript') {
219
+ if (primaryLanguage === 'TypeScript') {
257
220
  issues.push({
258
221
  problem: 'TypeScript compilation errors',
259
222
  solution: 'Check `tsconfig.json` settings, ensure all types are imported, verify `moduleResolution`',
260
223
  });
261
224
  }
262
- if (issues.length === 0) {
225
+ if (issues.length === 0)
263
226
  return '';
227
+ const sections = ['## 🐛 Troubleshooting'];
228
+ for (const { problem, solution, code } of issues) {
229
+ sections.push(`### ${problem}`, `**Solution:** ${solution}`);
230
+ if (code)
231
+ sections.push(`\`\`\`typescript\n${code}\n\`\`\``);
264
232
  }
265
- for (const issue of issues) {
266
- content += `\n\n### ${issue.problem}\n`;
267
- content += `**Solution:** ${issue.solution}`;
268
- if (issue.code) {
269
- content += `\n\`\`\`typescript\n${issue.code}\n\`\`\``;
270
- }
271
- }
272
- return content;
233
+ return sections.join('\n\n');
273
234
  }
274
235
  /**
275
236
  * Generate project index JSON
@@ -1 +1 @@
1
- {"version":3,"file":"llm-optimized-instruction-generator.js","sourceRoot":"","sources":["../../src/utils/llm-optimized-instruction-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-optimized-instruction-generator.js","sourceRoot":"","sources":["../../src/utils/llm-optimized-instruction-generator.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ export declare class ProjectAnalyzer {
8
8
  private packageJsonCache;
9
9
  private tsConfigCache;
10
10
  constructor(projectRoot?: string);
11
+ /** Helper to check if path exists relative to project root */
12
+ private pathExists;
13
+ /** Helper to get stat if path is directory */
14
+ private isDirectory;
11
15
  /**
12
16
  * Helper: Read and cache package.json
13
17
  * Reduces file I/O from 8 reads to 1 read
@@ -27,6 +31,8 @@ export declare class ProjectAnalyzer {
27
31
  private detectTechStack;
28
32
  private detectProjectType;
29
33
  private detectEntryPoint;
34
+ /** Helper to find first matching directory */
35
+ private findFirstDir;
30
36
  private detectDirectories;
31
37
  private detectKeyFiles;
32
38
  private detectConventions;