mcp-adr-analysis-server 2.0.2 → 2.0.5

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 (94) hide show
  1. package/dist/src/index.d.ts +26 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +535 -323
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/prompts/adr-suggestion-prompts.d.ts +1 -0
  6. package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
  7. package/dist/src/prompts/adr-suggestion-prompts.js +42 -34
  8. package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
  9. package/dist/src/prompts/analysis-prompts.js +7 -7
  10. package/dist/src/prompts/deployment-analysis-prompts.js +5 -5
  11. package/dist/src/prompts/environment-analysis-prompts.js +7 -7
  12. package/dist/src/prompts/index.d.ts.map +1 -1
  13. package/dist/src/prompts/index.js +7 -5
  14. package/dist/src/prompts/index.js.map +1 -1
  15. package/dist/src/prompts/research-integration-prompts.js +7 -7
  16. package/dist/src/prompts/research-question-prompts.js +7 -7
  17. package/dist/src/prompts/rule-generation-prompts.d.ts.map +1 -1
  18. package/dist/src/prompts/rule-generation-prompts.js +8 -6
  19. package/dist/src/prompts/rule-generation-prompts.js.map +1 -1
  20. package/dist/src/prompts/security-prompts.js +6 -6
  21. package/dist/src/resources/index.d.ts.map +1 -1
  22. package/dist/src/resources/index.js +31 -15
  23. package/dist/src/resources/index.js.map +1 -1
  24. package/dist/src/tools/adr-suggestion-tool.d.ts +4 -1
  25. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  26. package/dist/src/tools/adr-suggestion-tool.js +72 -114
  27. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  28. package/dist/src/tools/content-masking-tool.d.ts +7 -0
  29. package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
  30. package/dist/src/tools/content-masking-tool.js +134 -17
  31. package/dist/src/tools/content-masking-tool.js.map +1 -1
  32. package/dist/src/tools/environment-analysis-tool.d.ts +4 -0
  33. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  34. package/dist/src/tools/environment-analysis-tool.js +209 -25
  35. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  36. package/dist/src/tools/research-question-tool.d.ts +4 -0
  37. package/dist/src/tools/research-question-tool.d.ts.map +1 -1
  38. package/dist/src/tools/research-question-tool.js +42 -4
  39. package/dist/src/tools/research-question-tool.js.map +1 -1
  40. package/dist/src/tools/rule-generation-tool.d.ts +4 -0
  41. package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
  42. package/dist/src/tools/rule-generation-tool.js +136 -16
  43. package/dist/src/tools/rule-generation-tool.js.map +1 -1
  44. package/dist/src/types/conversation-context.d.ts +93 -0
  45. package/dist/src/types/conversation-context.d.ts.map +1 -0
  46. package/dist/src/types/conversation-context.js +101 -0
  47. package/dist/src/types/conversation-context.js.map +1 -0
  48. package/dist/src/utils/actual-file-operations.d.ts +40 -0
  49. package/dist/src/utils/actual-file-operations.d.ts.map +1 -0
  50. package/dist/src/utils/actual-file-operations.js +309 -0
  51. package/dist/src/utils/actual-file-operations.js.map +1 -0
  52. package/dist/src/utils/adr-discovery.d.ts +36 -0
  53. package/dist/src/utils/adr-discovery.d.ts.map +1 -0
  54. package/dist/src/utils/adr-discovery.js +237 -0
  55. package/dist/src/utils/adr-discovery.js.map +1 -0
  56. package/dist/src/utils/adr-suggestions.d.ts +2 -1
  57. package/dist/src/utils/adr-suggestions.d.ts.map +1 -1
  58. package/dist/src/utils/adr-suggestions.js +8 -2
  59. package/dist/src/utils/adr-suggestions.js.map +1 -1
  60. package/dist/src/utils/apply-cot-enhancement.d.ts +46 -0
  61. package/dist/src/utils/apply-cot-enhancement.d.ts.map +1 -0
  62. package/dist/src/utils/apply-cot-enhancement.js +165 -0
  63. package/dist/src/utils/apply-cot-enhancement.js.map +1 -0
  64. package/dist/src/utils/chain-of-thought-template.d.ts +48 -0
  65. package/dist/src/utils/chain-of-thought-template.d.ts.map +1 -0
  66. package/dist/src/utils/chain-of-thought-template.js +191 -0
  67. package/dist/src/utils/chain-of-thought-template.js.map +1 -0
  68. package/dist/src/utils/deployment-analysis.d.ts +1 -0
  69. package/dist/src/utils/deployment-analysis.d.ts.map +1 -1
  70. package/dist/src/utils/deployment-analysis.js +82 -39
  71. package/dist/src/utils/deployment-analysis.js.map +1 -1
  72. package/dist/src/utils/environment-analysis.d.ts +6 -1
  73. package/dist/src/utils/environment-analysis.d.ts.map +1 -1
  74. package/dist/src/utils/environment-analysis.js +176 -87
  75. package/dist/src/utils/environment-analysis.js.map +1 -1
  76. package/dist/src/utils/file-system.d.ts +1 -0
  77. package/dist/src/utils/file-system.d.ts.map +1 -1
  78. package/dist/src/utils/file-system.js +24 -47
  79. package/dist/src/utils/file-system.js.map +1 -1
  80. package/dist/src/utils/prompt-execution.d.ts.map +1 -1
  81. package/dist/src/utils/prompt-execution.js +67 -3
  82. package/dist/src/utils/prompt-execution.js.map +1 -1
  83. package/dist/src/utils/research-integration.d.ts +4 -0
  84. package/dist/src/utils/research-integration.d.ts.map +1 -1
  85. package/dist/src/utils/research-integration.js +275 -84
  86. package/dist/src/utils/research-integration.js.map +1 -1
  87. package/dist/src/utils/research-questions.d.ts.map +1 -1
  88. package/dist/src/utils/research-questions.js +134 -38
  89. package/dist/src/utils/research-questions.js.map +1 -1
  90. package/dist/src/utils/rule-generation.d.ts +2 -1
  91. package/dist/src/utils/rule-generation.d.ts.map +1 -1
  92. package/dist/src/utils/rule-generation.js +65 -36
  93. package/dist/src/utils/rule-generation.js.map +1 -1
  94. package/package.json +4 -4
