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.
- package/dist/src/index.d.ts +26 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +535 -323
- package/dist/src/index.js.map +1 -1
- package/dist/src/prompts/adr-suggestion-prompts.d.ts +1 -0
- package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
- package/dist/src/prompts/adr-suggestion-prompts.js +42 -34
- package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
- package/dist/src/prompts/analysis-prompts.js +7 -7
- package/dist/src/prompts/deployment-analysis-prompts.js +5 -5
- package/dist/src/prompts/environment-analysis-prompts.js +7 -7
- package/dist/src/prompts/index.d.ts.map +1 -1
- package/dist/src/prompts/index.js +7 -5
- package/dist/src/prompts/index.js.map +1 -1
- package/dist/src/prompts/research-integration-prompts.js +7 -7
- package/dist/src/prompts/research-question-prompts.js +7 -7
- package/dist/src/prompts/rule-generation-prompts.d.ts.map +1 -1
- package/dist/src/prompts/rule-generation-prompts.js +8 -6
- package/dist/src/prompts/rule-generation-prompts.js.map +1 -1
- package/dist/src/prompts/security-prompts.js +6 -6
- package/dist/src/resources/index.d.ts.map +1 -1
- package/dist/src/resources/index.js +31 -15
- package/dist/src/resources/index.js.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.d.ts +4 -1
- package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.js +72 -114
- package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
- package/dist/src/tools/content-masking-tool.d.ts +7 -0
- package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
- package/dist/src/tools/content-masking-tool.js +134 -17
- package/dist/src/tools/content-masking-tool.js.map +1 -1
- package/dist/src/tools/environment-analysis-tool.d.ts +4 -0
- package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
- package/dist/src/tools/environment-analysis-tool.js +209 -25
- package/dist/src/tools/environment-analysis-tool.js.map +1 -1
- package/dist/src/tools/research-question-tool.d.ts +4 -0
- package/dist/src/tools/research-question-tool.d.ts.map +1 -1
- package/dist/src/tools/research-question-tool.js +42 -4
- package/dist/src/tools/research-question-tool.js.map +1 -1
- package/dist/src/tools/rule-generation-tool.d.ts +4 -0
- package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
- package/dist/src/tools/rule-generation-tool.js +136 -16
- package/dist/src/tools/rule-generation-tool.js.map +1 -1
- package/dist/src/types/conversation-context.d.ts +93 -0
- package/dist/src/types/conversation-context.d.ts.map +1 -0
- package/dist/src/types/conversation-context.js +101 -0
- package/dist/src/types/conversation-context.js.map +1 -0
- package/dist/src/utils/actual-file-operations.d.ts +40 -0
- package/dist/src/utils/actual-file-operations.d.ts.map +1 -0
- package/dist/src/utils/actual-file-operations.js +309 -0
- package/dist/src/utils/actual-file-operations.js.map +1 -0
- package/dist/src/utils/adr-discovery.d.ts +36 -0
- package/dist/src/utils/adr-discovery.d.ts.map +1 -0
- package/dist/src/utils/adr-discovery.js +237 -0
- package/dist/src/utils/adr-discovery.js.map +1 -0
- package/dist/src/utils/adr-suggestions.d.ts +2 -1
- package/dist/src/utils/adr-suggestions.d.ts.map +1 -1
- package/dist/src/utils/adr-suggestions.js +8 -2
- package/dist/src/utils/adr-suggestions.js.map +1 -1
- package/dist/src/utils/apply-cot-enhancement.d.ts +46 -0
- package/dist/src/utils/apply-cot-enhancement.d.ts.map +1 -0
- package/dist/src/utils/apply-cot-enhancement.js +165 -0
- package/dist/src/utils/apply-cot-enhancement.js.map +1 -0
- package/dist/src/utils/chain-of-thought-template.d.ts +48 -0
- package/dist/src/utils/chain-of-thought-template.d.ts.map +1 -0
- package/dist/src/utils/chain-of-thought-template.js +191 -0
- package/dist/src/utils/chain-of-thought-template.js.map +1 -0
- package/dist/src/utils/deployment-analysis.d.ts +1 -0
- package/dist/src/utils/deployment-analysis.d.ts.map +1 -1
- package/dist/src/utils/deployment-analysis.js +82 -39
- package/dist/src/utils/deployment-analysis.js.map +1 -1
- package/dist/src/utils/environment-analysis.d.ts +6 -1
- package/dist/src/utils/environment-analysis.d.ts.map +1 -1
- package/dist/src/utils/environment-analysis.js +176 -87
- package/dist/src/utils/environment-analysis.js.map +1 -1
- package/dist/src/utils/file-system.d.ts +1 -0
- package/dist/src/utils/file-system.d.ts.map +1 -1
- package/dist/src/utils/file-system.js +24 -47
- package/dist/src/utils/file-system.js.map +1 -1
- package/dist/src/utils/prompt-execution.d.ts.map +1 -1
- package/dist/src/utils/prompt-execution.js +67 -3
- package/dist/src/utils/prompt-execution.js.map +1 -1
- package/dist/src/utils/research-integration.d.ts +4 -0
- package/dist/src/utils/research-integration.d.ts.map +1 -1
- package/dist/src/utils/research-integration.js +275 -84
- package/dist/src/utils/research-integration.js.map +1 -1
- package/dist/src/utils/research-questions.d.ts.map +1 -1
- package/dist/src/utils/research-questions.js +134 -38
- package/dist/src/utils/research-questions.js.map +1 -1
- package/dist/src/utils/rule-generation.d.ts +2 -1
- package/dist/src/utils/rule-generation.d.ts.map +1 -1
- package/dist/src/utils/rule-generation.js +65 -36
- package/dist/src/utils/rule-generation.js.map +1 -1
- 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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
69
|
+
Based on actual ADR file analysis, here are the discovered ADRs with their full content:
|
|
71
70
|
|
|
72
|
-
##
|
|
71
|
+
## Discovered ADRs (${discoveryResult.totalAdrs} total)
|
|
73
72
|
|
|
74
|
-
${
|
|
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
|
-
|
|
81
|
+
#### ADR Content:
|
|
82
|
+
\`\`\`markdown
|
|
83
|
+
${adr.content || 'Content not available'}
|
|
84
|
+
\`\`\`
|
|
77
85
|
|
|
78
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
//
|
|
152
|
-
const projectStructure = await
|
|
171
|
+
// Actually scan project context
|
|
172
|
+
const projectStructure = await scanProjectStructure(projectPath, { readContent: false });
|
|
153
173
|
const projectContext = {
|
|
154
|
-
technologies: projectStructure
|
|
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
|
-
${
|
|
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. **
|
|
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
|
|
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
|
-
|
|
424
|
+
const directories = projectStructure.directories || [];
|
|
425
|
+
if (directories.some((dir) => dir.includes('service') || dir.includes('microservice'))) {
|
|
340
426
|
return 'microservices';
|
|
341
427
|
}
|
|
342
|
-
if (
|
|
428
|
+
if (directories.some((dir) => dir.includes('layer') || dir.includes('tier'))) {
|
|
343
429
|
return 'layered';
|
|
344
430
|
}
|
|
345
|
-
if (projectStructure.
|
|
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
|
|
355
|
-
if (technologies.some((tech) => tech.
|
|
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.
|
|
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.
|
|
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.
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA2DhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAA2B,EAC3B,cAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,EAAE,yCAAyC,EAAE,GAAG,MAAM,MAAM,CAChE,yCAAyC,CAC1C,CAAC;QAEF,MAAM,iBAAiB,GAAG,yCAAyC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,YAAY,GAAG;;;;;;kBAMP,QAAQ,CAAC,MAAM;sBACX,cAAc,CAAC,YAAY,CAAC,MAAM;kBACtC,cAAc,CAAC,QAAQ,CAAC,MAAM;cAClC,cAAc,CAAC,IAAI,CAAC,MAAM;uBACjB,cAAc,CAAC,aAAa,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;CAsBzD,CAAC;QAEE,OAAO;YACL,iBAAiB;YACjB,YAAY;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxG,mBAAmB,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,eAAgC,EAChC,eAAuB,WAAW;IAElC,IAAI,CAAC;QACH,MAAM,EAAE,
|
|
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":"AAAA;;;GAGG;AAIH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;IAC7F,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,CAAC;IAC5D,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IACpD,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,UAAU,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,GAAE,MAAoB,EAClC,aAAa,CAAC,EAAE,iBAAiB,EAAE,GAClC,OAAO,CAAC;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
18
|
+
Based on actual ADR file analysis, here are the discovered ADRs with their full content:
|
|
20
19
|
|
|
21
|
-
##
|
|
20
|
+
## Discovered ADRs (${discoveryResult.totalAdrs} total)
|
|
22
21
|
|
|
23
|
-
${
|
|
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
|
-
|
|
30
|
+
#### ADR Content:
|
|
31
|
+
\`\`\`markdown
|
|
32
|
+
${adr.content || 'Content not available'}
|
|
33
|
+
\`\`\`
|
|
26
34
|
|
|
27
|
-
|
|
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
|
|
43
|
-
|
|
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
|
|
76
|
+
This analysis provides **actual ADR content** for comprehensive architectural rule extraction.
|
|
63
77
|
|
|
64
78
|
## Extraction Scope
|
|
65
79
|
- **ADR Directory**: ${adrDirectory}
|
|
66
|
-
- **
|
|
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
|
-
##
|
|
71
|
-
|
|
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
|
-
##
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0DhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,eAAuB,WAAW,EAClC,aAAmC;IAEnC,IAAI,CAAC;QACH,MAAM,EAAE,
|
|
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.
|
|
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",
|