@ai-coders/context 0.1.0 → 0.2.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 (133) hide show
  1. package/dist/generators/agents/agentConfig.d.ts +4 -0
  2. package/dist/generators/agents/agentConfig.d.ts.map +1 -0
  3. package/dist/generators/agents/agentConfig.js +138 -0
  4. package/dist/generators/agents/agentConfig.js.map +1 -0
  5. package/dist/generators/agents/agentGenerator.d.ts +13 -0
  6. package/dist/generators/agents/agentGenerator.d.ts.map +1 -0
  7. package/dist/generators/agents/agentGenerator.js +80 -0
  8. package/dist/generators/agents/agentGenerator.js.map +1 -0
  9. package/dist/generators/agents/agentTypes.d.ts +4 -0
  10. package/dist/generators/agents/agentTypes.d.ts.map +1 -0
  11. package/dist/generators/agents/agentTypes.js +22 -0
  12. package/dist/generators/agents/agentTypes.js.map +1 -0
  13. package/dist/generators/agents/contextUtils.d.ts +8 -0
  14. package/dist/generators/agents/contextUtils.d.ts.map +1 -0
  15. package/dist/generators/agents/contextUtils.js +15 -0
  16. package/dist/generators/agents/contextUtils.js.map +1 -0
  17. package/dist/generators/agents/index.d.ts +6 -0
  18. package/dist/generators/agents/index.d.ts.map +1 -0
  19. package/dist/generators/agents/index.js +16 -0
  20. package/dist/generators/agents/index.js.map +1 -0
  21. package/dist/generators/agents/promptFormatter.d.ts +9 -0
  22. package/dist/generators/agents/promptFormatter.d.ts.map +1 -0
  23. package/dist/generators/agents/promptFormatter.js +84 -0
  24. package/dist/generators/agents/promptFormatter.js.map +1 -0
  25. package/dist/generators/analyzers/codebaseAnalyzer.d.ts +45 -0
  26. package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +1 -0
  27. package/dist/generators/analyzers/codebaseAnalyzer.js +293 -0
  28. package/dist/generators/analyzers/codebaseAnalyzer.js.map +1 -0
  29. package/dist/generators/analyzers/index.d.ts +3 -0
  30. package/dist/generators/analyzers/index.d.ts.map +1 -0
  31. package/dist/generators/analyzers/index.js +6 -0
  32. package/dist/generators/analyzers/index.js.map +1 -0
  33. package/dist/generators/documentation/documentationGenerator.d.ts +19 -0
  34. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -0
  35. package/dist/generators/documentation/documentationGenerator.js +127 -0
  36. package/dist/generators/documentation/documentationGenerator.js.map +1 -0
  37. package/dist/generators/documentation/documentationTemplates.d.ts +21 -0
  38. package/dist/generators/documentation/documentationTemplates.d.ts.map +1 -0
  39. package/dist/generators/documentation/documentationTemplates.js +359 -0
  40. package/dist/generators/documentation/documentationTemplates.js.map +1 -0
  41. package/dist/generators/documentation/documentationTypes.d.ts +11 -0
  42. package/dist/generators/documentation/documentationTypes.d.ts.map +1 -0
  43. package/dist/generators/documentation/documentationTypes.js +22 -0
  44. package/dist/generators/documentation/documentationTypes.js.map +1 -0
  45. package/dist/generators/documentation/documentationUtils.d.ts +7 -0
  46. package/dist/generators/documentation/documentationUtils.d.ts.map +1 -0
  47. package/dist/generators/documentation/documentationUtils.js +28 -0
  48. package/dist/generators/documentation/documentationUtils.js.map +1 -0
  49. package/dist/generators/documentation/enhancedDocumentationGenerator.d.ts +21 -0
  50. package/dist/generators/documentation/enhancedDocumentationGenerator.d.ts.map +1 -0
  51. package/dist/generators/documentation/enhancedDocumentationGenerator.js +216 -0
  52. package/dist/generators/documentation/enhancedDocumentationGenerator.js.map +1 -0
  53. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +33 -0
  54. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +1 -0
  55. package/dist/generators/documentation/incrementalDocumentationGenerator.js +400 -0
  56. package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +1 -0
  57. package/dist/generators/documentation/index.d.ts +8 -0
  58. package/dist/generators/documentation/index.d.ts.map +1 -0
  59. package/dist/generators/documentation/index.js +22 -0
  60. package/dist/generators/documentation/index.js.map +1 -0
  61. package/dist/generators/documentation/newDocumentationTemplates.d.ts +19 -0
  62. package/dist/generators/documentation/newDocumentationTemplates.d.ts.map +1 -0
  63. package/dist/generators/documentation/newDocumentationTemplates.js +307 -0
  64. package/dist/generators/documentation/newDocumentationTemplates.js.map +1 -0
  65. package/dist/generators/documentationGenerator.d.ts +3 -21
  66. package/dist/generators/documentationGenerator.d.ts.map +1 -1
  67. package/dist/generators/documentationGenerator.js +46 -597
  68. package/dist/generators/documentationGenerator.js.map +1 -1
  69. package/dist/generators/documentationTemplates.d.ts +16 -0
  70. package/dist/generators/documentationTemplates.d.ts.map +1 -0
  71. package/dist/generators/documentationTemplates.js +326 -0
  72. package/dist/generators/documentationTemplates.js.map +1 -0
  73. package/dist/generators/documentationUtils.d.ts +7 -0
  74. package/dist/generators/documentationUtils.d.ts.map +1 -0
  75. package/dist/generators/documentationUtils.js +38 -0
  76. package/dist/generators/documentationUtils.js.map +1 -0
  77. package/dist/generators/guidelines/agentIntegration.d.ts +43 -0
  78. package/dist/generators/guidelines/agentIntegration.d.ts.map +1 -0
  79. package/dist/generators/guidelines/agentIntegration.js +157 -0
  80. package/dist/generators/guidelines/agentIntegration.js.map +1 -0
  81. package/dist/generators/guidelines/guidelineTypes.d.ts +40 -0
  82. package/dist/generators/guidelines/guidelineTypes.d.ts.map +1 -0
  83. package/dist/generators/guidelines/guidelineTypes.js +144 -0
  84. package/dist/generators/guidelines/guidelineTypes.js.map +1 -0
  85. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +30 -0
  86. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +1 -0
  87. package/dist/generators/guidelines/guidelinesAnalyzer.js +263 -0
  88. package/dist/generators/guidelines/guidelinesAnalyzer.js.map +1 -0
  89. package/dist/generators/guidelines/guidelinesGenerator.d.ts +30 -0
  90. package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +1 -0
  91. package/dist/generators/guidelines/guidelinesGenerator.js +249 -0
  92. package/dist/generators/guidelines/guidelinesGenerator.js.map +1 -0
  93. package/dist/generators/guidelines/guidelinesTemplates.d.ts +23 -0
  94. package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +1 -0
  95. package/dist/generators/guidelines/guidelinesTemplates.js +304 -0
  96. package/dist/generators/guidelines/guidelinesTemplates.js.map +1 -0
  97. package/dist/generators/guidelines/index.d.ts +6 -0
  98. package/dist/generators/guidelines/index.d.ts.map +1 -0
  99. package/dist/generators/guidelines/index.js +16 -0
  100. package/dist/generators/guidelines/index.js.map +1 -0
  101. package/dist/generators/moduleGrouper.d.ts +14 -0
  102. package/dist/generators/moduleGrouper.d.ts.map +1 -0
  103. package/dist/generators/moduleGrouper.js +82 -0
  104. package/dist/generators/moduleGrouper.js.map +1 -0
  105. package/dist/generators/projectAnalyzer.d.ts +14 -0
  106. package/dist/generators/projectAnalyzer.d.ts.map +1 -0
  107. package/dist/generators/projectAnalyzer.js +217 -0
  108. package/dist/generators/projectAnalyzer.js.map +1 -0
  109. package/dist/generators/shared/contextGenerator.d.ts +12 -0
  110. package/dist/generators/shared/contextGenerator.d.ts.map +1 -0
  111. package/dist/generators/shared/contextGenerator.js +109 -0
  112. package/dist/generators/shared/contextGenerator.js.map +1 -0
  113. package/dist/generators/shared/generatorUtils.d.ts +16 -0
  114. package/dist/generators/shared/generatorUtils.d.ts.map +1 -0
  115. package/dist/generators/shared/generatorUtils.js +119 -0
  116. package/dist/generators/shared/generatorUtils.js.map +1 -0
  117. package/dist/generators/shared/index.d.ts +3 -0
  118. package/dist/generators/shared/index.d.ts.map +1 -0
  119. package/dist/generators/shared/index.js +8 -0
  120. package/dist/generators/shared/index.js.map +1 -0
  121. package/dist/index.d.ts +1 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +230 -13
  124. package/dist/index.js.map +1 -1
  125. package/dist/utils/interactiveMode.d.ts +6 -1
  126. package/dist/utils/interactiveMode.d.ts.map +1 -1
  127. package/dist/utils/interactiveMode.js +375 -70
  128. package/dist/utils/interactiveMode.js.map +1 -1
  129. package/dist/utils/tokenEstimator.d.ts +10 -9
  130. package/dist/utils/tokenEstimator.d.ts.map +1 -1
  131. package/dist/utils/tokenEstimator.js +45 -109
  132. package/dist/utils/tokenEstimator.js.map +1 -1
  133. package/package.json +1 -1
