codingbuddy 0.0.0-dev.20251219012240.c5ea765 → 0.0.0-dev.20251219022942.ae1c42d

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 (61) hide show
  1. package/README.md +132 -8
  2. package/dist/src/cli/cli.d.ts +10 -0
  3. package/dist/src/cli/cli.js +98 -0
  4. package/dist/src/cli/cli.js.map +1 -0
  5. package/dist/src/cli/cli.spec.d.ts +1 -0
  6. package/dist/src/cli/cli.spec.js +84 -0
  7. package/dist/src/cli/cli.spec.js.map +1 -0
  8. package/dist/src/cli/cli.types.d.ts +18 -0
  9. package/dist/src/cli/cli.types.js +3 -0
  10. package/dist/src/cli/cli.types.js.map +1 -0
  11. package/dist/src/cli/index.d.ts +6 -0
  12. package/dist/src/cli/index.js +15 -0
  13. package/dist/src/cli/index.js.map +1 -0
  14. package/dist/src/cli/init/config.generator.d.ts +16 -0
  15. package/dist/src/cli/init/config.generator.js +70 -0
  16. package/dist/src/cli/init/config.generator.js.map +1 -0
  17. package/dist/src/cli/init/config.generator.spec.d.ts +1 -0
  18. package/dist/src/cli/init/config.generator.spec.js +182 -0
  19. package/dist/src/cli/init/config.generator.spec.js.map +1 -0
  20. package/dist/src/cli/init/config.writer.d.ts +10 -0
  21. package/dist/src/cli/init/config.writer.js +40 -0
  22. package/dist/src/cli/init/config.writer.js.map +1 -0
  23. package/dist/src/cli/init/config.writer.spec.d.ts +1 -0
  24. package/dist/src/cli/init/config.writer.spec.js +112 -0
  25. package/dist/src/cli/init/config.writer.spec.js.map +1 -0
  26. package/dist/src/cli/init/index.d.ts +5 -0
  27. package/dist/src/cli/init/index.js +16 -0
  28. package/dist/src/cli/init/index.js.map +1 -0
  29. package/dist/src/cli/init/init.command.d.ts +3 -0
  30. package/dist/src/cli/init/init.command.js +80 -0
  31. package/dist/src/cli/init/init.command.js.map +1 -0
  32. package/dist/src/cli/init/init.command.spec.d.ts +1 -0
  33. package/dist/src/cli/init/init.command.spec.js +227 -0
  34. package/dist/src/cli/init/init.command.spec.js.map +1 -0
  35. package/dist/src/cli/init/prompt.builder.d.ts +7 -0
  36. package/dist/src/cli/init/prompt.builder.js +222 -0
  37. package/dist/src/cli/init/prompt.builder.js.map +1 -0
  38. package/dist/src/cli/init/prompt.builder.spec.d.ts +1 -0
  39. package/dist/src/cli/init/prompt.builder.spec.js +199 -0
  40. package/dist/src/cli/init/prompt.builder.spec.js.map +1 -0
  41. package/dist/src/cli/utils/console.d.ts +18 -0
  42. package/dist/src/cli/utils/console.js +83 -0
  43. package/dist/src/cli/utils/console.js.map +1 -0
  44. package/dist/src/cli/utils/console.spec.d.ts +1 -0
  45. package/dist/src/cli/utils/console.spec.js +100 -0
  46. package/dist/src/cli/utils/console.spec.js.map +1 -0
  47. package/dist/src/cli/utils/index.d.ts +2 -0
  48. package/dist/src/cli/utils/index.js +7 -0
  49. package/dist/src/cli/utils/index.js.map +1 -0
  50. package/dist/src/config/config.schema.d.ts +30 -30
  51. package/dist/src/main.js +0 -0
  52. package/dist/src/mcp/mcp.module.js +2 -1
  53. package/dist/src/mcp/mcp.module.js.map +1 -1
  54. package/dist/src/mcp/mcp.service.d.ts +10 -1
  55. package/dist/src/mcp/mcp.service.js +139 -64
  56. package/dist/src/mcp/mcp.service.js.map +1 -1
  57. package/dist/src/mcp/mcp.service.spec.d.ts +1 -0
  58. package/dist/src/mcp/mcp.service.spec.js +262 -0
  59. package/dist/src/mcp/mcp.service.spec.js.map +1 -0
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. 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
- tools?: string[];
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
- tools?: string[];
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
- tools?: string[];
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
- tools?: string[];
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
- tools?: string[];
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
- tools?: string[];
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;AAQnD,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IANrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW,EAAE,8BAAa,CAAC;QACrC,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;QACvB,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,SAAS,CAAG"}
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
- if (name === 'search_rules') {
149
- const query = String(args?.query);
150
- const results = await this.rulesService.searchRules(query);
151
- return {
152
- content: [
153
- {
154
- type: 'text',
155
- text: JSON.stringify(results, null, 2),
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":"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"}
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 {};