codingbuddy 0.0.0-canary.20251219012535.c6f28a6 → 0.0.0-canary.20251219030126.ebde4da
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.
- package/README.md +132 -8
- package/dist/src/cli/cli.d.ts +10 -0
- package/dist/src/cli/cli.js +98 -0
- package/dist/src/cli/cli.js.map +1 -0
- package/dist/src/cli/cli.spec.d.ts +1 -0
- package/dist/src/cli/cli.spec.js +84 -0
- package/dist/src/cli/cli.spec.js.map +1 -0
- package/dist/src/cli/cli.types.d.ts +18 -0
- package/dist/src/cli/cli.types.js +3 -0
- package/dist/src/cli/cli.types.js.map +1 -0
- package/dist/src/cli/index.d.ts +6 -0
- package/dist/src/cli/index.js +15 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/init/config.generator.d.ts +16 -0
- package/dist/src/cli/init/config.generator.js +70 -0
- package/dist/src/cli/init/config.generator.js.map +1 -0
- package/dist/src/cli/init/config.generator.spec.d.ts +1 -0
- package/dist/src/cli/init/config.generator.spec.js +182 -0
- package/dist/src/cli/init/config.generator.spec.js.map +1 -0
- package/dist/src/cli/init/config.writer.d.ts +10 -0
- package/dist/src/cli/init/config.writer.js +40 -0
- package/dist/src/cli/init/config.writer.js.map +1 -0
- package/dist/src/cli/init/config.writer.spec.d.ts +1 -0
- package/dist/src/cli/init/config.writer.spec.js +112 -0
- package/dist/src/cli/init/config.writer.spec.js.map +1 -0
- package/dist/src/cli/init/index.d.ts +5 -0
- package/dist/src/cli/init/index.js +16 -0
- package/dist/src/cli/init/index.js.map +1 -0
- package/dist/src/cli/init/init.command.d.ts +3 -0
- package/dist/src/cli/init/init.command.js +80 -0
- package/dist/src/cli/init/init.command.js.map +1 -0
- package/dist/src/cli/init/init.command.spec.d.ts +1 -0
- package/dist/src/cli/init/init.command.spec.js +227 -0
- package/dist/src/cli/init/init.command.spec.js.map +1 -0
- package/dist/src/cli/init/prompt.builder.d.ts +7 -0
- package/dist/src/cli/init/prompt.builder.js +222 -0
- package/dist/src/cli/init/prompt.builder.js.map +1 -0
- package/dist/src/cli/init/prompt.builder.spec.d.ts +1 -0
- package/dist/src/cli/init/prompt.builder.spec.js +199 -0
- package/dist/src/cli/init/prompt.builder.spec.js.map +1 -0
- package/dist/src/cli/utils/console.d.ts +18 -0
- package/dist/src/cli/utils/console.js +83 -0
- package/dist/src/cli/utils/console.js.map +1 -0
- package/dist/src/cli/utils/console.spec.d.ts +1 -0
- package/dist/src/cli/utils/console.spec.js +100 -0
- package/dist/src/cli/utils/console.spec.js.map +1 -0
- package/dist/src/cli/utils/index.d.ts +2 -0
- package/dist/src/cli/utils/index.js +7 -0
- package/dist/src/cli/utils/index.js.map +1 -0
- package/dist/src/config/config.schema.d.ts +30 -30
- package/dist/src/main.js +0 -0
- package/dist/src/mcp/mcp.module.js +2 -1
- package/dist/src/mcp/mcp.module.js.map +1 -1
- package/dist/src/mcp/mcp.service.d.ts +10 -1
- package/dist/src/mcp/mcp.service.js +139 -64
- package/dist/src/mcp/mcp.service.js.map +1 -1
- package/dist/src/mcp/mcp.service.spec.d.ts +1 -0
- package/dist/src/mcp/mcp.service.spec.js +262 -0
- package/dist/src/mcp/mcp.service.spec.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -5
|
@@ -37,16 +37,16 @@ export declare const NamingConventionSchema: z.ZodObject<{
|
|
|
37
37
|
types: z.ZodOptional<z.ZodEnum<["PascalCase"]>>;
|
|
38
38
|
interfaces: z.ZodOptional<z.ZodEnum<["PascalCase", "IPascalCase"]>>;
|
|
39
39
|
}, "strip", z.ZodTypeAny, {
|
|
40
|
-
components?: "kebab-case" | "PascalCase";
|
|
41
40
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
41
|
+
components?: "kebab-case" | "PascalCase";
|
|
42
42
|
functions?: "camelCase" | "snake_case";
|
|
43
43
|
variables?: "camelCase" | "snake_case";
|
|
44
44
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
45
45
|
types?: "PascalCase";
|
|
46
46
|
interfaces?: "PascalCase" | "IPascalCase";
|
|
47
47
|
}, {
|
|
48
|
-
components?: "kebab-case" | "PascalCase";
|
|
49
48
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
49
|
+
components?: "kebab-case" | "PascalCase";
|
|
50
50
|
functions?: "camelCase" | "snake_case";
|
|
51
51
|
variables?: "camelCase" | "snake_case";
|
|
52
52
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -74,24 +74,24 @@ export declare const TechStackConfigSchema: z.ZodObject<{
|
|
|
74
74
|
notes?: string;
|
|
75
75
|
}>>>;
|
|
76
76
|
}, "strip", z.ZodTypeAny, {
|
|
77
|
-
|
|
77
|
+
languages?: string[];
|
|
78
78
|
frontend?: string[];
|
|
79
79
|
backend?: string[];
|
|
80
80
|
database?: string[];
|
|
81
|
-
languages?: string[];
|
|
82
81
|
infrastructure?: string[];
|
|
82
|
+
tools?: string[];
|
|
83
83
|
details?: Record<string, {
|
|
84
84
|
version?: string;
|
|
85
85
|
config?: Record<string, unknown>;
|
|
86
86
|
notes?: string;
|
|
87
87
|
}>;
|
|
88
88
|
}, {
|
|
89
|
-
|
|
89
|
+
languages?: string[];
|
|
90
90
|
frontend?: string[];
|
|
91
91
|
backend?: string[];
|
|
92
92
|
database?: string[];
|
|
93
|
-
languages?: string[];
|
|
94
93
|
infrastructure?: string[];
|
|
94
|
+
tools?: string[];
|
|
95
95
|
details?: Record<string, {
|
|
96
96
|
version?: string;
|
|
97
97
|
config?: Record<string, unknown>;
|
|
@@ -150,16 +150,16 @@ export declare const ConventionsConfigSchema: z.ZodObject<{
|
|
|
150
150
|
types: z.ZodOptional<z.ZodEnum<["PascalCase"]>>;
|
|
151
151
|
interfaces: z.ZodOptional<z.ZodEnum<["PascalCase", "IPascalCase"]>>;
|
|
152
152
|
}, "strip", z.ZodTypeAny, {
|
|
153
|
-
components?: "kebab-case" | "PascalCase";
|
|
154
153
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
154
|
+
components?: "kebab-case" | "PascalCase";
|
|
155
155
|
functions?: "camelCase" | "snake_case";
|
|
156
156
|
variables?: "camelCase" | "snake_case";
|
|
157
157
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
158
158
|
types?: "PascalCase";
|
|
159
159
|
interfaces?: "PascalCase" | "IPascalCase";
|
|
160
160
|
}, {
|
|
161
|
-
components?: "kebab-case" | "PascalCase";
|
|
162
161
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
162
|
+
components?: "kebab-case" | "PascalCase";
|
|
163
163
|
functions?: "camelCase" | "snake_case";
|
|
164
164
|
variables?: "camelCase" | "snake_case";
|
|
165
165
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -175,8 +175,8 @@ export declare const ConventionsConfigSchema: z.ZodObject<{
|
|
|
175
175
|
rules?: Record<string, unknown>;
|
|
176
176
|
style?: string;
|
|
177
177
|
naming?: {
|
|
178
|
-
components?: "kebab-case" | "PascalCase";
|
|
179
178
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
179
|
+
components?: "kebab-case" | "PascalCase";
|
|
180
180
|
functions?: "camelCase" | "snake_case";
|
|
181
181
|
variables?: "camelCase" | "snake_case";
|
|
182
182
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -191,8 +191,8 @@ export declare const ConventionsConfigSchema: z.ZodObject<{
|
|
|
191
191
|
rules?: Record<string, unknown>;
|
|
192
192
|
style?: string;
|
|
193
193
|
naming?: {
|
|
194
|
-
components?: "kebab-case" | "PascalCase";
|
|
195
194
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
195
|
+
components?: "kebab-case" | "PascalCase";
|
|
196
196
|
functions?: "camelCase" | "snake_case";
|
|
197
197
|
variables?: "camelCase" | "snake_case";
|
|
198
198
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -212,16 +212,16 @@ export declare const TestStrategyConfigSchema: z.ZodObject<{
|
|
|
212
212
|
e2eDirectory: z.ZodOptional<z.ZodString>;
|
|
213
213
|
mockingStrategy: z.ZodOptional<z.ZodEnum<["minimal", "extensive", "no-mocks"]>>;
|
|
214
214
|
}, "strip", z.ZodTypeAny, {
|
|
215
|
-
coverage?: number;
|
|
216
215
|
approach?: "tdd" | "bdd" | "test-after" | "mixed";
|
|
217
216
|
frameworks?: string[];
|
|
217
|
+
coverage?: number;
|
|
218
218
|
unitTestPattern?: "colocated" | "separate";
|
|
219
219
|
e2eDirectory?: string;
|
|
220
220
|
mockingStrategy?: "minimal" | "extensive" | "no-mocks";
|
|
221
221
|
}, {
|
|
222
|
-
coverage?: number;
|
|
223
222
|
approach?: "tdd" | "bdd" | "test-after" | "mixed";
|
|
224
223
|
frameworks?: string[];
|
|
224
|
+
coverage?: number;
|
|
225
225
|
unitTestPattern?: "colocated" | "separate";
|
|
226
226
|
e2eDirectory?: string;
|
|
227
227
|
mockingStrategy?: "minimal" | "extensive" | "no-mocks";
|
|
@@ -252,24 +252,24 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
252
252
|
notes?: string;
|
|
253
253
|
}>>>;
|
|
254
254
|
}, "strip", z.ZodTypeAny, {
|
|
255
|
-
|
|
255
|
+
languages?: string[];
|
|
256
256
|
frontend?: string[];
|
|
257
257
|
backend?: string[];
|
|
258
258
|
database?: string[];
|
|
259
|
-
languages?: string[];
|
|
260
259
|
infrastructure?: string[];
|
|
260
|
+
tools?: string[];
|
|
261
261
|
details?: Record<string, {
|
|
262
262
|
version?: string;
|
|
263
263
|
config?: Record<string, unknown>;
|
|
264
264
|
notes?: string;
|
|
265
265
|
}>;
|
|
266
266
|
}, {
|
|
267
|
-
|
|
267
|
+
languages?: string[];
|
|
268
268
|
frontend?: string[];
|
|
269
269
|
backend?: string[];
|
|
270
270
|
database?: string[];
|
|
271
|
-
languages?: string[];
|
|
272
271
|
infrastructure?: string[];
|
|
272
|
+
tools?: string[];
|
|
273
273
|
details?: Record<string, {
|
|
274
274
|
version?: string;
|
|
275
275
|
config?: Record<string, unknown>;
|
|
@@ -328,16 +328,16 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
328
328
|
types: z.ZodOptional<z.ZodEnum<["PascalCase"]>>;
|
|
329
329
|
interfaces: z.ZodOptional<z.ZodEnum<["PascalCase", "IPascalCase"]>>;
|
|
330
330
|
}, "strip", z.ZodTypeAny, {
|
|
331
|
-
components?: "kebab-case" | "PascalCase";
|
|
332
331
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
332
|
+
components?: "kebab-case" | "PascalCase";
|
|
333
333
|
functions?: "camelCase" | "snake_case";
|
|
334
334
|
variables?: "camelCase" | "snake_case";
|
|
335
335
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
336
336
|
types?: "PascalCase";
|
|
337
337
|
interfaces?: "PascalCase" | "IPascalCase";
|
|
338
338
|
}, {
|
|
339
|
-
components?: "kebab-case" | "PascalCase";
|
|
340
339
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
340
|
+
components?: "kebab-case" | "PascalCase";
|
|
341
341
|
functions?: "camelCase" | "snake_case";
|
|
342
342
|
variables?: "camelCase" | "snake_case";
|
|
343
343
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -353,8 +353,8 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
353
353
|
rules?: Record<string, unknown>;
|
|
354
354
|
style?: string;
|
|
355
355
|
naming?: {
|
|
356
|
-
components?: "kebab-case" | "PascalCase";
|
|
357
356
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
357
|
+
components?: "kebab-case" | "PascalCase";
|
|
358
358
|
functions?: "camelCase" | "snake_case";
|
|
359
359
|
variables?: "camelCase" | "snake_case";
|
|
360
360
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -369,8 +369,8 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
369
369
|
rules?: Record<string, unknown>;
|
|
370
370
|
style?: string;
|
|
371
371
|
naming?: {
|
|
372
|
-
components?: "kebab-case" | "PascalCase";
|
|
373
372
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
373
|
+
components?: "kebab-case" | "PascalCase";
|
|
374
374
|
functions?: "camelCase" | "snake_case";
|
|
375
375
|
variables?: "camelCase" | "snake_case";
|
|
376
376
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -390,16 +390,16 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
390
390
|
e2eDirectory: z.ZodOptional<z.ZodString>;
|
|
391
391
|
mockingStrategy: z.ZodOptional<z.ZodEnum<["minimal", "extensive", "no-mocks"]>>;
|
|
392
392
|
}, "strip", z.ZodTypeAny, {
|
|
393
|
-
coverage?: number;
|
|
394
393
|
approach?: "tdd" | "bdd" | "test-after" | "mixed";
|
|
395
394
|
frameworks?: string[];
|
|
395
|
+
coverage?: number;
|
|
396
396
|
unitTestPattern?: "colocated" | "separate";
|
|
397
397
|
e2eDirectory?: string;
|
|
398
398
|
mockingStrategy?: "minimal" | "extensive" | "no-mocks";
|
|
399
399
|
}, {
|
|
400
|
-
coverage?: number;
|
|
401
400
|
approach?: "tdd" | "bdd" | "test-after" | "mixed";
|
|
402
401
|
frameworks?: string[];
|
|
402
|
+
coverage?: number;
|
|
403
403
|
unitTestPattern?: "colocated" | "separate";
|
|
404
404
|
e2eDirectory?: string;
|
|
405
405
|
mockingStrategy?: "minimal" | "extensive" | "no-mocks";
|
|
@@ -414,12 +414,12 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
414
414
|
projectName?: string;
|
|
415
415
|
repository?: string;
|
|
416
416
|
techStack?: {
|
|
417
|
-
|
|
417
|
+
languages?: string[];
|
|
418
418
|
frontend?: string[];
|
|
419
419
|
backend?: string[];
|
|
420
420
|
database?: string[];
|
|
421
|
-
languages?: string[];
|
|
422
421
|
infrastructure?: string[];
|
|
422
|
+
tools?: string[];
|
|
423
423
|
details?: Record<string, {
|
|
424
424
|
version?: string;
|
|
425
425
|
config?: Record<string, unknown>;
|
|
@@ -441,8 +441,8 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
441
441
|
rules?: Record<string, unknown>;
|
|
442
442
|
style?: string;
|
|
443
443
|
naming?: {
|
|
444
|
-
components?: "kebab-case" | "PascalCase";
|
|
445
444
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
445
|
+
components?: "kebab-case" | "PascalCase";
|
|
446
446
|
functions?: "camelCase" | "snake_case";
|
|
447
447
|
variables?: "camelCase" | "snake_case";
|
|
448
448
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -455,9 +455,9 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
455
455
|
quotes?: "single" | "double";
|
|
456
456
|
};
|
|
457
457
|
testStrategy?: {
|
|
458
|
-
coverage?: number;
|
|
459
458
|
approach?: "tdd" | "bdd" | "test-after" | "mixed";
|
|
460
459
|
frameworks?: string[];
|
|
460
|
+
coverage?: number;
|
|
461
461
|
unitTestPattern?: "colocated" | "separate";
|
|
462
462
|
e2eDirectory?: string;
|
|
463
463
|
mockingStrategy?: "minimal" | "extensive" | "no-mocks";
|
|
@@ -471,12 +471,12 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
471
471
|
projectName?: string;
|
|
472
472
|
repository?: string;
|
|
473
473
|
techStack?: {
|
|
474
|
-
|
|
474
|
+
languages?: string[];
|
|
475
475
|
frontend?: string[];
|
|
476
476
|
backend?: string[];
|
|
477
477
|
database?: string[];
|
|
478
|
-
languages?: string[];
|
|
479
478
|
infrastructure?: string[];
|
|
479
|
+
tools?: string[];
|
|
480
480
|
details?: Record<string, {
|
|
481
481
|
version?: string;
|
|
482
482
|
config?: Record<string, unknown>;
|
|
@@ -498,8 +498,8 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
498
498
|
rules?: Record<string, unknown>;
|
|
499
499
|
style?: string;
|
|
500
500
|
naming?: {
|
|
501
|
-
components?: "kebab-case" | "PascalCase";
|
|
502
501
|
files?: "kebab-case" | "camelCase" | "PascalCase" | "snake_case";
|
|
502
|
+
components?: "kebab-case" | "PascalCase";
|
|
503
503
|
functions?: "camelCase" | "snake_case";
|
|
504
504
|
variables?: "camelCase" | "snake_case";
|
|
505
505
|
constants?: "camelCase" | "UPPER_SNAKE_CASE";
|
|
@@ -512,9 +512,9 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
|
|
|
512
512
|
quotes?: "single" | "double";
|
|
513
513
|
};
|
|
514
514
|
testStrategy?: {
|
|
515
|
-
coverage?: number;
|
|
516
515
|
approach?: "tdd" | "bdd" | "test-after" | "mixed";
|
|
517
516
|
frameworks?: string[];
|
|
517
|
+
coverage?: number;
|
|
518
518
|
unitTestPattern?: "colocated" | "separate";
|
|
519
519
|
e2eDirectory?: string;
|
|
520
520
|
mockingStrategy?: "minimal" | "extensive" | "no-mocks";
|
package/dist/src/main.js
CHANGED
|
File without changes
|
|
@@ -12,12 +12,13 @@ const mcp_service_1 = require("./mcp.service");
|
|
|
12
12
|
const mcp_controller_1 = require("./mcp.controller");
|
|
13
13
|
const rules_module_1 = require("../rules/rules.module");
|
|
14
14
|
const keyword_module_1 = require("../keyword/keyword.module");
|
|
15
|
+
const config_module_1 = require("../config/config.module");
|
|
15
16
|
let McpModule = class McpModule {
|
|
16
17
|
};
|
|
17
18
|
exports.McpModule = McpModule;
|
|
18
19
|
exports.McpModule = McpModule = __decorate([
|
|
19
20
|
(0, common_1.Module)({
|
|
20
|
-
imports: [rules_module_1.RulesModule, keyword_module_1.KeywordModule],
|
|
21
|
+
imports: [rules_module_1.RulesModule, keyword_module_1.KeywordModule, config_module_1.CodingBuddyConfigModule],
|
|
21
22
|
controllers: [mcp_controller_1.McpController],
|
|
22
23
|
providers: [mcp_service_1.McpService],
|
|
23
24
|
exports: [mcp_service_1.McpService],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../../../src/mcp/mcp.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAC3C,qDAAiD;AACjD,wDAAoD;AACpD,8DAA0D;
|
|
1
|
+
{"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../../../src/mcp/mcp.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAC3C,qDAAiD;AACjD,wDAAoD;AACpD,8DAA0D;AAC1D,2DAAkE;AAQ3D,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IANrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW,EAAE,8BAAa,EAAE,uCAAuB,CAAC;QAC9D,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;QACvB,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,SAAS,CAAG"}
|
|
@@ -2,12 +2,14 @@ import { OnModuleInit } from '@nestjs/common';
|
|
|
2
2
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
3
3
|
import { RulesService } from '../rules/rules.service';
|
|
4
4
|
import { KeywordService } from '../keyword/keyword.service';
|
|
5
|
+
import { ConfigService } from '../config/config.service';
|
|
5
6
|
export declare class McpService implements OnModuleInit {
|
|
6
7
|
private rulesService;
|
|
7
8
|
private keywordService;
|
|
9
|
+
private configService;
|
|
8
10
|
private server;
|
|
9
11
|
private readonly logger;
|
|
10
|
-
constructor(rulesService: RulesService, keywordService: KeywordService);
|
|
12
|
+
constructor(rulesService: RulesService, keywordService: KeywordService, configService: ConfigService);
|
|
11
13
|
onModuleInit(): void;
|
|
12
14
|
startStdio(): Promise<void>;
|
|
13
15
|
getServer(): Server<{
|
|
@@ -36,4 +38,11 @@ export declare class McpService implements OnModuleInit {
|
|
|
36
38
|
private registerResources;
|
|
37
39
|
private registerTools;
|
|
38
40
|
private registerPrompts;
|
|
41
|
+
private handleSearchRules;
|
|
42
|
+
private handleGetAgentDetails;
|
|
43
|
+
private handleParseMode;
|
|
44
|
+
private handleGetProjectConfig;
|
|
45
|
+
private jsonResponse;
|
|
46
|
+
private errorResponse;
|
|
47
|
+
private formatProjectContext;
|
|
39
48
|
}
|
|
@@ -21,10 +21,12 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
|
21
21
|
const rules_service_1 = require("../rules/rules.service");
|
|
22
22
|
const keyword_service_1 = require("../keyword/keyword.service");
|
|
23
23
|
const keyword_module_1 = require("../keyword/keyword.module");
|
|
24
|
+
const config_service_1 = require("../config/config.service");
|
|
24
25
|
let McpService = McpService_1 = class McpService {
|
|
25
|
-
constructor(rulesService, keywordService) {
|
|
26
|
+
constructor(rulesService, keywordService, configService) {
|
|
26
27
|
this.rulesService = rulesService;
|
|
27
28
|
this.keywordService = keywordService;
|
|
29
|
+
this.configService = configService;
|
|
28
30
|
this.logger = new common_1.Logger(McpService_1.name);
|
|
29
31
|
this.server = new index_js_1.Server({
|
|
30
32
|
name: 'codingbuddy-rules-server',
|
|
@@ -60,6 +62,12 @@ let McpService = McpService_1 = class McpService {
|
|
|
60
62
|
];
|
|
61
63
|
return {
|
|
62
64
|
resources: [
|
|
65
|
+
{
|
|
66
|
+
uri: 'config://project',
|
|
67
|
+
name: 'Project Configuration',
|
|
68
|
+
mimeType: 'application/json',
|
|
69
|
+
description: 'Project-specific configuration including tech stack, architecture, and conventions',
|
|
70
|
+
},
|
|
63
71
|
...coreRules.map(rule => ({
|
|
64
72
|
uri: `rules://${rule}`,
|
|
65
73
|
name: rule,
|
|
@@ -77,6 +85,23 @@ let McpService = McpService_1 = class McpService {
|
|
|
77
85
|
});
|
|
78
86
|
this.server.setRequestHandler(types_js_1.ReadResourceRequestSchema, async (request) => {
|
|
79
87
|
const uri = request.params.uri;
|
|
88
|
+
if (uri === 'config://project') {
|
|
89
|
+
try {
|
|
90
|
+
const projectConfig = await this.configService.getProjectConfig();
|
|
91
|
+
return {
|
|
92
|
+
contents: [
|
|
93
|
+
{
|
|
94
|
+
uri: uri,
|
|
95
|
+
mimeType: 'application/json',
|
|
96
|
+
text: JSON.stringify(projectConfig, null, 2),
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
throw new types_js_1.McpError(types_js_1.ErrorCode.InternalError, 'Failed to load project configuration');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
80
105
|
if (!uri.startsWith('rules://')) {
|
|
81
106
|
throw new types_js_1.McpError(types_js_1.ErrorCode.InvalidRequest, 'Invalid URI scheme');
|
|
82
107
|
}
|
|
@@ -128,7 +153,7 @@ let McpService = McpService_1 = class McpService {
|
|
|
128
153
|
},
|
|
129
154
|
{
|
|
130
155
|
name: 'parse_mode',
|
|
131
|
-
description: 'Parse workflow mode keyword from prompt and return mode-specific rules',
|
|
156
|
+
description: 'Parse workflow mode keyword from prompt and return mode-specific rules with project language setting',
|
|
132
157
|
inputSchema: {
|
|
133
158
|
type: 'object',
|
|
134
159
|
properties: {
|
|
@@ -140,71 +165,32 @@ let McpService = McpService_1 = class McpService {
|
|
|
140
165
|
required: ['prompt'],
|
|
141
166
|
},
|
|
142
167
|
},
|
|
168
|
+
{
|
|
169
|
+
name: 'get_project_config',
|
|
170
|
+
description: 'Get project configuration including tech stack, architecture, conventions, and language settings',
|
|
171
|
+
inputSchema: {
|
|
172
|
+
type: 'object',
|
|
173
|
+
properties: {},
|
|
174
|
+
required: [],
|
|
175
|
+
},
|
|
176
|
+
},
|
|
143
177
|
],
|
|
144
178
|
};
|
|
145
179
|
});
|
|
146
180
|
this.server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
147
181
|
const { name, arguments: args } = request.params;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
160
|
-
if (name === 'get_agent_details') {
|
|
161
|
-
const agentName = String(args?.agentName);
|
|
162
|
-
try {
|
|
163
|
-
const agent = await this.rulesService.getAgent(agentName);
|
|
164
|
-
return {
|
|
165
|
-
content: [
|
|
166
|
-
{
|
|
167
|
-
type: 'text',
|
|
168
|
-
text: JSON.stringify(agent, null, 2),
|
|
169
|
-
},
|
|
170
|
-
],
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
catch {
|
|
174
|
-
return {
|
|
175
|
-
isError: true,
|
|
176
|
-
content: [
|
|
177
|
-
{ type: 'text', text: `Agent '${agentName}' not found.` },
|
|
178
|
-
],
|
|
179
|
-
};
|
|
180
|
-
}
|
|
182
|
+
switch (name) {
|
|
183
|
+
case 'search_rules':
|
|
184
|
+
return this.handleSearchRules(args);
|
|
185
|
+
case 'get_agent_details':
|
|
186
|
+
return this.handleGetAgentDetails(args);
|
|
187
|
+
case 'parse_mode':
|
|
188
|
+
return this.handleParseMode(args);
|
|
189
|
+
case 'get_project_config':
|
|
190
|
+
return this.handleGetProjectConfig();
|
|
191
|
+
default:
|
|
192
|
+
throw new types_js_1.McpError(types_js_1.ErrorCode.MethodNotFound, `Tool not found: ${name}`);
|
|
181
193
|
}
|
|
182
|
-
if (name === 'parse_mode') {
|
|
183
|
-
const prompt = String(args?.prompt ?? '');
|
|
184
|
-
try {
|
|
185
|
-
const result = await this.keywordService.parseMode(prompt);
|
|
186
|
-
return {
|
|
187
|
-
content: [
|
|
188
|
-
{
|
|
189
|
-
type: 'text',
|
|
190
|
-
text: JSON.stringify(result, null, 2),
|
|
191
|
-
},
|
|
192
|
-
],
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
catch (error) {
|
|
196
|
-
return {
|
|
197
|
-
isError: true,
|
|
198
|
-
content: [
|
|
199
|
-
{
|
|
200
|
-
type: 'text',
|
|
201
|
-
text: `Failed to parse mode: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
202
|
-
},
|
|
203
|
-
],
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
throw new types_js_1.McpError(types_js_1.ErrorCode.MethodNotFound, `Tool not found: ${name}`);
|
|
208
194
|
});
|
|
209
195
|
}
|
|
210
196
|
registerPrompts() {
|
|
@@ -213,7 +199,7 @@ let McpService = McpService_1 = class McpService {
|
|
|
213
199
|
prompts: [
|
|
214
200
|
{
|
|
215
201
|
name: 'activate_agent',
|
|
216
|
-
description: 'Activate a specific specialist agent with context',
|
|
202
|
+
description: 'Activate a specific specialist agent with project context',
|
|
217
203
|
arguments: [
|
|
218
204
|
{
|
|
219
205
|
name: 'role',
|
|
@@ -231,13 +217,15 @@ let McpService = McpService_1 = class McpService {
|
|
|
231
217
|
try {
|
|
232
218
|
const agent = await this.rulesService.getAgent(role);
|
|
233
219
|
const coreRules = await this.rulesService.getRuleContent('rules/core.md');
|
|
220
|
+
const settings = await this.configService.getSettings();
|
|
221
|
+
const projectContext = this.formatProjectContext(settings);
|
|
234
222
|
return {
|
|
235
223
|
messages: [
|
|
236
224
|
{
|
|
237
225
|
role: 'user',
|
|
238
226
|
content: {
|
|
239
227
|
type: 'text',
|
|
240
|
-
text: `Activate Agent: ${agent.name}\n\nRole: ${agent.role}\n\nGoals:\n${agent.goals.join('\n')}\n\nWorkflow:\n${agent.workflow.join('\n')}\n\nCore Rules Context:\n${coreRules.substring(0, 1000)}... (truncated)`,
|
|
228
|
+
text: `Activate Agent: ${agent.name}\n\nRole: ${agent.role}\n\nGoals:\n${agent.goals.join('\n')}\n\nWorkflow:\n${agent.workflow.join('\n')}\n\n${projectContext}\n\nCore Rules Context:\n${coreRules.substring(0, 1000)}... (truncated)`,
|
|
241
229
|
},
|
|
242
230
|
},
|
|
243
231
|
],
|
|
@@ -250,12 +238,99 @@ let McpService = McpService_1 = class McpService {
|
|
|
250
238
|
throw new types_js_1.McpError(types_js_1.ErrorCode.MethodNotFound, 'Prompt not found');
|
|
251
239
|
});
|
|
252
240
|
}
|
|
241
|
+
async handleSearchRules(args) {
|
|
242
|
+
const query = String(args?.query);
|
|
243
|
+
const results = await this.rulesService.searchRules(query);
|
|
244
|
+
return this.jsonResponse(results);
|
|
245
|
+
}
|
|
246
|
+
async handleGetAgentDetails(args) {
|
|
247
|
+
const agentName = String(args?.agentName);
|
|
248
|
+
try {
|
|
249
|
+
const agent = await this.rulesService.getAgent(agentName);
|
|
250
|
+
return this.jsonResponse(agent);
|
|
251
|
+
}
|
|
252
|
+
catch {
|
|
253
|
+
return this.errorResponse(`Agent '${agentName}' not found.`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
async handleParseMode(args) {
|
|
257
|
+
const prompt = String(args?.prompt ?? '');
|
|
258
|
+
try {
|
|
259
|
+
const result = await this.keywordService.parseMode(prompt);
|
|
260
|
+
const language = await this.configService.getLanguage();
|
|
261
|
+
return this.jsonResponse({ ...result, language });
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
return this.errorResponse(`Failed to parse mode: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
async handleGetProjectConfig() {
|
|
268
|
+
try {
|
|
269
|
+
const settings = await this.configService.getSettings();
|
|
270
|
+
return this.jsonResponse(settings);
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
return this.errorResponse(`Failed to get project config: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
jsonResponse(data) {
|
|
277
|
+
return {
|
|
278
|
+
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
errorResponse(message) {
|
|
282
|
+
return {
|
|
283
|
+
isError: true,
|
|
284
|
+
content: [{ type: 'text', text: message }],
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
formatProjectContext(settings) {
|
|
288
|
+
const sections = ['Project Context:'];
|
|
289
|
+
if (settings.projectName) {
|
|
290
|
+
sections.push(`- Project: ${settings.projectName}`);
|
|
291
|
+
}
|
|
292
|
+
if (settings.language) {
|
|
293
|
+
sections.push(`- Response Language: ${settings.language}`);
|
|
294
|
+
}
|
|
295
|
+
if (settings.techStack) {
|
|
296
|
+
const techItems = [];
|
|
297
|
+
if (settings.techStack.frontend?.length) {
|
|
298
|
+
techItems.push(`Frontend: ${settings.techStack.frontend.join(', ')}`);
|
|
299
|
+
}
|
|
300
|
+
if (settings.techStack.backend?.length) {
|
|
301
|
+
techItems.push(`Backend: ${settings.techStack.backend.join(', ')}`);
|
|
302
|
+
}
|
|
303
|
+
if (settings.techStack.languages?.length) {
|
|
304
|
+
techItems.push(`Languages: ${settings.techStack.languages.join(', ')}`);
|
|
305
|
+
}
|
|
306
|
+
if (settings.techStack.database?.length) {
|
|
307
|
+
techItems.push(`Database: ${settings.techStack.database.join(', ')}`);
|
|
308
|
+
}
|
|
309
|
+
if (techItems.length > 0) {
|
|
310
|
+
sections.push(`- Tech Stack: ${techItems.join('; ')}`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
if (settings.architecture?.pattern) {
|
|
314
|
+
sections.push(`- Architecture: ${settings.architecture.pattern}`);
|
|
315
|
+
}
|
|
316
|
+
if (settings.testStrategy?.approach) {
|
|
317
|
+
sections.push(`- Test Strategy: ${settings.testStrategy.approach}`);
|
|
318
|
+
}
|
|
319
|
+
if (settings.conventions?.style) {
|
|
320
|
+
sections.push(`- Code Style: ${settings.conventions.style}`);
|
|
321
|
+
}
|
|
322
|
+
if (sections.length === 1) {
|
|
323
|
+
return '';
|
|
324
|
+
}
|
|
325
|
+
return sections.join('\n');
|
|
326
|
+
}
|
|
253
327
|
};
|
|
254
328
|
exports.McpService = McpService;
|
|
255
329
|
exports.McpService = McpService = McpService_1 = __decorate([
|
|
256
330
|
(0, common_1.Injectable)(),
|
|
257
331
|
__param(1, (0, common_1.Inject)(keyword_module_1.KEYWORD_SERVICE)),
|
|
258
332
|
__metadata("design:paramtypes", [rules_service_1.RulesService,
|
|
259
|
-
keyword_service_1.KeywordService
|
|
333
|
+
keyword_service_1.KeywordService,
|
|
334
|
+
config_service_1.ConfigService])
|
|
260
335
|
], McpService);
|
|
261
336
|
//# sourceMappingURL=mcp.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../../src/mcp/mcp.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA0E;AAC1E,wEAAmE;AACnE,wEAAiF;AACjF,iEAS4C;AAC5C,0DAAsD;AACtD,gEAA4D;AAC5D,8DAA4D;
|
|
1
|
+
{"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../../src/mcp/mcp.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|