@@ -57,29 +57,43 @@ const result = await correlateProblemKnowledge(problems, knowledgeGraph);
57
57
  */
58
58
  export async function findRelevantAdrPatterns(researchContext, adrDirectory = 'docs/adrs') {
59
59
  try {
60
- const { findFiles } = await import('./file-system.js');
61
- // Generate ADR file discovery prompt for AI delegation
62
- const adrFileDiscoveryPrompt = await findFiles(process.cwd(), [`${adrDirectory}/**/*.md`], {
63
- includeContent: true,
64
- });
60
+ // Use actual ADR discovery instead of prompts
61
+ const { discoverAdrsInDirectory } = await import('./adr-discovery.js');
62
+ // Actually read ADR files
63
+ const discoveryResult = await discoverAdrsInDirectory(adrDirectory, true, process.cwd());
65
64
  // Extract patterns from project (simplified for this implementation)
66
65
  const availablePatterns = extractArchitecturalPatterns();
67
66
  const relevancePrompt = `
68
67
  # Relevant ADR Pattern Identification
69
68
 
70
- Please identify relevant ADR patterns based on research context.
69
+ Based on actual ADR file analysis, here are the discovered ADRs with their full content:
71
70
 
72
- ## ADR Discovery Instructions
71
+ ## Discovered ADRs (${discoveryResult.totalAdrs} total)
73
72
 
74
- ${adrFileDiscoveryPrompt.prompt}
73
+ ${discoveryResult.adrs.length > 0 ?
74
+ discoveryResult.adrs.map((adr, index) => `
75
+ ### ${index + 1}. ${adr.title}
76
+ - **File**: ${adr.filename}
77
+ - **Status**: ${adr.status}
78
+ - **Path**: ${adr.path}
79
+ ${adr.metadata?.number ? `- **Number**: ${adr.metadata.number}` : ''}
75
80
 
76
- ## Implementation Steps
81
+ #### ADR Content:
82
+ \`\`\`markdown
83
+ ${adr.content || 'Content not available'}
84
+ \`\`\`
77
85
 
78
- ${adrFileDiscoveryPrompt.instructions}
86
+ ---
87
+ `).join('\n') : 'No ADRs found in the specified directory.'}
79
88
 