@@ -4,7 +4,12 @@ export declare class InteractiveMode {
4
4
  start(): Promise<void>;
5
5
  private promptMainCommand;
6
6
  private promptCommonParameters;
7
- private promptInitParameters;
7
+ private promptGuidelinesParameters;
8
+ private promptAnalyzeParameters;
9
+ private promptPreviewParameters;
10
+ private promptCustomPricing;
11
+ private promptGenerateParameters;
12
+ private promptGuidelinesConfiguration;
8
13
  private promptLLMConfiguration;
9
14
  private promptPatterns;
10
15
  private getAvailableProviders;
@@ -1 +1 @@
1
- {"version":3,"file":"interactiveMode.d.ts","sourceRoot":"","sources":["../../src/utils/interactiveMode.ts"],"names":[],"mappings":"AAmBA,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAe;;IAMnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBd,iBAAiB;YA+DjB,sBAAsB;YA0BtB,oBAAoB;YAwCpB,sBAAsB;YA0FtB,cAAc;IAgC5B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,oBAAoB;IA+B5B,OAAO,CAAC,cAAc;YAYR,cAAc;CAkG7B"}
1
+ {"version":3,"file":"interactiveMode.d.ts","sourceRoot":"","sources":["../../src/utils/interactiveMode.ts"],"names":[],"mappings":"AA2BA,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAe;;IAMnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBd,iBAAiB;YA0FjB,sBAAsB;YA0BtB,0BAA0B;YAiB1B,uBAAuB;YAavB,uBAAuB;YAavB,mBAAmB;YA8CnB,wBAAwB;YA+BxB,6BAA6B;YAwH7B,sBAAsB;YA0FtB,cAAc;IAgC5B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,oBAAoB;IA+B5B,OAAO,CAAC,cAAc;YAYR,cAAc;CA2M7B"}
@@ -60,40 +60,55 @@ class InteractiveMode {
60
60
  await this.executeCommand(answers);
61
61
  }
62
62
  async promptMainCommand() {
63
- const { command } = await inquirer_1.default.prompt([
64
- {
65
- type: 'list',
66
- name: 'command',
67
- message: 'What would you like to do?',
68
- choices: [
69
- {
70
- name: '🚀 Initialize documentation and AI agents for a new project',
71
- value: 'init',
72
- short: 'Initialize'
73
- },
74
- {
75
- name: '🔍 Analyze repository structure and estimate costs',
76
- value: 'analyze',
77
- short: 'Analyze'
78
- },
79
- {
80
- name: '🔄 Update existing documentation with recent changes',
81
- value: 'update',
82
- short: 'Update'
83
- },
84
- {
85
- name: '👁️ Preview what changes would be made',
86
- value: 'preview',
87
- short: 'Preview'
88
- },
89
- {
90
- name: ' Exit',
91
- value: 'exit',
92
- short: 'Exit'
93
- }
94
- ]
95
- }
96
- ]);
63
+ const { command } = await inquirer_1.default.prompt({
64
+ type: 'list',
65
+ name: 'command',
66
+ message: 'What would you like to generate?',
67
+ choices: [
68
+ {
69
+ name: '🚀 Generate everything (docs + agents + guidelines)',
70
+ value: 'generate-all',
71
+ short: 'Generate All'
72
+ },
73
+ {
74
+ name: '📚 Generate documentation only',
75
+ value: 'generate-docs',
76
+ short: 'Generate Docs'
77
+ },
78
+ {
79
+ name: '🤖 Generate AI agent prompts only',
80
+ value: 'generate-agents',
81
+ short: 'Generate Agents'
82
+ },
83
+ {
84
+ name: '📋 Generate development guidelines only',
85
+ value: 'generate-guidelines',
86
+ short: 'Generate Guidelines'
87
+ },
88
+ new inquirer_1.default.Separator(),
89
+ {
90
+ name: '🔍 Analyze repository structure and estimate costs',
91
+ value: 'analyze',
92
+ short: 'Analyze'
93
+ },
94
+ {
95
+ name: '🔄 Update existing documentation with recent changes',
96
+ value: 'update',
97
+ short: 'Update'
98
+ },
99
+ {
100
+ name: '👁️ Preview what changes would be made',
101
+ value: 'preview',
102
+ short: 'Preview'
103
+ },
104
+ new inquirer_1.default.Separator(),
105
+ {
106
+ name: '❌ Exit',
107
+ value: 'exit',
108
+ short: 'Exit'
109
+ }
110
+ ]
111
+ });
97
112
  if (command === 'exit') {
98
113
  return { command };
99
114
  }
@@ -102,12 +117,24 @@ class InteractiveMode {
102
117
  // Get command-specific parameters
103
118
  let specificAnswers = {};
104
119
  switch (command) {
105
- case 'init':
106
- specificAnswers = await this.promptInitParameters();
120
+ case 'generate-all':
121
+ specificAnswers = await this.promptGenerateParameters(true);
122
+ break;
123
+ case 'generate-docs':
124
+ specificAnswers = await this.promptGenerateParameters(false);
125
+ break;
126
+ case 'generate-agents':
127
+ specificAnswers = await this.promptGenerateParameters(false);
128
+ break;
129
+ case 'generate-guidelines':
130
+ specificAnswers = await this.promptGuidelinesParameters();
131
+ break;
132
+ case 'analyze':
133
+ specificAnswers = await this.promptAnalyzeParameters();
107
134
  break;
108
135
  case 'update':
109
136
  case 'preview':
110
- // These commands might need additional parameters in the future
137
+ specificAnswers = await this.promptPreviewParameters();
111
138
  break;
112
139
  }
113
140
  return {
@@ -140,40 +167,218 @@ class InteractiveMode {
140
167
  ]);
141
168
  return answers;
142
169
  }
143
- async promptInitParameters() {
144
- const initAnswers = await inquirer_1.default.prompt([
170
+ async promptGuidelinesParameters() {
171
+ // Ask for LLM configuration first
172
+ const llmAnswers = await this.promptLLMConfiguration();
173
+ // Ask for patterns
174
+ const patternAnswers = await this.promptPatterns();
175
+ // Ask for guidelines configuration
176
+ const guidelineAnswers = await this.promptGuidelinesConfiguration();
177
+ return {
178
+ ...llmAnswers,
179
+ ...patternAnswers,
180
+ ...guidelineAnswers
181
+ };
182
+ }
183
+ async promptAnalyzeParameters() {
184
+ // Ask for custom pricing
185
+ const pricingAnswers = await this.promptCustomPricing();
186
+ // Ask for patterns
187
+ const patternAnswers = await this.promptPatterns();
188
+ return {
189
+ ...pricingAnswers,
190
+ ...patternAnswers
191
+ };
192
+ }
193
+ async promptPreviewParameters() {
194
+ // Ask for custom pricing
195
+ const pricingAnswers = await this.promptCustomPricing();
196
+ // Ask for patterns
197
+ const patternAnswers = await this.promptPatterns();
198
+ return {
199
+ ...pricingAnswers,
200
+ ...patternAnswers
201
+ };
202
+ }
203
+ async promptCustomPricing() {
204
+ const { usePricing } = await inquirer_1.default.prompt([
205
+ {
206
+ type: 'confirm',
207
+ name: 'usePricing',
208
+ message: 'Do you want to provide pricing for cost estimation?',
209
+ default: false
210
+ }
211
+ ]);
212
+ if (!usePricing) {
213
+ return { usePricing: false };
214
+ }
215
+ console.log(chalk_1.default.gray('\n💰 Pricing Configuration'));
216
+ console.log(chalk_1.default.gray('Enter your token pricing (per 1M tokens):\n'));
217
+ const pricingAnswers = await inquirer_1.default.prompt([
218
+ {
219
+ type: 'input',
220
+ name: 'inputPrice',
221
+ message: 'Input token price per 1M tokens (e.g., 2.50 for $2.50):',
222
+ validate: (input) => {
223
+ const num = parseFloat(input);
224
+ return !isNaN(num) && num >= 0 || 'Please enter a valid positive number';
225
+ },
226
+ filter: (input) => parseFloat(input)
227
+ },
228
+ {
229
+ type: 'input',
230
+ name: 'outputPrice',
231
+ message: 'Output token price per 1M tokens (e.g., 10.00 for $10.00):',
232
+ validate: (input) => {
233
+ const num = parseFloat(input);
234
+ return !isNaN(num) && num >= 0 || 'Please enter a valid positive number';
235
+ },
236
+ filter: (input) => parseFloat(input)
237
+ }
238
+ ]);
239
+ return {
240
+ usePricing: true,
241
+ ...pricingAnswers
242
+ };
243
+ }
244
+ async promptGenerateParameters(includeGuidelines) {
245
+ // Ask for LLM configuration
246
+ const llmAnswers = await this.promptLLMConfiguration();
247
+ // Ask for patterns
248
+ const patternAnswers = await this.promptPatterns();
249
+ let guidelineAnswers = {};
250
+ if (includeGuidelines) {
251
+ // For generate-all, ask if they want to include guidelines configuration
252
+ const { configureGuidelines } = await inquirer_1.default.prompt([
253
+ {
254
+ type: 'confirm',
255
+ name: 'configureGuidelines',
256
+ message: 'Do you want to configure guidelines generation options?',
257
+ default: false
258
+ }
259
+ ]);
260
+ if (configureGuidelines) {
261
+ guidelineAnswers = await this.promptGuidelinesConfiguration();
262
+ }
263
+ }
264
+ return {
265
+ ...llmAnswers,
266
+ ...patternAnswers,
267
+ ...guidelineAnswers
268
+ };
269
+ }
270
+ async promptGuidelinesConfiguration() {
271
+ // Ask for specific categories or comprehensive guidelines
272
+ const { guidelineScope } = await inquirer_1.default.prompt([
145
273
  {
146
274
  type: 'list',
147
- name: 'initType',
148
- message: 'What would you like to initialize?',
275
+ name: 'guidelineScope',
276
+ message: 'What type of guidelines would you like to generate?',
149
277
  choices: [
150
278
  {
151
- name: '📚 Both documentation and AI agents (recommended)',
152
- value: 'both',
153
- short: 'Both'
154
- },
155
- {
156
- name: '📄 Documentation only',
157
- value: 'docs',
158
- short: 'Docs only'
279
+ name: '🎯 Comprehensive guidelines (all categories)',
280
+ value: 'comprehensive',
281
+ short: 'Comprehensive'
159
282
  },
160
283
  {
161
- name: '🤖 AI agents only',
162
- value: 'agents',
163
- short: 'Agents only'
284
+ name: '🔧 Specific categories only',
285
+ value: 'specific',
286
+ short: 'Specific'
164
287
  }
165
288
  ],
166
- default: 'both'
289
+ default: 'comprehensive'
290
+ }
291
+ ]);
292
+ let guidelineCategories = [];
293
+ if (guidelineScope === 'specific') {
294
+ const { selectedCategories } = await inquirer_1.default.prompt({
295
+ type: 'checkbox',
296
+ name: 'selectedCategories',
297
+ message: 'Select the guideline categories to generate:',
298
+ choices: [
299
+ { name: '🧪 Testing guidelines', value: 'testing' },
300
+ { name: '🎨 Frontend guidelines', value: 'frontend' },
301
+ { name: '⚙️ Backend guidelines', value: 'backend' },
302
+ { name: '🗄️ Database guidelines', value: 'database' },
303
+ { name: '🔒 Security guidelines', value: 'security' },
304
+ { name: '⚡ Performance guidelines', value: 'performance' },
305
+ { name: '✨ Code style guidelines', value: 'code-style' },
306
+ { name: '🌲 Git workflow guidelines', value: 'git-workflow' },
307
+ { name: '🚀 Deployment guidelines', value: 'deployment' },
308
+ { name: '📊 Monitoring guidelines', value: 'monitoring' },
309
+ { name: '📚 Documentation guidelines', value: 'documentation' },
310
+ { name: '🏗️ Architecture guidelines', value: 'architecture' }
311
+ ],
312
+ validate: (answer) => {
313
+ if (!answer || answer.length === 0) {
314
+ return 'Please select at least one category.';
315
+ }
316
+ return true;
317
+ }
318
+ });
319
+ guidelineCategories = selectedCategories;
320
+ }
321
+ // Ask for project configuration
322
+ const projectConfig = await inquirer_1.default.prompt([
323
+ {
324
+ type: 'list',
325
+ name: 'projectType',
326
+ message: 'What type of project is this?',
327
+ choices: [
328
+ { name: '🤖 Auto-detect based on codebase', value: 'auto' },
329
+ { name: '🎨 Frontend application', value: 'frontend' },
330
+ { name: '⚙️ Backend service', value: 'backend' },
331
+ { name: '🌐 Full-stack application', value: 'fullstack' },
332
+ { name: '📱 Mobile application', value: 'mobile' },
333
+ { name: '🖥️ Desktop application', value: 'desktop' },
334
+ { name: '📦 Library/package', value: 'library' }
335
+ ],
336
+ default: 'auto'
337
+ },
338
+ {
339
+ type: 'list',
340
+ name: 'complexity',
341
+ message: 'How complex is your project?',
342
+ choices: [
343
+ { name: '🤖 Auto-detect based on codebase', value: 'auto' },
344
+ { name: '🟢 Simple (few components, straightforward logic)', value: 'simple' },
345
+ { name: '🟡 Moderate (multiple modules, some complexity)', value: 'moderate' },
346
+ { name: '🔴 Complex (many modules, intricate architecture)', value: 'complex' }
347
+ ],
348
+ default: 'auto'
349
+ },
350
+ {
351
+ type: 'list',
352
+ name: 'teamSize',
353
+ message: 'What is your team size?',
354
+ choices: [
355
+ { name: '🤖 Auto-detect/assume medium team', value: 'auto' },
356
+ { name: '👤 Small team (1-3 people)', value: 'small' },
357
+ { name: '👥 Medium team (4-10 people)', value: 'medium' },
358
+ { name: '👨‍👩‍👧‍👦 Large team (10+ people)', value: 'large' }
359
+ ],
360
+ default: 'auto'
361
+ }
362
+ ]);
363
+ // Ask for additional features
364
+ const features = await inquirer_1.default.prompt([
365
+ {
366
+ type: 'confirm',
367
+ name: 'includeExamples',
368
+ message: 'Include code examples in guidelines?',
369
+ default: true
370
+ },
371
+ {
372
+ type: 'confirm',
373
+ name: 'includeTools',
374
+ message: 'Include tool recommendations in guidelines?',
375
+ default: true
167
376
  }
168
377
  ]);
169
- // Ask for LLM configuration
170
- const llmAnswers = await this.promptLLMConfiguration();
171
- // Ask for patterns
172
- const patternAnswers = await this.promptPatterns();
173
378
  return {
174
- ...initAnswers,
175
- ...llmAnswers,
176
- ...patternAnswers
379
+ guidelineCategories,
380
+ ...projectConfig,
381
+ ...features
177
382
  };
178
383
  }
179
384
  async promptLLMConfiguration() {
@@ -345,13 +550,41 @@ class InteractiveMode {
345
550
  }
346
551
  async executeCommand(answers) {
347
552
  const args = [];
348
- // Build command arguments
349
- args.push(answers.command);
553
+ // Build command arguments - map interactive commands to CLI commands
554
+ let cliCommand;
555
+ switch (answers.command) {
556
+ case 'generate-all':
557
+ cliCommand = 'init';
558
+ break;
559
+ case 'generate-docs':
560
+ cliCommand = 'init';
561
+ break;
562
+ case 'generate-agents':
563
+ cliCommand = 'init';
564
+ break;
565
+ case 'generate-guidelines':
566
+ cliCommand = 'guidelines';
567
+ break;
568
+ default:
569
+ cliCommand = answers.command;
570
+ }
571
+ args.push(cliCommand);
350
572
  if (answers.repoPath) {
351
573
  args.push(answers.repoPath);
352
574
  }
353
- if (answers.command === 'init' && answers.initType) {
354
- args.push(answers.initType);
575
+ // Add init type for generate commands
576
+ if (answers.command === 'generate-docs') {
577
+ args.push('docs');
578
+ }
579
+ else if (answers.command === 'generate-agents') {
580
+ args.push('agents');
581
+ }
582
+ else if (answers.command === 'generate-all') {
583
+ args.push('both');
584
+ }
585
+ // Add command-specific arguments
586
+ if (answers.command === 'generate-guidelines' && answers.guidelineCategories && answers.guidelineCategories.length > 0) {
587
+ args.push(...answers.guidelineCategories);
355
588
  }
356
589
  // Add options
357
590
  if (answers.outputDir) {
@@ -378,14 +611,64 @@ class InteractiveMode {
378
611
  args.push('--exclude', ...patterns);
379
612
  }
380
613
  }
614
+ // Add guidelines-specific options
615
+ if (answers.command === 'generate-guidelines') {
616
+ if (answers.projectType && answers.projectType !== 'auto') {
617
+ args.push('--project-type', answers.projectType);
618
+ }
619
+ if (answers.complexity && answers.complexity !== 'auto') {
620
+ args.push('--complexity', answers.complexity);
621
+ }
622
+ if (answers.teamSize && answers.teamSize !== 'auto') {
623
+ args.push('--team-size', answers.teamSize);
624
+ }
625
+ if (answers.includeExamples) {
626
+ args.push('--include-examples');
627
+ }
628
+ if (answers.includeTools) {
629
+ args.push('--include-tools');
630
+ }
631
+ }
632
+ // Add pricing options for analyze and preview commands
633
+ if ((answers.command === 'analyze' || answers.command === 'preview') && answers.usePricing) {
634
+ if (answers.inputPrice !== undefined) {
635
+ args.push('--input-price', answers.inputPrice.toString());
636
+ }
637
+ if (answers.outputPrice !== undefined) {
638
+ args.push('--output-price', answers.outputPrice.toString());
639
+ }
640
+ }
381
641
  // Show the command that will be executed
382
642
  console.log(chalk_1.default.gray('\n📋 Executing command:'));
383
643
  console.log(chalk_1.default.cyan(`ai-context ${args.join(' ')}\n`));
384
644
  // Import and execute the command
385
- const { runGenerate, runAnalyze, runUpdate, runPreview } = await Promise.resolve().then(() => __importStar(require('../index')));
645
+ const { runGenerate, runAnalyze, runUpdate, runPreview, runGuidelines } = await Promise.resolve().then(() => __importStar(require('../index')));
386
646
  try {
387
647
  switch (answers.command) {
388
- case 'init':
648
+ case 'generate-all':
649
+ await runGenerate(answers.repoPath, {
650
+ output: answers.outputDir,
651
+ provider: answers.provider,
652
+ model: answers.model,
653
+ apiKey: answers.apiKey,
654
+ include: answers.includePatterns?.split(',').map(p => p.trim()).filter(p => p),
655
+ exclude: answers.excludePatterns?.split(',').map(p => p.trim()).filter(p => p),
656
+ verbose: true // Enable verbose for interactive mode
657
+ });
658
+ break;
659
+ case 'generate-docs':
660
+ await runGenerate(answers.repoPath, {
661
+ output: answers.outputDir,
662
+ provider: answers.provider,
663
+ model: answers.model,
664
+ apiKey: answers.apiKey,
665
+ include: answers.includePatterns?.split(',').map(p => p.trim()).filter(p => p),
666
+ exclude: answers.excludePatterns?.split(',').map(p => p.trim()).filter(p => p),
667
+ docsOnly: true,
668
+ verbose: true // Enable verbose for interactive mode
669
+ });
670
+ break;
671
+ case 'generate-agents':
389
672
  await runGenerate(answers.repoPath, {
390
673
  output: answers.outputDir,
391
674
  provider: answers.provider,
@@ -393,14 +676,33 @@ class InteractiveMode {
393
676
  apiKey: answers.apiKey,
394
677
  include: answers.includePatterns?.split(',').map(p => p.trim()).filter(p => p),
395
678
  exclude: answers.excludePatterns?.split(',').map(p => p.trim()).filter(p => p),
396
- docsOnly: answers.initType === 'docs',
397
- agentsOnly: answers.initType === 'agents'
679
+ agentsOnly: true,
680
+ verbose: true // Enable verbose for interactive mode
681
+ });
682
+ break;
683
+ case 'generate-guidelines':
684
+ await runGuidelines(answers.repoPath, answers.guidelineCategories || [], {
685
+ output: answers.outputDir,
686
+ provider: answers.provider,
687
+ model: answers.model,
688
+ apiKey: answers.apiKey,
689
+ projectType: answers.projectType !== 'auto' ? answers.projectType : undefined,
690
+ complexity: answers.complexity !== 'auto' ? answers.complexity : undefined,
691
+ teamSize: answers.teamSize !== 'auto' ? answers.teamSize : undefined,
692
+ includeExamples: answers.includeExamples,
693
+ includeTools: answers.includeTools,
694
+ include: answers.includePatterns?.split(',').map(p => p.trim()).filter(p => p),
695
+ exclude: answers.excludePatterns?.split(',').map(p => p.trim()).filter(p => p),
696
+ verbose: true // Enable verbose for interactive mode
398
697
  });
399
698
  break;
400
699
  case 'analyze':
401
700
  await runAnalyze(answers.repoPath, {
402
701
  include: answers.includePatterns?.split(',').map(p => p.trim()).filter(p => p),
403
- exclude: answers.excludePatterns?.split(',').map(p => p.trim()).filter(p => p)
702
+ exclude: answers.excludePatterns?.split(',').map(p => p.trim()).filter(p => p),
703
+ inputPrice: answers.inputPrice,
704
+ outputPrice: answers.outputPrice,
705
+ verbose: true // Enable verbose for interactive mode
404
706
  });
405
707
  break;
406
708
  case 'update':
@@ -417,7 +719,10 @@ class InteractiveMode {
417
719
  await runPreview(answers.repoPath, {
418
720
  output: answers.outputDir,
419
721
  include: answers.includePatterns?.split(',').map(p => p.trim()).filter(p => p),
420
- exclude: answers.excludePatterns?.split(',').map(p => p.trim()).filter(p => p)
722
+ exclude: answers.excludePatterns?.split(',').map(p => p.trim()).filter(p => p),
723
+ inputPrice: answers.inputPrice,
724
+ outputPrice: answers.outputPrice,
725
+ verbose: true // Enable verbose for interactive mode
421
726
  });
422
727
  break;
423
728
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interactiveMode.js","sourceRoot":"","sources":["../../src/utils/interactiveMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactiveMode.js","sourceRoot":"","sources":["../../src/utils/interactiveMode.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,24 @@
1
1
  import { RepoStructure } from '../types';
2
2
  import { FileMapper } from './fileMapper';
3
+ export interface ModelPricing {
4
+ input: number;
5
+ output: number;
6
+ }
3
7
  export interface TokenEstimate {
4
8
  totalFiles: number;
5
9
  estimatedInputTokens: number;
6
10
  estimatedOutputTokens: number;
7
11
  estimatedTotalTokens: number;
8
- costEstimates: {
9
- [modelKey: string]: {
10
- provider: string;
11
- modelName: string;
12
- inputCost: number;
13
- outputCost: number;
14
- totalCost: number;
15
- };
12
+ costEstimates?: {
13
+ inputCost: number;
14
+ outputCost: number;
15
+ totalCost: number;
16
16
  };
17
17
  }
18
18
  export declare class TokenEstimator {
19
19
  private fileMapper;
20
- constructor(fileMapper: FileMapper);
20
+ private pricing?;
21
+ constructor(fileMapper: FileMapper, pricing?: ModelPricing | undefined);
21
22
  estimateTokensForFullGeneration(repoStructure: RepoStructure): Promise<TokenEstimate>;
22
23
  private selectSampleFiles;
23
24
  private estimateTokensFromText;