@ai-coders/context 0.1.0 → 0.3.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 (234) hide show
  1. package/README.md +113 -580
  2. package/dist/generators/agents/agentConfig.d.ts +4 -0
  3. package/dist/generators/agents/agentConfig.d.ts.map +1 -0
  4. package/dist/generators/agents/agentConfig.js +138 -0
  5. package/dist/generators/agents/agentConfig.js.map +1 -0
  6. package/dist/generators/agents/agentGenerator.d.ts +10 -0
  7. package/dist/generators/agents/agentGenerator.d.ts.map +1 -0
  8. package/dist/generators/agents/agentGenerator.js +137 -0
  9. package/dist/generators/agents/agentGenerator.js.map +1 -0
  10. package/dist/generators/agents/agentTypes.d.ts +4 -0
  11. package/dist/generators/agents/agentTypes.d.ts.map +1 -0
  12. package/dist/generators/agents/agentTypes.js +22 -0
  13. package/dist/generators/agents/agentTypes.js.map +1 -0
  14. package/dist/generators/agents/contextUtils.d.ts +8 -0
  15. package/dist/generators/agents/contextUtils.d.ts.map +1 -0
  16. package/dist/generators/agents/contextUtils.js +15 -0
  17. package/dist/generators/agents/contextUtils.js.map +1 -0
  18. package/dist/generators/agents/index.d.ts +4 -0
  19. package/dist/generators/agents/index.d.ts.map +1 -0
  20. package/dist/generators/agents/index.js +12 -0
  21. package/dist/generators/agents/index.js.map +1 -0
  22. package/dist/generators/agents/promptFormatter.d.ts +9 -0
  23. package/dist/generators/agents/promptFormatter.d.ts.map +1 -0
  24. package/dist/generators/agents/promptFormatter.js +84 -0
  25. package/dist/generators/agents/promptFormatter.js.map +1 -0
  26. package/dist/generators/agents/templates/index.d.ts +4 -0
  27. package/dist/generators/agents/templates/index.d.ts.map +1 -0
  28. package/dist/generators/agents/templates/index.js +8 -0
  29. package/dist/generators/agents/templates/index.js.map +1 -0
  30. package/dist/generators/agents/templates/indexTemplate.d.ts +3 -0
  31. package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -0
  32. package/dist/generators/agents/templates/indexTemplate.js +35 -0
  33. package/dist/generators/agents/templates/indexTemplate.js.map +1 -0
  34. package/dist/generators/agents/templates/playbookTemplate.d.ts +4 -0
  35. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -0
  36. package/dist/generators/agents/templates/playbookTemplate.js +63 -0
  37. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -0
  38. package/dist/generators/agents/templates/types.d.ts +14 -0
  39. package/dist/generators/agents/templates/types.d.ts.map +1 -0
  40. package/dist/generators/agents/templates/types.js +3 -0
  41. package/dist/generators/agents/templates/types.js.map +1 -0
  42. package/dist/generators/analyzers/codebaseAnalyzer.d.ts +45 -0
  43. package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +1 -0
  44. package/dist/generators/analyzers/codebaseAnalyzer.js +293 -0
  45. package/dist/generators/analyzers/codebaseAnalyzer.js.map +1 -0
  46. package/dist/generators/analyzers/index.d.ts +3 -0
  47. package/dist/generators/analyzers/index.d.ts.map +1 -0
  48. package/dist/generators/analyzers/index.js +6 -0
  49. package/dist/generators/analyzers/index.js.map +1 -0
  50. package/dist/generators/documentation/documentationGenerator.d.ts +13 -0
  51. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -0
  52. package/dist/generators/documentation/documentationGenerator.js +115 -0
  53. package/dist/generators/documentation/documentationGenerator.js.map +1 -0
  54. package/dist/generators/documentation/documentationTemplates.d.ts +21 -0
  55. package/dist/generators/documentation/documentationTemplates.d.ts.map +1 -0
  56. package/dist/generators/documentation/documentationTemplates.js +359 -0
  57. package/dist/generators/documentation/documentationTemplates.js.map +1 -0
  58. package/dist/generators/documentation/documentationTypes.d.ts +11 -0
  59. package/dist/generators/documentation/documentationTypes.d.ts.map +1 -0
  60. package/dist/generators/documentation/documentationTypes.js +22 -0
  61. package/dist/generators/documentation/documentationTypes.js.map +1 -0
  62. package/dist/generators/documentation/documentationUtils.d.ts +7 -0
  63. package/dist/generators/documentation/documentationUtils.d.ts.map +1 -0
  64. package/dist/generators/documentation/documentationUtils.js +28 -0
  65. package/dist/generators/documentation/documentationUtils.js.map +1 -0
  66. package/dist/generators/documentation/guideRegistry.d.ts +6 -0
  67. package/dist/generators/documentation/guideRegistry.d.ts.map +1 -0
  68. package/dist/generators/documentation/guideRegistry.js +82 -0
  69. package/dist/generators/documentation/guideRegistry.js.map +1 -0
  70. package/dist/generators/{incrementalDocumentationGenerator.d.ts → documentation/incrementalDocumentationGenerator.d.ts} +4 -4
  71. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +1 -0
  72. package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +1 -0
  73. package/dist/generators/documentation/index.d.ts +2 -0
  74. package/dist/generators/documentation/index.d.ts.map +1 -0
  75. package/dist/generators/documentation/index.js +6 -0
  76. package/dist/generators/documentation/index.js.map +1 -0
  77. package/dist/generators/documentation/templates/architectureTemplate.d.ts +3 -0
  78. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -0
  79. package/dist/generators/documentation/templates/architectureTemplate.js +66 -0
  80. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -0
  81. package/dist/generators/documentation/templates/common.d.ts +7 -0
  82. package/dist/generators/documentation/templates/common.d.ts.map +1 -0
  83. package/dist/generators/documentation/templates/common.js +58 -0
  84. package/dist/generators/documentation/templates/common.js.map +1 -0
  85. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts +3 -0
  86. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -0
  87. package/dist/generators/documentation/templates/dataFlowTemplate.js +55 -0
  88. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -0
  89. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts +2 -0
  90. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -0
  91. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +59 -0
  92. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -0
  93. package/dist/generators/documentation/templates/frontMatter.d.ts +11 -0
  94. package/dist/generators/documentation/templates/frontMatter.d.ts.map +1 -0
  95. package/dist/generators/documentation/templates/frontMatter.js +29 -0
  96. package/dist/generators/documentation/templates/frontMatter.js.map +1 -0
  97. package/dist/generators/documentation/templates/glossaryTemplate.d.ts +3 -0
  98. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -0
  99. package/dist/generators/documentation/templates/glossaryTemplate.js +55 -0
  100. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -0
  101. package/dist/generators/documentation/templates/index.d.ts +11 -0
  102. package/dist/generators/documentation/templates/index.d.ts.map +1 -0
  103. package/dist/generators/documentation/templates/index.js +22 -0
  104. package/dist/generators/documentation/templates/index.js.map +1 -0
  105. package/dist/generators/documentation/templates/indexTemplate.d.ts +3 -0
  106. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -0
  107. package/dist/generators/documentation/templates/indexTemplate.js +56 -0
  108. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -0
  109. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts +3 -0
  110. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -0
  111. package/dist/generators/documentation/templates/projectOverviewTemplate.js +68 -0
  112. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -0
  113. package/dist/generators/documentation/templates/securityTemplate.d.ts +2 -0
  114. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -0
  115. package/dist/generators/documentation/templates/securityTemplate.js +53 -0
  116. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -0
  117. package/dist/generators/documentation/templates/testingTemplate.d.ts +2 -0
  118. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -0
  119. package/dist/generators/documentation/templates/testingTemplate.js +59 -0
  120. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -0
  121. package/dist/generators/documentation/templates/toolingTemplate.d.ts +2 -0
  122. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -0
  123. package/dist/generators/documentation/templates/toolingTemplate.js +56 -0
  124. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -0
  125. package/dist/generators/documentation/templates/types.d.ts +23 -0
  126. package/dist/generators/documentation/templates/types.d.ts.map +1 -0
  127. package/dist/generators/documentation/templates/types.js +3 -0
  128. package/dist/generators/documentation/templates/types.js.map +1 -0
  129. package/dist/generators/documentation/templates.d.ts +31 -0
  130. package/dist/generators/documentation/templates.d.ts.map +1 -0
  131. package/dist/generators/documentation/templates.js +566 -0
  132. package/dist/generators/documentation/templates.js.map +1 -0
  133. package/dist/generators/guidelines/agentIntegration.d.ts +43 -0
  134. package/dist/generators/guidelines/agentIntegration.d.ts.map +1 -0
  135. package/dist/generators/guidelines/agentIntegration.js +157 -0
  136. package/dist/generators/guidelines/agentIntegration.js.map +1 -0
  137. package/dist/generators/guidelines/guidelineTypes.d.ts +40 -0
  138. package/dist/generators/guidelines/guidelineTypes.d.ts.map +1 -0
  139. package/dist/generators/guidelines/guidelineTypes.js +144 -0
  140. package/dist/generators/guidelines/guidelineTypes.js.map +1 -0
  141. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +30 -0
  142. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +1 -0
  143. package/dist/generators/guidelines/guidelinesAnalyzer.js +263 -0
  144. package/dist/generators/guidelines/guidelinesAnalyzer.js.map +1 -0
  145. package/dist/generators/guidelines/guidelinesGenerator.d.ts +30 -0
  146. package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +1 -0
  147. package/dist/generators/guidelines/guidelinesGenerator.js +249 -0
  148. package/dist/generators/guidelines/guidelinesGenerator.js.map +1 -0
  149. package/dist/generators/guidelines/guidelinesTemplates.d.ts +23 -0
  150. package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +1 -0
  151. package/dist/generators/guidelines/guidelinesTemplates.js +304 -0
  152. package/dist/generators/guidelines/guidelinesTemplates.js.map +1 -0
  153. package/dist/generators/guidelines/index.d.ts +6 -0
  154. package/dist/generators/guidelines/index.d.ts.map +1 -0
  155. package/dist/generators/guidelines/index.js +16 -0
  156. package/dist/generators/guidelines/index.js.map +1 -0
  157. package/dist/generators/moduleGrouper.d.ts +14 -0
  158. package/dist/generators/moduleGrouper.d.ts.map +1 -0
  159. package/dist/generators/moduleGrouper.js +82 -0
  160. package/dist/generators/moduleGrouper.js.map +1 -0
  161. package/dist/generators/plans/index.d.ts +2 -0
  162. package/dist/generators/plans/index.d.ts.map +1 -0
  163. package/dist/generators/plans/index.js +6 -0
  164. package/dist/generators/plans/index.js.map +1 -0
  165. package/dist/generators/plans/planGenerator.d.ts +22 -0
  166. package/dist/generators/plans/planGenerator.d.ts.map +1 -0
  167. package/dist/generators/plans/planGenerator.js +109 -0
  168. package/dist/generators/plans/planGenerator.js.map +1 -0
  169. package/dist/generators/plans/templates/indexTemplate.d.ts +3 -0
  170. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -0
  171. package/dist/generators/plans/templates/indexTemplate.js +36 -0
  172. package/dist/generators/plans/templates/indexTemplate.js.map +1 -0
  173. package/dist/generators/plans/templates/planTemplate.d.ts +3 -0
  174. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -0
  175. package/dist/generators/plans/templates/planTemplate.js +83 -0
  176. package/dist/generators/plans/templates/planTemplate.js.map +1 -0
  177. package/dist/generators/plans/templates/types.d.ts +19 -0
  178. package/dist/generators/plans/templates/types.d.ts.map +1 -0
  179. package/dist/generators/plans/templates/types.js +3 -0
  180. package/dist/generators/plans/templates/types.js.map +1 -0
  181. package/dist/generators/projectAnalyzer.d.ts +14 -0
  182. package/dist/generators/projectAnalyzer.d.ts.map +1 -0
  183. package/dist/generators/projectAnalyzer.js +217 -0
  184. package/dist/generators/projectAnalyzer.js.map +1 -0
  185. package/dist/generators/shared/contextGenerator.d.ts +7 -0
  186. package/dist/generators/shared/contextGenerator.d.ts.map +1 -0
  187. package/dist/generators/shared/contextGenerator.js +13 -0
  188. package/dist/generators/shared/contextGenerator.js.map +1 -0
  189. package/dist/generators/shared/directoryTemplateHelpers.d.ts +2 -0
  190. package/dist/generators/shared/directoryTemplateHelpers.d.ts.map +1 -0
  191. package/dist/generators/shared/directoryTemplateHelpers.js +12 -0
  192. package/dist/generators/shared/directoryTemplateHelpers.js.map +1 -0
  193. package/dist/generators/shared/generatorUtils.d.ts +16 -0
  194. package/dist/generators/shared/generatorUtils.d.ts.map +1 -0
  195. package/dist/generators/shared/generatorUtils.js +119 -0
  196. package/dist/generators/shared/generatorUtils.js.map +1 -0
  197. package/dist/generators/shared/index.d.ts +4 -0
  198. package/dist/generators/shared/index.d.ts.map +1 -0
  199. package/dist/generators/shared/index.js +10 -0
  200. package/dist/generators/shared/index.js.map +1 -0
  201. package/dist/index.d.ts +6 -3
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +1327 -419
  204. package/dist/index.js.map +1 -1
  205. package/dist/utils/cliUI.d.ts +6 -4
  206. package/dist/utils/cliUI.d.ts.map +1 -1
  207. package/dist/utils/cliUI.js +71 -56
  208. package/dist/utils/cliUI.js.map +1 -1
  209. package/dist/utils/i18n.d.ts +181 -0
  210. package/dist/utils/i18n.d.ts.map +1 -0
  211. package/dist/utils/i18n.js +401 -0
  212. package/dist/utils/i18n.js.map +1 -0
  213. package/dist/utils/interactiveMode.d.ts +6 -1
  214. package/dist/utils/interactiveMode.d.ts.map +1 -1
  215. package/dist/utils/interactiveMode.js +375 -70
  216. package/dist/utils/interactiveMode.js.map +1 -1
  217. package/dist/utils/tokenEstimator.d.ts +10 -9
  218. package/dist/utils/tokenEstimator.d.ts.map +1 -1
  219. package/dist/utils/tokenEstimator.js +45 -109
  220. package/dist/utils/tokenEstimator.js.map +1 -1
  221. package/package.json +26 -23
  222. package/prompts/update_plan_prompt.md +42 -0
  223. package/prompts/update_scaffold_prompt.md +48 -0
  224. package/dist/generators/agentGenerator.d.ts +0 -23
  225. package/dist/generators/agentGenerator.d.ts.map +0 -1
  226. package/dist/generators/agentGenerator.js +0 -357
  227. package/dist/generators/agentGenerator.js.map +0 -1
  228. package/dist/generators/documentationGenerator.d.ts +0 -40
  229. package/dist/generators/documentationGenerator.d.ts.map +0 -1
  230. package/dist/generators/documentationGenerator.js +0 -786
  231. package/dist/generators/documentationGenerator.js.map +0 -1
  232. package/dist/generators/incrementalDocumentationGenerator.d.ts.map +0 -1
  233. package/dist/generators/incrementalDocumentationGenerator.js.map +0 -1
  234. /package/dist/generators/{incrementalDocumentationGenerator.js → documentation/incrementalDocumentationGenerator.js} +0 -0
@@ -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;