80
89
  ## Research Context Analysis
81
90
 
82
- ${researchContext}
91
+ **Topic**: ${researchContext.topic}
92
+ **Category**: ${researchContext.category}
93
+ **Scope**: ${researchContext.scope}
94
+ **Objectives**: ${researchContext.objectives.join(', ')}
95
+ **Constraints**: ${researchContext.constraints?.join(', ') || 'None specified'}
96
+ **Timeline**: ${researchContext.timeline || 'Not specified'}
83
97
 
84
98
  ## Available Architectural Patterns
85
99
 
@@ -93,7 +107,7 @@ ${availablePatterns.map((pattern, index) => `
93
107
  ## Pattern Relevance Assessment
94
108
 
95
109
  For each discovered ADR and available pattern:
96
- 1. Analyze relevance to the research context
110
+ 1. Analyze relevance to the research context based on **actual ADR content**
97
111
  2. Identify potential applications and benefits
98
112
  3. Assess implementation complexity and trade-offs
99
113
  4. Generate specific recommendations for adoption
@@ -102,34 +116,39 @@ For each discovered ADR and available pattern:
102
116
  const instructions = `
103
117
  # Relevant ADR and Pattern Discovery Instructions
104
118
 
105
- This analysis will identify ADRs and patterns relevant to the research context.
119
+ This analysis provides **actual ADR content** to identify ADRs and patterns relevant to the research context.
106
120
 
107
121
  ## Discovery Scope
108
122
  - **Research Topic**: ${researchContext.topic}
109
123
  - **Research Category**: ${researchContext.category}
110
124
  - **ADR Directory**: ${adrDirectory}
125
+ - **ADRs Found**: ${discoveryResult.totalAdrs} files
126
+ - **ADRs with Content**: ${discoveryResult.adrs.filter(adr => adr.content).length} ADRs
111
127
  - **Available Patterns**: ${availablePatterns.length} patterns
112
128
  - **Research Objectives**: ${researchContext.objectives.length} objectives
113
129
 
130
+ ## Discovered ADR Summary
131
+ ${discoveryResult.adrs.map(adr => `- **${adr.title}** (${adr.status})`).join('\n')}
132
+
114
133
  ## Next Steps
115
- 1. **Submit the relevance prompt** to an AI agent for analysis
134
+ 1. **Submit the relevance prompt** to an AI agent for analysis based on **actual ADR content**
116
135
  2. **Parse the JSON response** to get relevant ADRs and patterns
117
136
  3. **Review research implications** and constraints
118
137
  4. **Use findings** to inform research question generation
119
138
 
120
139
  ## Expected AI Response Format
121
140
  The AI will return a JSON object with:
122
- - \`relevanceAnalysis\`: Overall relevance statistics and confidence
123
- - \`relevantAdrs\`: ADRs relevant to the research context
124
- - \`relevantPatterns\`: Patterns applicable to the research
125
- - \`researchImplications\`: Constraints, opportunities, dependencies, conflicts
126
- - \`researchGuidance\`: Specific guidance for research approach
141
+ - \`relevanceAnalysis\`: Overall relevance statistics and confidence based on actual content
142
+ - \`relevantAdrs\`: ADRs relevant to the research context with specific reasoning
143
+ - \`relevantPatterns\`: Patterns applicable to the research with evidence from ADRs
144
+ - \`researchImplications\`: Constraints, opportunities, dependencies, conflicts derived from ADR content
145
+ - \`researchGuidance\`: Specific guidance for research approach based on existing decisions
127
146
 
128
147
  ## Usage Example
129
148
  \`\`\`typescript
130
149
  const result = await findRelevantAdrPatterns(researchContext, adrDirectory);
131
150
  // Submit result.relevancePrompt to AI agent
132
- // Parse AI response for relevant knowledge
151
+ // Parse AI response for relevant knowledge based on actual ADR content
133
152
  \`\`\`
134
153
  `;
135
154
  return {
@@ -146,22 +165,21 @@ const result = await findRelevantAdrPatterns(researchContext, adrDirectory);
146
165
  */
147
166
  export async function generateContextAwareQuestions(researchContext, relevantKnowledge, projectPath = process.cwd()) {
148
167
  try {
149
- const { analyzeProjectStructure, ensureDirectory } = await import('./file-system.js');
168
+ // Use actual file operations to scan project structure
169
+ const { scanProjectStructure } = await import('./actual-file-operations.js');
150
170
  const { generateContextAwareResearchQuestionsPrompt } = await import('../prompts/research-question-prompts.js');
151
- // Analyze project context
152
- const projectStructure = await analyzeProjectStructure(projectPath);
171
+ // Actually scan project context
172
+ const projectStructure = await scanProjectStructure(projectPath, { readContent: false });
153
173
  const projectContext = {
154
- technologies: projectStructure.detectedTechnologies || [],
174
+ technologies: extractTechnologiesFromStructure(projectStructure),
155
175
  architecture: inferArchitectureType(projectStructure),
156
176
  domain: inferDomainType(projectStructure),
157
177
  scale: inferProjectScale(projectStructure),
158
178
  };
159
- // Generate directory creation prompt for docs/research
160
- const researchDir = `${projectPath}/docs/research`;
161
- const ensureDirPrompt = await ensureDirectory(researchDir);
162
179
  // Generate file creation prompts for research questions
163
180
  const timestamp = new Date().toISOString().split('T')[0]; // YYYY-MM-DD format
164
181
  const researchFileName = `research-questions-${timestamp}.md`;
182
+ const researchDir = `${projectPath}/docs/research`;
165
183
  const researchFilePath = `${researchDir}/${researchFileName}`;
166
184
  const questionPrompt = generateContextAwareResearchQuestionsPrompt({
167
185
  ...researchContext,
@@ -179,6 +197,8 @@ This analysis will generate specific, actionable research questions based on com
179
197
  - **Architecture Type**: ${projectContext.architecture}
180
198
  - **Domain**: ${projectContext.domain}
181
199
  - **Project Scale**: ${projectContext.scale}
200
+ - **Total Files**: ${projectStructure.totalFiles}
201
+ - **Directories**: ${projectStructure.directories.length}
182
202
  - **Relevant ADRs**: ${relevantKnowledge.adrs.length}
183
203
  - **Relevant Patterns**: ${relevantKnowledge.patterns.length}
184
204
  - **Knowledge Gaps**: ${relevantKnowledge.gaps.length}
@@ -187,7 +207,7 @@ This analysis will generate specific, actionable research questions based on com
187
207
  ## File Creation Requirements
188
208
 
189
209
  ### Step 1: Create Research Directory
190
- ${ensureDirPrompt.prompt}
210
+ Ensure the research directory exists: ${researchDir}
191
211
 
192
212
  ### Step 2: Generate Research Questions
193
213
  Execute the research question generation prompt below to create comprehensive research questions.
@@ -206,10 +226,10 @@ The file should contain:
206
226
  - Expected outcomes and impact
207
227
 
208
228
  ## Next Steps
209
- 1. **Execute directory creation** from Step 1 to ensure docs/research directory exists
229
+ 1. **Ensure docs/research directory exists** before proceeding
210
230
  2. **Submit the question prompt** to an AI agent for comprehensive question generation
211
231
  3. **Parse the JSON response** to get structured research questions
212
- 4. **Create markdown file** with the research questions using the file creation prompt
232
+ 4. **Create markdown file** with the research questions at ${researchFilePath}
213
233
  5. **Review research plan** and prioritize questions
214
234
  6. **Create research tasks** using the task tracking system
215
235
 
@@ -299,6 +319,71 @@ const result = await createResearchTaskTracking(questions, progress);
299
319
  throw new McpAdrError(`Failed to create research task tracking: ${error instanceof Error ? error.message : String(error)}`, 'TASK_TRACKING_ERROR');
300
320
  }
301
321
  }
322
+ /**
323
+ * Extract technologies from project structure
324
+ */
325
+ function extractTechnologiesFromStructure(projectStructure) {
326
+ const technologies = [];
327
+ // Analyze package files for technologies
328
+ if (projectStructure.packageFiles) {
329
+ projectStructure.packageFiles.forEach((file) => {
330
+ if (file.filename === 'package.json' && file.content) {
331
+ try {
332
+ const packageData = JSON.parse(file.content);
333
+ if (packageData.dependencies) {
334
+ Object.keys(packageData.dependencies).forEach(dep => {
335
+ if (dep.includes('react'))
336
+ technologies.push('React');
337
+ if (dep.includes('vue'))
338
+ technologies.push('Vue');
339
+ if (dep.includes('angular'))
340
+ technologies.push('Angular');
341
+ if (dep.includes('express'))
342
+ technologies.push('Express.js');
343
+ if (dep.includes('typescript'))
344
+ technologies.push('TypeScript');
345
+ });
346
+ }
347
+ }
348
+ catch {
349
+ // Invalid JSON, skip
350
+ }
351
+ }
352
+ if (file.filename === 'requirements.txt')
353
+ technologies.push('Python');
354
+ if (file.filename === 'Cargo.toml')
355
+ technologies.push('Rust');
356
+ if (file.filename === 'go.mod')
357
+ technologies.push('Go');
358
+ if (file.filename === 'pom.xml')
359
+ technologies.push('Java/Maven');
360
+ });
361
+ }
362
+ // Analyze config files
363
+ if (projectStructure.configFiles) {
364
+ projectStructure.configFiles.forEach((file) => {
365
+ if (file.filename === 'tsconfig.json')
366
+ technologies.push('TypeScript');
367
+ if (file.filename.includes('webpack'))
368
+ technologies.push('Webpack');
369
+ if (file.filename.includes('vite'))
370
+ technologies.push('Vite');
371
+ });
372
+ }
373
+ // Analyze Docker files
374
+ if (projectStructure.dockerFiles && projectStructure.dockerFiles.length > 0) {
375
+ technologies.push('Docker');
376
+ }
377
+ // Analyze Kubernetes files
378
+ if (projectStructure.kubernetesFiles && projectStructure.kubernetesFiles.length > 0) {
379
+ technologies.push('Kubernetes');
380
+ }
381
+ // Analyze CI files
382
+ if (projectStructure.ciFiles && projectStructure.ciFiles.length > 0) {
383
+ technologies.push('CI/CD');
384
+ }
385
+ return [...new Set(technologies)]; // Remove duplicates
386
+ }
302
387
  /**
303
388
  * Extract architectural patterns from project structure
304
389
  */
@@ -336,31 +421,42 @@ function extractArchitecturalPatterns() {
336
421
  * Infer architecture type from project structure
337
422
  */
338
423
  function inferArchitectureType(projectStructure) {
339
- if (projectStructure.directories?.some((dir) => dir.includes('service'))) {
424
+ const directories = projectStructure.directories || [];
425
+ if (directories.some((dir) => dir.includes('service') || dir.includes('microservice'))) {
340
426
  return 'microservices';
341
427
  }
342
- if (projectStructure.directories?.some((dir) => dir.includes('layer'))) {
428
+ if (directories.some((dir) => dir.includes('layer') || dir.includes('tier'))) {
343
429
  return 'layered';
344
430
  }
345
- if (projectStructure.detectedTechnologies?.includes('kubernetes')) {
431
+ if (projectStructure.kubernetesFiles?.length > 0 || projectStructure.dockerFiles?.length > 0) {
346
432
  return 'cloud-native';
347
433
  }
434
+ if (directories.some((dir) => dir.includes('component') || dir.includes('module'))) {
435
+ return 'modular';
436
+ }
348
437
  return 'monolithic';
349
438
  }
350
439
  /**
351
440
  * Infer domain type from project structure
352
441
  */
353
442
  function inferDomainType(projectStructure) {
354
- const technologies = projectStructure.detectedTechnologies || [];
355
- if (technologies.some((tech) => tech.includes('react') || tech.includes('vue') || tech.includes('angular'))) {
443
+ const technologies = extractTechnologiesFromStructure(projectStructure);
444
+ if (technologies.some((tech) => tech.toLowerCase().includes('react') ||
445
+ tech.toLowerCase().includes('vue') ||
446
+ tech.toLowerCase().includes('angular'))) {
356
447
  return 'web-application';
357
448
  }
358
- if (technologies.some((tech) => tech.includes('api') || tech.includes('rest'))) {
449
+ if (technologies.some((tech) => tech.toLowerCase().includes('express') ||
450
+ tech.toLowerCase().includes('api'))) {
359
451
  return 'api-service';
360
452
  }
361
- if (technologies.some((tech) => tech.includes('data') || tech.includes('analytics'))) {
453
+ if (technologies.some((tech) => tech.toLowerCase().includes('data') ||
454
+ tech.toLowerCase().includes('analytics'))) {
362
455
  return 'data-platform';
363
456
  }
457
+ if (projectStructure.dockerFiles?.length > 0 || projectStructure.kubernetesFiles?.length > 0) {
458
+ return 'infrastructure-platform';
459
+ }
364
460
  return 'general-software';
365
461
  }
366
462
  /**
@@ -368,7 +464,7 @@ function inferDomainType(projectStructure) {
368
464
  */
369
465
  function inferProjectScale(projectStructure) {
370
466
  const fileCount = projectStructure.totalFiles || 0;
371
- const dirCount = projectStructure.totalDirectories || 0;
467
+ const dirCount = projectStructure.directories?.length || 0;
372
468
  if (fileCount > 1000 || dirCount > 100) {
373
469
  return 'enterprise';
374
470
  }
@@ -1 +1 @@
1
- {"version":3,"file":"research-questions.js","sourceRoot":"","sources":["../../../src/utils/research-questions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"research-questions.js","sourceRoot":"","sources":["../../../src/utils/research-questions.ts"],"names":[],"mappings":"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"}
@@ -58,9 +58,10 @@ export interface ValidationResult {
58
58
  /**
59
59
  * Extract architectural rules from ADRs
60
60
  */
61
- export declare function extractRulesFromAdrs(adrDirectory?: string, existingRules?: ArchitecturalRule[]): Promise<{
61
+ export declare function extractRulesFromAdrs(adrDirectory?: string, existingRules?: ArchitecturalRule[], projectPath?: string): Promise<{
62
62
  extractionPrompt: string;
63
63
  instructions: string;
64
+ actualData?: any;
64
65
  }>;
65
66
  /**
66
67
  * Generate rules from code patterns
@@ -1 +1 @@
1
- {"version":3,"file":"rule-generation.d.ts","sourceRoot":"","sources":["../../../src/utils/rule-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-generation.d.ts","sourceRoot":"","sources":["../../../src/utils/rule-generation.ts"],"names":[],"mappings":"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"}
@@ -6,41 +6,55 @@ import { McpAdrError } from '../types/index.js';
6
6
  /**
7
7
  * Extract architectural rules from ADRs
8
8
  */
9
- export async function extractRulesFromAdrs(adrDirectory = 'docs/adrs', existingRules) {
9
+ export async function extractRulesFromAdrs(adrDirectory = 'docs/adrs', existingRules, projectPath = process.cwd()) {
10
10
  try {
11
- const { findFiles } = await import('./file-system.js');
12
- // Generate ADR file discovery prompt for AI delegation
13
- const adrFileDiscoveryPrompt = await findFiles(process.cwd(), [`${adrDirectory}/**/*.md`], {
14
- includeContent: true,
15
- });
11
+ // Use actual ADR discovery instead of prompts
12
+ const { discoverAdrsInDirectory } = await import('./adr-discovery.js');
13
+ // Actually read ADR files
14
+ const discoveryResult = await discoverAdrsInDirectory(adrDirectory, true, projectPath);
16
15
  const extractionPrompt = `
17
16
  # Architectural Rule Extraction
18
17
 
19
- Please extract actionable architectural rules from ADRs for code validation and compliance checking.
18
+ Based on actual ADR file analysis, here are the discovered ADRs with their full content:
20
19
 
21
- ## ADR Discovery Instructions
20
+ ## Discovered ADRs (${discoveryResult.totalAdrs} total)
22
21
 
23
- ${adrFileDiscoveryPrompt.prompt}
22
+ ${discoveryResult.adrs.length > 0 ?
23
+ discoveryResult.adrs.map((adr, index) => `
24
+ ### ${index + 1}. ${adr.title}
25
+ - **File**: ${adr.filename}
26
+ - **Status**: ${adr.status}
27
+ - **Path**: ${adr.path}
28
+ ${adr.metadata?.number ? `- **Number**: ${adr.metadata.number}` : ''}
24
29
 
25
- ## Implementation Steps
30
+ #### ADR Content:
31
+ \`\`\`markdown
32
+ ${adr.content || 'Content not available'}
33
+ \`\`\`
26
34
 
27
- ${adrFileDiscoveryPrompt.instructions}
35
+ ---
36
+ `).join('\n') : 'No ADRs found in the specified directory.'}
28
37
 
29
38
  ## Existing Rules Context
30
39
 
31
- ${existingRules ? `
40
+ ${existingRules && existingRules.length > 0 ? `
32
41
  ### Current Rules (${existingRules.length})
33
42
  ${existingRules.map((rule, index) => `
34
43
  #### ${index + 1}. ${rule.name}
35
44
  - **ID**: ${rule.id}
36
45
  - **Description**: ${rule.description}
46
+ - **Category**: ${rule.category}
47
+ - **Severity**: ${rule.severity}
48
+ - **Type**: ${rule.type}
49
+ - **Scope**: ${rule.scope}
37
50
  `).join('')}
38
51
  ` : 'No existing rules provided.'}
39
52
 
40
53
  ## Rule Extraction Requirements
41
54
 
42
- For each ADR discovered:
43
- 1. Extract actionable architectural rules and constraints
55
+ For each ADR above, analyze the **actual content** to extract:
56
+
57
+ 1. **Actionable architectural rules and constraints**
44
58
  2. Identify technology-specific requirements and standards
45
59
  3. Define coding standards and best practices
46
60
  4. Establish process and workflow requirements
@@ -59,39 +73,54 @@ For each ADR discovered:
59
73
  const instructions = `
60
74
  # Rule Extraction Instructions
61
75
 
62
- This analysis will extract actionable architectural rules from ADRs that can be used for code validation and compliance checking.
76
+ This analysis provides **actual ADR content** for comprehensive architectural rule extraction.
63
77
 
64
78
  ## Extraction Scope
65
79
  - **ADR Directory**: ${adrDirectory}
66
- - **ADR Directory**: ${adrDirectory}
80
+ - **ADRs Found**: ${discoveryResult.totalAdrs} files
67
81
  - **Existing Rules**: ${existingRules?.length || 0} rules
82
+ - **Content Available**: ${discoveryResult.adrs.filter(adr => adr.content).length} ADRs with content
68
83
  - **Rule Categories**: Architectural, Technology, Coding, Process, Security, Performance
69
84
 
70
- ## Next Steps
71
- 1. **Submit the extraction prompt** to an AI agent for comprehensive rule analysis
72
- 2. **Parse the JSON response** to get extracted rules and metadata
73
- 3. **Review the extracted rules** for accuracy and completeness
74
- 4. **Save rules** in machine-readable format (JSON/YAML)
75
- 5. **Integrate with validation tools** for automated compliance checking
85
+ ## Discovered ADR Summary
86
+ ${discoveryResult.adrs.map(adr => `- **${adr.title}** (${adr.status})`).join('\n')}
76
87
 
77
- ## Expected AI Response Format
78
- The AI will return a JSON object with:
79
- - \`extractedRules\`: Array of actionable architectural rules
80
- - \`ruleCategories\`: Rule organization and prioritization
81
- - \`ruleDependencies\`: Relationships between rules
82
- - \`validationStrategies\`: Approaches for rule validation
83
- - \`implementationGuidance\`: Prioritized implementation plan
84
-
85
- ## Usage Example
86
- \`\`\`typescript
87
- const result = await extractRulesFromAdrs(adrDirectory, existingRules);
88
- // Submit result.extractionPrompt to AI agent
89
- // Parse AI response as rule extraction results
90
- \`\`\`
88
+ ## Next Steps
89
+ 1. **Analyze the actual ADR content** provided above to extract architectural rules
90
+ 2. **Generate structured rules** with clear validation criteria
91
+ 3. **Categorize rules** by type and priority
92
+ 4. **Define validation strategies** for each rule
93
+ 5. **Create implementation guidance** for rule enforcement
94
+
95
+ ## Expected Output Format
96
+ Generate a JSON response with extracted rules including:
97
+ - Rule ID, name, description, and category
98
+ - Validation criteria and implementation methods
99
+ - Severity levels and enforcement priorities
100
+ - Dependencies and relationships between rules
101
+
102
+ ## Rule Quality Standards
103
+ Each extracted rule should be:
104
+ - **Specific**: Clearly defined and unambiguous
105
+ - **Measurable**: Can be validated automatically or through review
106
+ - **Actionable**: Provides clear guidance for implementation
107
+ - **Relevant**: Derived from actual ADR decisions
108
+ - **Time-bound**: Includes context about when rule applies
91
109
  `;
92
110
  return {
93
111
  extractionPrompt,
94
112
  instructions,
113
+ actualData: {
114
+ discoveryResult,
115
+ adrCount: discoveryResult.totalAdrs,
116
+ adrWithContent: discoveryResult.adrs.filter(adr => adr.content).length,
117
+ existingRulesCount: existingRules?.length || 0,
118
+ summary: {
119
+ totalAdrs: discoveryResult.totalAdrs,
120
+ byStatus: discoveryResult.summary.byStatus,
121
+ byCategory: discoveryResult.summary.byCategory
122
+ }
123
+ }
95
124
  };
96
125
  }
97
126
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"rule-generation.js","sourceRoot":"","sources":["../../../src/utils/rule-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-generation.js","sourceRoot":"","sources":["../../../src/utils/rule-generation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-adr-analysis-server",
3
- "version": "2.0.2",
3
+ "version": "2.0.5",
4
4
  "description": "MCP server for analyzing Architectural Decision Records and project architecture",
5
5
  "main": "dist/src/index.js",
6
6
  "type": "module",
@@ -11,9 +11,9 @@
11
11
  "scripts": {
12
12
  "build": "tsc && chmod +x dist/src/index.js",
13
13
  "dev": "tsx src/index.ts",
14
- "test": "jest",
15
- "test:watch": "jest --watch",
16
- "test:coverage": "jest --coverage",
14
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
15
+ "test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watch",
16
+ "test:coverage": "node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage",
17
17
  "test:advanced": "./scripts/test-advanced-prompting.sh",
18
18
  "test:unit": "./scripts/test-advanced-prompting.sh unit",
19
19
  "test:integration": "./scripts/test-advanced-prompting.sh integration",