codingbuddy 2.1.0 → 2.2.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 (83) hide show
  1. package/dist/src/agent/agent-prompt.builder.js +6 -0
  2. package/dist/src/agent/agent-prompt.builder.js.map +1 -1
  3. package/dist/src/cli/cli.js +5 -0
  4. package/dist/src/cli/cli.js.map +1 -1
  5. package/dist/src/cli/cli.types.d.ts +1 -0
  6. package/dist/src/cli/init/init.command.js +29 -52
  7. package/dist/src/cli/init/init.command.js.map +1 -1
  8. package/dist/src/cli/init/init.wizard.d.ts +22 -0
  9. package/dist/src/cli/init/init.wizard.js +277 -0
  10. package/dist/src/cli/init/init.wizard.js.map +1 -0
  11. package/dist/src/cli/init/prompts/architecture-prompt.d.ts +16 -0
  12. package/dist/src/cli/init/prompts/architecture-prompt.js +66 -0
  13. package/dist/src/cli/init/prompts/architecture-prompt.js.map +1 -0
  14. package/dist/src/cli/init/prompts/basic-prompt.d.ts +13 -0
  15. package/dist/src/cli/init/prompts/basic-prompt.js +53 -0
  16. package/dist/src/cli/init/prompts/basic-prompt.js.map +1 -0
  17. package/dist/src/cli/init/prompts/conventions-prompt.d.ts +19 -0
  18. package/dist/src/cli/init/prompts/conventions-prompt.js +74 -0
  19. package/dist/src/cli/init/prompts/conventions-prompt.js.map +1 -0
  20. package/dist/src/cli/init/prompts/index.d.ts +10 -0
  21. package/dist/src/cli/init/prompts/index.js +27 -1
  22. package/dist/src/cli/init/prompts/index.js.map +1 -1
  23. package/dist/src/cli/init/prompts/language-prompt.d.ts +1 -1
  24. package/dist/src/cli/init/prompts/model-prompt.js +2 -2
  25. package/dist/src/cli/init/prompts/model-prompt.js.map +1 -1
  26. package/dist/src/cli/init/prompts/tech-stack-prompt.d.ts +22 -0
  27. package/dist/src/cli/init/prompts/tech-stack-prompt.js +68 -0
  28. package/dist/src/cli/init/prompts/tech-stack-prompt.js.map +1 -0
  29. package/dist/src/cli/init/prompts/test-strategy-prompt.d.ts +19 -0
  30. package/dist/src/cli/init/prompts/test-strategy-prompt.js +75 -0
  31. package/dist/src/cli/init/prompts/test-strategy-prompt.js.map +1 -0
  32. package/dist/src/cli/init/summary/index.d.ts +2 -0
  33. package/dist/src/cli/init/summary/index.js +9 -0
  34. package/dist/src/cli/init/summary/index.js.map +1 -0
  35. package/dist/src/cli/init/summary/summary.prompt.d.ts +7 -0
  36. package/dist/src/cli/init/summary/summary.prompt.js +22 -0
  37. package/dist/src/cli/init/summary/summary.prompt.js.map +1 -0
  38. package/dist/src/cli/init/summary/summary.renderer.d.ts +32 -0
  39. package/dist/src/cli/init/summary/summary.renderer.js +41 -0
  40. package/dist/src/cli/init/summary/summary.renderer.js.map +1 -0
  41. package/dist/src/cli/init/templates/config-renderer.d.ts +42 -0
  42. package/dist/src/cli/init/templates/config-renderer.js +247 -0
  43. package/dist/src/cli/init/templates/config-renderer.js.map +1 -0
  44. package/dist/src/cli/init/templates/index.d.ts +1 -0
  45. package/dist/src/cli/init/templates/index.js +5 -1
  46. package/dist/src/cli/init/templates/index.js.map +1 -1
  47. package/dist/src/cli/utils/console.js +26 -7
  48. package/dist/src/cli/utils/console.js.map +1 -1
  49. package/dist/src/config/config.loader.d.ts +1 -0
  50. package/dist/src/config/config.loader.js +23 -0
  51. package/dist/src/config/config.loader.js.map +1 -1
  52. package/dist/src/config/config.schema.d.ts +7 -0
  53. package/dist/src/config/config.schema.js +5 -1
  54. package/dist/src/config/config.schema.js.map +1 -1
  55. package/dist/src/config/config.service.d.ts +1 -0
  56. package/dist/src/config/config.service.js +26 -1
  57. package/dist/src/config/config.service.js.map +1 -1
  58. package/dist/src/keyword/auto-executor.d.ts +17 -0
  59. package/dist/src/keyword/auto-executor.js +95 -0
  60. package/dist/src/keyword/auto-executor.js.map +1 -0
  61. package/dist/src/keyword/auto-executor.types.d.ts +44 -0
  62. package/dist/src/keyword/auto-executor.types.js +7 -0
  63. package/dist/src/keyword/auto-executor.types.js.map +1 -0
  64. package/dist/src/keyword/auto-formatter.d.ts +8 -0
  65. package/dist/src/keyword/auto-formatter.js +79 -0
  66. package/dist/src/keyword/auto-formatter.js.map +1 -0
  67. package/dist/src/keyword/index.d.ts +9 -0
  68. package/dist/src/keyword/index.js +28 -0
  69. package/dist/src/keyword/index.js.map +1 -0
  70. package/dist/src/keyword/keyword.service.js +17 -0
  71. package/dist/src/keyword/keyword.service.js.map +1 -1
  72. package/dist/src/keyword/keyword.types.d.ts +11 -5
  73. package/dist/src/keyword/keyword.types.js +22 -9
  74. package/dist/src/keyword/keyword.types.js.map +1 -1
  75. package/dist/src/keyword/rule-filter.js +1 -0
  76. package/dist/src/keyword/rule-filter.js.map +1 -1
  77. package/dist/src/mcp/mcp-serverless.js +5 -0
  78. package/dist/src/mcp/mcp-serverless.js.map +1 -1
  79. package/dist/src/model/model.constants.js.map +1 -1
  80. package/dist/src/model/model.resolver.js +8 -0
  81. package/dist/src/model/model.resolver.js.map +1 -1
  82. package/dist/tsconfig.build.tsbuildinfo +1 -1
  83. package/package.json +2 -2
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderConfigObjectAsJs = renderConfigObjectAsJs;
4
+ exports.renderConfigObjectAsJson = renderConfigObjectAsJson;
5
+ exports.escapeJsString = escapeJsString;
6
+ function renderConfigObjectAsJs(config) {
7
+ const lines = [];
8
+ lines.push('/**');
9
+ lines.push(' * Codingbuddy Configuration');
10
+ lines.push(' *');
11
+ lines.push(' * Generated by `codingbuddy init`');
12
+ lines.push(' * @see https://github.com/anthropics/codingbuddy');
13
+ lines.push(' */');
14
+ lines.push('');
15
+ lines.push('module.exports = {');
16
+ if (config.language) {
17
+ lines.push(` language: '${escapeJsString(config.language)}',`);
18
+ lines.push('');
19
+ }
20
+ if (config.projectName) {
21
+ lines.push(` projectName: '${escapeJsString(config.projectName)}',`);
22
+ }
23
+ if (config.description) {
24
+ lines.push(` description: '${escapeJsString(config.description)}',`);
25
+ }
26
+ if (config.projectName || config.description) {
27
+ lines.push('');
28
+ }
29
+ if (config.techStack && hasNonEmptyArrays(config.techStack)) {
30
+ lines.push(' techStack: {');
31
+ lines.push(...renderTechStack(config.techStack));
32
+ lines.push(' },');
33
+ lines.push('');
34
+ }
35
+ if (config.architecture && hasProperties(config.architecture)) {
36
+ lines.push(' architecture: {');
37
+ lines.push(...renderArchitecture(config.architecture));
38
+ lines.push(' },');
39
+ lines.push('');
40
+ }
41
+ if (config.conventions && hasProperties(config.conventions)) {
42
+ lines.push(' conventions: {');
43
+ lines.push(...renderConventions(config.conventions));
44
+ lines.push(' },');
45
+ lines.push('');
46
+ }
47
+ if (config.testStrategy && hasProperties(config.testStrategy)) {
48
+ lines.push(' testStrategy: {');
49
+ lines.push(...renderTestStrategy(config.testStrategy));
50
+ lines.push(' },');
51
+ lines.push('');
52
+ }
53
+ if (config.ai && hasProperties(config.ai)) {
54
+ lines.push(' ai: {');
55
+ if (config.ai.defaultModel) {
56
+ lines.push(` defaultModel: '${escapeJsString(config.ai.defaultModel)}',`);
57
+ }
58
+ if (config.ai.primaryAgent) {
59
+ lines.push(` primaryAgent: '${escapeJsString(config.ai.primaryAgent)}',`);
60
+ }
61
+ lines.push(' },');
62
+ }
63
+ lines.push('};');
64
+ return lines.join('\n');
65
+ }
66
+ function renderConfigObjectAsJson(config) {
67
+ const cleanedConfig = cleanConfig(config);
68
+ return JSON.stringify(cleanedConfig, null, 2);
69
+ }
70
+ function cleanConfig(config) {
71
+ const result = {};
72
+ if (config.language)
73
+ result.language = config.language;
74
+ if (config.projectName)
75
+ result.projectName = config.projectName;
76
+ if (config.description)
77
+ result.description = config.description;
78
+ if (config.techStack) {
79
+ const techStack = {};
80
+ if (config.techStack.languages?.length)
81
+ techStack.languages = config.techStack.languages;
82
+ if (config.techStack.frontend?.length)
83
+ techStack.frontend = config.techStack.frontend;
84
+ if (config.techStack.backend?.length)
85
+ techStack.backend = config.techStack.backend;
86
+ if (config.techStack.database?.length)
87
+ techStack.database = config.techStack.database;
88
+ if (config.techStack.infrastructure?.length)
89
+ techStack.infrastructure = config.techStack.infrastructure;
90
+ if (config.techStack.tools?.length)
91
+ techStack.tools = config.techStack.tools;
92
+ if (hasProperties(techStack))
93
+ result.techStack = techStack;
94
+ }
95
+ if (config.architecture) {
96
+ const arch = {};
97
+ if (config.architecture.pattern)
98
+ arch.pattern = config.architecture.pattern;
99
+ if (config.architecture.componentStyle)
100
+ arch.componentStyle = config.architecture.componentStyle;
101
+ if (config.architecture.structure?.length)
102
+ arch.structure = config.architecture.structure;
103
+ if (hasProperties(arch))
104
+ result.architecture = arch;
105
+ }
106
+ if (config.conventions) {
107
+ const conv = {};
108
+ if (config.conventions.naming && hasProperties(config.conventions.naming)) {
109
+ conv.naming = {};
110
+ if (config.conventions.naming.files)
111
+ conv.naming.files = config.conventions.naming.files;
112
+ if (config.conventions.naming.components)
113
+ conv.naming.components = config.conventions.naming.components;
114
+ if (config.conventions.naming.functions)
115
+ conv.naming.functions = config.conventions.naming.functions;
116
+ if (config.conventions.naming.variables)
117
+ conv.naming.variables = config.conventions.naming.variables;
118
+ }
119
+ if (config.conventions.quotes)
120
+ conv.quotes = config.conventions.quotes;
121
+ if (config.conventions.semicolons !== undefined)
122
+ conv.semicolons = config.conventions.semicolons;
123
+ if (hasProperties(conv))
124
+ result.conventions = conv;
125
+ }
126
+ if (config.testStrategy) {
127
+ const test = {};
128
+ if (config.testStrategy.approach)
129
+ test.approach = config.testStrategy.approach;
130
+ if (config.testStrategy.coverage !== undefined)
131
+ test.coverage = config.testStrategy.coverage;
132
+ if (config.testStrategy.mockingStrategy)
133
+ test.mockingStrategy = config.testStrategy.mockingStrategy;
134
+ if (config.testStrategy.frameworks?.length)
135
+ test.frameworks = config.testStrategy.frameworks;
136
+ if (hasProperties(test))
137
+ result.testStrategy = test;
138
+ }
139
+ if (config.ai) {
140
+ const ai = {};
141
+ if (config.ai.defaultModel)
142
+ ai.defaultModel = config.ai.defaultModel;
143
+ if (config.ai.primaryAgent)
144
+ ai.primaryAgent = config.ai.primaryAgent;
145
+ if (hasProperties(ai))
146
+ result.ai = ai;
147
+ }
148
+ return result;
149
+ }
150
+ function hasNonEmptyArrays(obj) {
151
+ return Object.values(obj).some(v => Array.isArray(v) && v.length > 0);
152
+ }
153
+ function hasProperties(obj) {
154
+ return Object.values(obj).some(v => v !== undefined && v !== null);
155
+ }
156
+ function renderTechStack(techStack) {
157
+ const lines = [];
158
+ if (techStack.languages?.length) {
159
+ lines.push(` languages: [${formatStringArray(techStack.languages)}],`);
160
+ }
161
+ if (techStack.frontend?.length) {
162
+ lines.push(` frontend: [${formatStringArray(techStack.frontend)}],`);
163
+ }
164
+ if (techStack.backend?.length) {
165
+ lines.push(` backend: [${formatStringArray(techStack.backend)}],`);
166
+ }
167
+ if (techStack.database?.length) {
168
+ lines.push(` database: [${formatStringArray(techStack.database)}],`);
169
+ }
170
+ if (techStack.infrastructure?.length) {
171
+ lines.push(` infrastructure: [${formatStringArray(techStack.infrastructure)}],`);
172
+ }
173
+ if (techStack.tools?.length) {
174
+ lines.push(` tools: [${formatStringArray(techStack.tools)}],`);
175
+ }
176
+ return lines;
177
+ }
178
+ function renderArchitecture(arch) {
179
+ const lines = [];
180
+ if (arch.pattern) {
181
+ lines.push(` pattern: '${escapeJsString(arch.pattern)}',`);
182
+ }
183
+ if (arch.componentStyle) {
184
+ lines.push(` componentStyle: '${escapeJsString(arch.componentStyle)}',`);
185
+ }
186
+ if (arch.structure?.length) {
187
+ lines.push(` structure: [${formatStringArray(arch.structure)}],`);
188
+ }
189
+ return lines;
190
+ }
191
+ function renderConventions(conv) {
192
+ const lines = [];
193
+ if (conv.naming && hasProperties(conv.naming)) {
194
+ lines.push(' naming: {');
195
+ if (conv.naming.files) {
196
+ lines.push(` files: '${escapeJsString(conv.naming.files)}',`);
197
+ }
198
+ if (conv.naming.components) {
199
+ lines.push(` components: '${escapeJsString(conv.naming.components)}',`);
200
+ }
201
+ if (conv.naming.functions) {
202
+ lines.push(` functions: '${escapeJsString(conv.naming.functions)}',`);
203
+ }
204
+ if (conv.naming.variables) {
205
+ lines.push(` variables: '${escapeJsString(conv.naming.variables)}',`);
206
+ }
207
+ lines.push(' },');
208
+ }
209
+ if (conv.quotes) {
210
+ lines.push(` quotes: '${escapeJsString(conv.quotes)}',`);
211
+ }
212
+ if (conv.semicolons !== undefined) {
213
+ lines.push(` semicolons: ${conv.semicolons},`);
214
+ }
215
+ return lines;
216
+ }
217
+ function renderTestStrategy(test) {
218
+ const lines = [];
219
+ if (test.approach) {
220
+ lines.push(` approach: '${escapeJsString(test.approach)}',`);
221
+ }
222
+ if (test.coverage !== undefined) {
223
+ lines.push(` coverage: ${test.coverage},`);
224
+ }
225
+ if (test.mockingStrategy) {
226
+ lines.push(` mockingStrategy: '${escapeJsString(test.mockingStrategy)}',`);
227
+ }
228
+ if (test.frameworks?.length) {
229
+ lines.push(` frameworks: [${formatStringArray(test.frameworks)}],`);
230
+ }
231
+ return lines;
232
+ }
233
+ function escapeJsString(str) {
234
+ return (str
235
+ .replace(/\\/g, '\\\\')
236
+ .replace(/'/g, "\\'")
237
+ .replace(/\n/g, '\\n')
238
+ .replace(/\r/g, '\\r')
239
+ .replace(/\t/g, '\\t')
240
+ .replace(/\x00/g, '\\x00')
241
+ .replace(/\u2028/g, '\\u2028')
242
+ .replace(/\u2029/g, '\\u2029'));
243
+ }
244
+ function formatStringArray(arr) {
245
+ return arr.map(s => `'${escapeJsString(s)}'`).join(', ');
246
+ }
247
+ //# sourceMappingURL=config-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-renderer.js","sourceRoot":"","sources":["../../../../../src/cli/init/templates/config-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export type { FrameworkType, TemplateMetadata, ConfigTemplate, ConfigComments, TemplateSelectionResult, TemplateRenderOptions, } from './template.types';
2
2
  export { selectTemplate, getTemplateById, getAllTemplates, } from './template.selector';
3
3
  export { renderConfigAsJs, renderConfigAsJson } from './template.renderer';
4
+ export { renderConfigObjectAsJs, renderConfigObjectAsJson, escapeJsString, } from './config-renderer';
4
5
  export { TEMPLATES } from './frameworks';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEMPLATES = exports.renderConfigAsJson = exports.renderConfigAsJs = exports.getAllTemplates = exports.getTemplateById = exports.selectTemplate = void 0;
3
+ exports.TEMPLATES = exports.escapeJsString = exports.renderConfigObjectAsJson = exports.renderConfigObjectAsJs = exports.renderConfigAsJson = exports.renderConfigAsJs = exports.getAllTemplates = exports.getTemplateById = exports.selectTemplate = void 0;
4
4
  var template_selector_1 = require("./template.selector");
5
5
  Object.defineProperty(exports, "selectTemplate", { enumerable: true, get: function () { return template_selector_1.selectTemplate; } });
6
6
  Object.defineProperty(exports, "getTemplateById", { enumerable: true, get: function () { return template_selector_1.getTemplateById; } });
@@ -8,6 +8,10 @@ Object.defineProperty(exports, "getAllTemplates", { enumerable: true, get: funct
8
8
  var template_renderer_1 = require("./template.renderer");
9
9
  Object.defineProperty(exports, "renderConfigAsJs", { enumerable: true, get: function () { return template_renderer_1.renderConfigAsJs; } });
10
10
  Object.defineProperty(exports, "renderConfigAsJson", { enumerable: true, get: function () { return template_renderer_1.renderConfigAsJson; } });
11
+ var config_renderer_1 = require("./config-renderer");
12
+ Object.defineProperty(exports, "renderConfigObjectAsJs", { enumerable: true, get: function () { return config_renderer_1.renderConfigObjectAsJs; } });
13
+ Object.defineProperty(exports, "renderConfigObjectAsJson", { enumerable: true, get: function () { return config_renderer_1.renderConfigObjectAsJson; } });
14
+ Object.defineProperty(exports, "escapeJsString", { enumerable: true, get: function () { return config_renderer_1.escapeJsString; } });
11
15
  var frameworks_1 = require("./frameworks");
12
16
  Object.defineProperty(exports, "TEMPLATES", { enumerable: true, get: function () { return frameworks_1.TEMPLATES; } });
13
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/init/templates/index.ts"],"names":[],"mappings":";;;AAiBA,yDAI6B;AAH3B,mHAAA,cAAc,OAAA;AACd,oHAAA,eAAe,OAAA;AACf,oHAAA,eAAe,OAAA;AAIjB,yDAA2E;AAAlE,qHAAA,gBAAgB,OAAA;AAAE,uHAAA,kBAAkB,OAAA;AAG7C,2CAAyC;AAAhC,uGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/init/templates/index.ts"],"names":[],"mappings":";;;AAiBA,yDAI6B;AAH3B,mHAAA,cAAc,OAAA;AACd,oHAAA,eAAe,OAAA;AACf,oHAAA,eAAe,OAAA;AAIjB,yDAA2E;AAAlE,qHAAA,gBAAgB,OAAA;AAAE,uHAAA,kBAAkB,OAAA;AAG7C,qDAI2B;AAHzB,yHAAA,sBAAsB,OAAA;AACtB,2HAAA,wBAAwB,OAAA;AACxB,iHAAA,cAAc,OAAA;AAIhB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA"}
@@ -2,14 +2,33 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.consoleUtils = void 0;
4
4
  exports.createConsoleUtils = createConsoleUtils;
5
- const colors = {
6
- reset: '\x1b[0m',
7
- green: '\x1b[32m',
8
- yellow: '\x1b[33m',
9
- red: '\x1b[31m',
10
- cyan: '\x1b[36m',
11
- };
5
+ function shouldDisableColors() {
6
+ const forceColor = process.env.FORCE_COLOR;
7
+ if (forceColor !== undefined) {
8
+ return forceColor === '0';
9
+ }
10
+ return process.env.NO_COLOR !== undefined;
11
+ }
12
+ function getColors() {
13
+ if (shouldDisableColors()) {
14
+ return {
15
+ reset: '',
16
+ green: '',
17
+ yellow: '',
18
+ red: '',
19
+ cyan: '',
20
+ };
21
+ }
22
+ return {
23
+ reset: '\x1b[0m',
24
+ green: '\x1b[32m',
25
+ yellow: '\x1b[33m',
26
+ red: '\x1b[31m',
27
+ cyan: '\x1b[36m',
28
+ };
29
+ }
12
30
  function createConsoleUtils() {
31
+ const colors = getColors();
13
32
  const log = {
14
33
  info(message) {
15
34
  process.stdout.write(`${colors.cyan}ℹ${colors.reset} ${message}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../../src/cli/utils/console.ts"],"names":[],"mappings":";;;AAiCA,gDAwBC;AAnCD,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,UAAU;CACjB,CAAC;AAKF,SAAgB,kBAAkB;IAChC,MAAM,GAAG,GAAG;QACV,IAAI,CAAC,OAAe;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,OAAe;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,OAAe;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,OAAe;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,KAAa,EAAE,OAAe;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAKY,QAAA,YAAY,GAAG,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../../src/cli/utils/console.ts"],"names":[],"mappings":";;;AAoEA,gDA0BC;AAjED,SAAS,mBAAmB;IAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAG3C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAE7B,OAAO,UAAU,KAAK,GAAG,CAAC;IAC5B,CAAC;IAGD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC5C,CAAC;AAKD,SAAS,SAAS;IAChB,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,UAAU;KACjB,CAAC;AACJ,CAAC;AAKD,SAAgB,kBAAkB;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,GAAG,GAAG;QACV,IAAI,CAAC,OAAe;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,OAAe;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,OAAe;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,OAAe;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,KAAa,EAAE,OAAe;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAKY,QAAA,YAAY,GAAG,kBAAkB,EAAE,CAAC"}
@@ -11,6 +11,7 @@ export declare class ConfigLoadError extends Error {
11
11
  constructor(message: string, filePath: string, cause?: Error | undefined);
12
12
  }
13
13
  export declare function findConfigFile(projectRoot: string): string | null;
14
+ export declare function findProjectRoot(startDir?: string): string;
14
15
  export declare function loadJsConfig(filePath: string): Promise<unknown>;
15
16
  export declare function loadJsonConfig(filePath: string): Promise<unknown>;
16
17
  export declare function loadConfigFromFile(filePath: string): Promise<unknown>;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigLoadError = exports.CONFIG_FILE_NAMES = void 0;
4
4
  exports.findConfigFile = findConfigFile;
5
+ exports.findProjectRoot = findProjectRoot;
5
6
  exports.loadJsConfig = loadJsConfig;
6
7
  exports.loadJsonConfig = loadJsonConfig;
7
8
  exports.loadConfigFromFile = loadConfigFromFile;
@@ -38,6 +39,28 @@ function findConfigFile(projectRoot) {
38
39
  }
39
40
  return null;
40
41
  }
42
+ const MAX_PARENT_TRAVERSAL = 10;
43
+ function findProjectRoot(startDir) {
44
+ const start = startDir ?? process.cwd();
45
+ let currentDir = path.resolve(start);
46
+ let traversalCount = 0;
47
+ while (traversalCount < MAX_PARENT_TRAVERSAL) {
48
+ if (findConfigFile(currentDir) !== null) {
49
+ return currentDir;
50
+ }
51
+ const packageJsonPath = path.join(currentDir, 'package.json');
52
+ if ((0, fs_1.existsSync)(packageJsonPath)) {
53
+ return currentDir;
54
+ }
55
+ const parentDir = path.dirname(currentDir);
56
+ if (parentDir === currentDir) {
57
+ break;
58
+ }
59
+ currentDir = parentDir;
60
+ traversalCount++;
61
+ }
62
+ return start;
63
+ }
41
64
  async function loadJsConfig(filePath) {
42
65
  try {
43
66
  const fileUrl = (0, url_1.pathToFileURL)(filePath).href;
@@ -1 +1 @@
1
- {"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../../src/config/config.loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../../src/config/config.loader.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,9 @@ export declare const AIConfigSchema: z.ZodObject<{
135
135
  defaultModel: z.ZodOptional<z.ZodString>;
136
136
  primaryAgent: z.ZodOptional<z.ZodString>;
137
137
  }, z.core.$strip>;
138
+ export declare const AutoConfigSchema: z.ZodObject<{
139
+ maxIterations: z.ZodDefault<z.ZodNumber>;
140
+ }, z.core.$strip>;
138
141
  export declare const CodingBuddyConfigSchema: z.ZodObject<{
139
142
  language: z.ZodOptional<z.ZodString>;
140
143
  projectName: z.ZodOptional<z.ZodString>;
@@ -234,6 +237,9 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
234
237
  defaultModel: z.ZodOptional<z.ZodString>;
235
238
  primaryAgent: z.ZodOptional<z.ZodString>;
236
239
  }, z.core.$strip>>;
240
+ auto: z.ZodOptional<z.ZodObject<{
241
+ maxIterations: z.ZodDefault<z.ZodNumber>;
242
+ }, z.core.$strip>>;
237
243
  keyFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
238
244
  avoid: z.ZodOptional<z.ZodArray<z.ZodString>>;
239
245
  custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -246,6 +252,7 @@ export type ArchitectureConfig = z.infer<typeof ArchitectureConfigSchema>;
246
252
  export type ConventionsConfig = z.infer<typeof ConventionsConfigSchema>;
247
253
  export type TestStrategyConfig = z.infer<typeof TestStrategyConfigSchema>;
248
254
  export type AIConfig = z.infer<typeof AIConfigSchema>;
255
+ export type AutoConfig = z.infer<typeof AutoConfigSchema>;
249
256
  export type CodingBuddyConfig = z.infer<typeof CodingBuddyConfigSchema>;
250
257
  export interface ValidationResult {
251
258
  success: boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CodingBuddyConfigSchema = exports.AIConfigSchema = exports.TestStrategyConfigSchema = exports.ConventionsConfigSchema = exports.ArchitectureConfigSchema = exports.TechStackConfigSchema = exports.NamingConventionSchema = exports.ArchitectureLayerSchema = exports.TechDetailSchema = void 0;
3
+ exports.CodingBuddyConfigSchema = exports.AutoConfigSchema = exports.AIConfigSchema = exports.TestStrategyConfigSchema = exports.ConventionsConfigSchema = exports.ArchitectureConfigSchema = exports.TechStackConfigSchema = exports.NamingConventionSchema = exports.ArchitectureLayerSchema = exports.TechDetailSchema = void 0;
4
4
  exports.validateConfig = validateConfig;
5
5
  exports.parseConfig = parseConfig;
6
6
  exports.isCodingBuddyConfig = isCodingBuddyConfig;
@@ -63,6 +63,9 @@ exports.AIConfigSchema = zod_1.z.object({
63
63
  defaultModel: zod_1.z.string().optional(),
64
64
  primaryAgent: zod_1.z.string().optional(),
65
65
  });
66
+ exports.AutoConfigSchema = zod_1.z.object({
67
+ maxIterations: zod_1.z.number().int().min(1).max(10).default(3),
68
+ });
66
69
  exports.CodingBuddyConfigSchema = zod_1.z.object({
67
70
  language: zod_1.z.string().optional(),
68
71
  projectName: zod_1.z.string().optional(),
@@ -73,6 +76,7 @@ exports.CodingBuddyConfigSchema = zod_1.z.object({
73
76
  conventions: exports.ConventionsConfigSchema.optional(),
74
77
  testStrategy: exports.TestStrategyConfigSchema.optional(),
75
78
  ai: exports.AIConfigSchema.optional(),
79
+ auto: exports.AutoConfigSchema.optional(),
76
80
  keyFiles: zod_1.z.array(zod_1.z.string()).optional(),
77
81
  avoid: zod_1.z.array(zod_1.z.string()).optional(),
78
82
  custom: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../../src/config/config.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../../src/config/config.schema.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare class ConfigService implements OnModuleInit {
17
17
  private projectConfig;
18
18
  private isLoaded;
19
19
  constructor();
20
+ private resolveProjectRoot;
20
21
  onModuleInit(): Promise<void>;
21
22
  setProjectRoot(root: string): void;
22
23
  getProjectRoot(): string;
@@ -12,6 +12,8 @@ var ConfigService_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.ConfigService = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
+ const fs_1 = require("fs");
16
+ const path = require("path");
15
17
  const config_loader_1 = require("./config.loader");
16
18
  const ignore_parser_1 = require("./ignore.parser");
17
19
  const context_loader_1 = require("./context.loader");
@@ -20,7 +22,30 @@ let ConfigService = ConfigService_1 = class ConfigService {
20
22
  this.logger = new common_1.Logger(ConfigService_1.name);
21
23
  this.projectConfig = null;
22
24
  this.isLoaded = false;
23
- this.projectRoot = process.env.CODINGBUDDY_PROJECT_ROOT ?? process.cwd();
25
+ this.projectRoot = this.resolveProjectRoot();
26
+ }
27
+ resolveProjectRoot() {
28
+ const envRoot = process.env.CODINGBUDDY_PROJECT_ROOT;
29
+ if (envRoot) {
30
+ const normalizedPath = path.resolve(envRoot);
31
+ if ((0, fs_1.existsSync)(normalizedPath)) {
32
+ try {
33
+ const stat = (0, fs_1.statSync)(normalizedPath);
34
+ if (stat.isDirectory()) {
35
+ this.logger.log(`Using project root from CODINGBUDDY_PROJECT_ROOT: ${normalizedPath}`);
36
+ return normalizedPath;
37
+ }
38
+ this.logger.warn(`CODINGBUDDY_PROJECT_ROOT is not a directory: ${normalizedPath}, falling back to auto-detect`);
39
+ }
40
+ catch {
41
+ this.logger.warn(`Failed to stat CODINGBUDDY_PROJECT_ROOT: ${normalizedPath}, falling back to auto-detect`);
42
+ }
43
+ }
44
+ else {
45
+ this.logger.warn(`CODINGBUDDY_PROJECT_ROOT path does not exist: ${normalizedPath}, falling back to auto-detect`);
46
+ }
47
+ }
48
+ return (0, config_loader_1.findProjectRoot)();
24
49
  }
25
50
  async onModuleInit() {
26
51
  await this.loadProjectConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/config/config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/config/config.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { AutoExecutorOptions, AutoResult, EvalSummary, AutoProgressCallback } from './auto-executor.types';
2
+ import type { ParseModeResult } from './keyword.types';
3
+ export interface AutoExecutorDependencies {
4
+ parsePlan: (prompt: string) => Promise<ParseModeResult>;
5
+ parseAct: (prompt: string) => Promise<ParseModeResult>;
6
+ parseEval: (prompt: string) => Promise<ParseModeResult>;
7
+ extractEvalSummary: (evalResult: ParseModeResult) => EvalSummary;
8
+ }
9
+ export declare class AutoExecutor {
10
+ private readonly deps;
11
+ private readonly progressCallback?;
12
+ constructor(deps: AutoExecutorDependencies, progressCallback?: AutoProgressCallback | undefined);
13
+ execute(options: AutoExecutorOptions): Promise<AutoResult>;
14
+ isQualityAchieved(summary: EvalSummary): boolean;
15
+ private buildPrompt;
16
+ private buildFallbackPrompt;
17
+ }