mcp-adr-analysis-server 2.1.19 → 2.1.22

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 (227) hide show
  1. package/README.md +1 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/config/ai-config.d.ts +54 -6
  4. package/dist/src/config/ai-config.d.ts.map +1 -1
  5. package/dist/src/config/ai-config.js +69 -6
  6. package/dist/src/config/ai-config.js.map +1 -1
  7. package/dist/src/config/ape-descriptions.d.ts +77 -0
  8. package/dist/src/config/ape-descriptions.d.ts.map +1 -0
  9. package/dist/src/config/ape-descriptions.js +177 -0
  10. package/dist/src/config/ape-descriptions.js.map +1 -0
  11. package/dist/src/index.d.ts +40 -0
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +564 -8
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/prompts/adr-suggestion-prompts.d.ts +5 -0
  16. package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
  17. package/dist/src/prompts/adr-suggestion-prompts.js +22 -1
  18. package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
  19. package/dist/src/prompts/prompt-catalog.d.ts +95 -0
  20. package/dist/src/prompts/prompt-catalog.d.ts.map +1 -0
  21. package/dist/src/prompts/prompt-catalog.js +300 -0
  22. package/dist/src/prompts/prompt-catalog.js.map +1 -0
  23. package/dist/src/resources/adrs-discovered-resource.d.ts +124 -0
  24. package/dist/src/resources/adrs-discovered-resource.d.ts.map +1 -0
  25. package/dist/src/resources/adrs-discovered-resource.js +174 -0
  26. package/dist/src/resources/adrs-discovered-resource.js.map +1 -0
  27. package/dist/src/resources/adrs-review-resource.d.ts +82 -0
  28. package/dist/src/resources/adrs-review-resource.d.ts.map +1 -0
  29. package/dist/src/resources/adrs-review-resource.js +160 -0
  30. package/dist/src/resources/adrs-review-resource.js.map +1 -0
  31. package/dist/src/resources/architectural-context-resource.d.ts +95 -0
  32. package/dist/src/resources/architectural-context-resource.d.ts.map +1 -0
  33. package/dist/src/resources/architectural-context-resource.js +428 -0
  34. package/dist/src/resources/architectural-context-resource.js.map +1 -0
  35. package/dist/src/resources/conversation-snapshot-resource.d.ts +92 -0
  36. package/dist/src/resources/conversation-snapshot-resource.d.ts.map +1 -0
  37. package/dist/src/resources/conversation-snapshot-resource.js +122 -0
  38. package/dist/src/resources/conversation-snapshot-resource.js.map +1 -0
  39. package/dist/src/resources/deployment-status-resource.js +1 -1
  40. package/dist/src/resources/deployment-status-resource.js.map +1 -1
  41. package/dist/src/resources/environment-analysis-resource.js +1 -1
  42. package/dist/src/resources/environment-analysis-resource.js.map +1 -1
  43. package/dist/src/resources/knowledge-graph-resource.d.ts +129 -0
  44. package/dist/src/resources/knowledge-graph-resource.d.ts.map +1 -0
  45. package/dist/src/resources/knowledge-graph-resource.js +217 -0
  46. package/dist/src/resources/knowledge-graph-resource.js.map +1 -0
  47. package/dist/src/resources/memory-expand-resource.d.ts +90 -0
  48. package/dist/src/resources/memory-expand-resource.d.ts.map +1 -0
  49. package/dist/src/resources/memory-expand-resource.js +176 -0
  50. package/dist/src/resources/memory-expand-resource.js.map +1 -0
  51. package/dist/src/resources/memory-stats-resource.d.ts +77 -0
  52. package/dist/src/resources/memory-stats-resource.d.ts.map +1 -0
  53. package/dist/src/resources/memory-stats-resource.js +108 -0
  54. package/dist/src/resources/memory-stats-resource.js.map +1 -0
  55. package/dist/src/resources/project-metrics-resource.js +1 -1
  56. package/dist/src/resources/project-metrics-resource.js.map +1 -1
  57. package/dist/src/resources/resource-cache.d.ts.map +1 -1
  58. package/dist/src/resources/resource-cache.js +2 -1
  59. package/dist/src/resources/resource-cache.js.map +1 -1
  60. package/dist/src/resources/server-context-resource.d.ts +69 -0
  61. package/dist/src/resources/server-context-resource.d.ts.map +1 -0
  62. package/dist/src/resources/server-context-resource.js +104 -0
  63. package/dist/src/resources/server-context-resource.js.map +1 -0
  64. package/dist/src/resources/tool-catalog-resource.d.ts +122 -0
  65. package/dist/src/resources/tool-catalog-resource.d.ts.map +1 -0
  66. package/dist/src/resources/tool-catalog-resource.js +167 -0
  67. package/dist/src/resources/tool-catalog-resource.js.map +1 -0
  68. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -1
  69. package/dist/src/tools/adr-bootstrap-validation-tool.js +7 -6
  70. package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -1
  71. package/dist/src/tools/adr-suggestion-tool.d.ts +5 -0
  72. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  73. package/dist/src/tools/adr-suggestion-tool.js +40 -71
  74. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  75. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts +23 -1
  76. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts.map +1 -1
  77. package/dist/src/tools/bootstrap-validation-loop-tool.js +15 -5
  78. package/dist/src/tools/bootstrap-validation-loop-tool.js.map +1 -1
  79. package/dist/src/tools/ce-mcp-tools.d.ts +291 -0
  80. package/dist/src/tools/ce-mcp-tools.d.ts.map +1 -0
  81. package/dist/src/tools/ce-mcp-tools.js +1188 -0
  82. package/dist/src/tools/ce-mcp-tools.js.map +1 -0
  83. package/dist/src/tools/content-masking-tool.d.ts +11 -0
  84. package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
  85. package/dist/src/tools/content-masking-tool.js +13 -6
  86. package/dist/src/tools/content-masking-tool.js.map +1 -1
  87. package/dist/src/tools/deployment-readiness-tool.d.ts +11 -0
  88. package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
  89. package/dist/src/tools/deployment-readiness-tool.js +10 -4
  90. package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
  91. package/dist/src/tools/environment-analysis-tool.d.ts +96 -1
  92. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  93. package/dist/src/tools/environment-analysis-tool.js +38 -46
  94. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  95. package/dist/src/tools/research-question-tool.d.ts.map +1 -1
  96. package/dist/src/tools/research-question-tool.js +3 -2
  97. package/dist/src/tools/research-question-tool.js.map +1 -1
  98. package/dist/src/tools/review-existing-adrs-tool.d.ts +5 -0
  99. package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -1
  100. package/dist/src/tools/review-existing-adrs-tool.js +123 -42
  101. package/dist/src/tools/review-existing-adrs-tool.js.map +1 -1
  102. package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
  103. package/dist/src/tools/rule-generation-tool.js +3 -5
  104. package/dist/src/tools/rule-generation-tool.js.map +1 -1
  105. package/dist/src/tools/search-codebase-tool.d.ts +148 -0
  106. package/dist/src/tools/search-codebase-tool.d.ts.map +1 -0
  107. package/dist/src/tools/search-codebase-tool.js +406 -0
  108. package/dist/src/tools/search-codebase-tool.js.map +1 -0
  109. package/dist/src/tools/smart-git-push-tool-v2.js +1 -1
  110. package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -1
  111. package/dist/src/tools/tool-catalog.d.ts +134 -0
  112. package/dist/src/tools/tool-catalog.d.ts.map +1 -0
  113. package/dist/src/tools/tool-catalog.js +1431 -0
  114. package/dist/src/tools/tool-catalog.js.map +1 -0
  115. package/dist/src/tools/tool-chain-orchestrator.d.ts +11 -2
  116. package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
  117. package/dist/src/tools/tool-chain-orchestrator.js +11 -2
  118. package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
  119. package/dist/src/tools/tool-dispatcher.d.ts +98 -0
  120. package/dist/src/tools/tool-dispatcher.d.ts.map +1 -0
  121. package/dist/src/tools/tool-dispatcher.js +225 -0
  122. package/dist/src/tools/tool-dispatcher.js.map +1 -0
  123. package/dist/src/tools/tree-sitter-code-tools.d.ts +184 -0
  124. package/dist/src/tools/tree-sitter-code-tools.d.ts.map +1 -0
  125. package/dist/src/tools/tree-sitter-code-tools.js +642 -0
  126. package/dist/src/tools/tree-sitter-code-tools.js.map +1 -0
  127. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +22 -0
  128. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
  129. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +20 -3
  130. package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
  131. package/dist/src/tools/update-knowledge-tool.d.ts +89 -0
  132. package/dist/src/tools/update-knowledge-tool.d.ts.map +1 -0
  133. package/dist/src/tools/update-knowledge-tool.js +222 -0
  134. package/dist/src/tools/update-knowledge-tool.js.map +1 -0
  135. package/dist/src/types/ce-mcp.d.ts +248 -0
  136. package/dist/src/types/ce-mcp.d.ts.map +1 -0
  137. package/dist/src/types/ce-mcp.js +27 -0
  138. package/dist/src/types/ce-mcp.js.map +1 -0
  139. package/dist/src/utils/adr-context-detector.js +1 -1
  140. package/dist/src/utils/adr-context-detector.js.map +1 -1
  141. package/dist/src/utils/adr-planning-task-integration.d.ts +260 -0
  142. package/dist/src/utils/adr-planning-task-integration.d.ts.map +1 -0
  143. package/dist/src/utils/adr-planning-task-integration.js +466 -0
  144. package/dist/src/utils/adr-planning-task-integration.js.map +1 -0
  145. package/dist/src/utils/adr-timeline-extractor.d.ts.map +1 -1
  146. package/dist/src/utils/adr-timeline-extractor.js +3 -2
  147. package/dist/src/utils/adr-timeline-extractor.js.map +1 -1
  148. package/dist/src/utils/ai-executor.d.ts +10 -0
  149. package/dist/src/utils/ai-executor.d.ts.map +1 -1
  150. package/dist/src/utils/ai-executor.js +14 -3
  151. package/dist/src/utils/ai-executor.js.map +1 -1
  152. package/dist/src/utils/automatic-prompt-engineering.d.ts +5 -0
  153. package/dist/src/utils/automatic-prompt-engineering.d.ts.map +1 -1
  154. package/dist/src/utils/automatic-prompt-engineering.js +10 -90
  155. package/dist/src/utils/automatic-prompt-engineering.js.map +1 -1
  156. package/dist/src/utils/bootstrap-task-integration.d.ts +214 -0
  157. package/dist/src/utils/bootstrap-task-integration.d.ts.map +1 -0
  158. package/dist/src/utils/bootstrap-task-integration.js +365 -0
  159. package/dist/src/utils/bootstrap-task-integration.js.map +1 -0
  160. package/dist/src/utils/dag-executor.d.ts.map +1 -1
  161. package/dist/src/utils/dag-executor.js +48 -15
  162. package/dist/src/utils/dag-executor.js.map +1 -1
  163. package/dist/src/utils/deployment-task-integration.d.ts +260 -0
  164. package/dist/src/utils/deployment-task-integration.d.ts.map +1 -0
  165. package/dist/src/utils/deployment-task-integration.js +393 -0
  166. package/dist/src/utils/deployment-task-integration.js.map +1 -0
  167. package/dist/src/utils/dynamic-deployment-intelligence.js +1 -1
  168. package/dist/src/utils/dynamic-deployment-intelligence.js.map +1 -1
  169. package/dist/src/utils/enhanced-logging.d.ts +3 -0
  170. package/dist/src/utils/enhanced-logging.d.ts.map +1 -1
  171. package/dist/src/utils/enhanced-logging.js +9 -30
  172. package/dist/src/utils/enhanced-logging.js.map +1 -1
  173. package/dist/src/utils/environment-capability-registry.js +1 -1
  174. package/dist/src/utils/environment-capability-registry.js.map +1 -1
  175. package/dist/src/utils/file-system.d.ts.map +1 -1
  176. package/dist/src/utils/file-system.js +33 -3
  177. package/dist/src/utils/file-system.js.map +1 -1
  178. package/dist/src/utils/gitleaks-detector.js +1 -1
  179. package/dist/src/utils/gitleaks-detector.js.map +1 -1
  180. package/dist/src/utils/knowledge-graph-manager.d.ts +13 -0
  181. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
  182. package/dist/src/utils/knowledge-graph-manager.js +13 -0
  183. package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
  184. package/dist/src/utils/prompt-execution.d.ts +29 -1
  185. package/dist/src/utils/prompt-execution.d.ts.map +1 -1
  186. package/dist/src/utils/prompt-execution.js +29 -1
  187. package/dist/src/utils/prompt-execution.js.map +1 -1
  188. package/dist/src/utils/research-orchestrator.d.ts +87 -1
  189. package/dist/src/utils/research-orchestrator.d.ts.map +1 -1
  190. package/dist/src/utils/research-orchestrator.js +121 -17
  191. package/dist/src/utils/research-orchestrator.js.map +1 -1
  192. package/dist/src/utils/research-task-integration.d.ts +297 -0
  193. package/dist/src/utils/research-task-integration.d.ts.map +1 -0
  194. package/dist/src/utils/research-task-integration.js +449 -0
  195. package/dist/src/utils/research-task-integration.js.map +1 -0
  196. package/dist/src/utils/ripgrep-wrapper.d.ts.map +1 -1
  197. package/dist/src/utils/ripgrep-wrapper.js +17 -3
  198. package/dist/src/utils/ripgrep-wrapper.js.map +1 -1
  199. package/dist/src/utils/sandbox-executor.d.ts +145 -0
  200. package/dist/src/utils/sandbox-executor.d.ts.map +1 -0
  201. package/dist/src/utils/sandbox-executor.js +642 -0
  202. package/dist/src/utils/sandbox-executor.js.map +1 -0
  203. package/dist/src/utils/server-context-generator.d.ts +5 -0
  204. package/dist/src/utils/server-context-generator.d.ts.map +1 -1
  205. package/dist/src/utils/server-context-generator.js +38 -0
  206. package/dist/src/utils/server-context-generator.js.map +1 -1
  207. package/dist/src/utils/task-manager.d.ts +239 -0
  208. package/dist/src/utils/task-manager.d.ts.map +1 -0
  209. package/dist/src/utils/task-manager.js +528 -0
  210. package/dist/src/utils/task-manager.js.map +1 -0
  211. package/dist/src/utils/task-persistence.d.ts +82 -0
  212. package/dist/src/utils/task-persistence.d.ts.map +1 -0
  213. package/dist/src/utils/task-persistence.js +248 -0
  214. package/dist/src/utils/task-persistence.js.map +1 -0
  215. package/dist/src/utils/test-aware-defaults.d.ts +57 -0
  216. package/dist/src/utils/test-aware-defaults.d.ts.map +1 -0
  217. package/dist/src/utils/test-aware-defaults.js +71 -0
  218. package/dist/src/utils/test-aware-defaults.js.map +1 -0
  219. package/dist/src/utils/tree-sitter-analyzer.d.ts +42 -5
  220. package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -1
  221. package/dist/src/utils/tree-sitter-analyzer.js +499 -17
  222. package/dist/src/utils/tree-sitter-analyzer.js.map +1 -1
  223. package/package.json +25 -20
  224. package/dist/src/tools/smart-git-push-tool.d.ts +0 -55
  225. package/dist/src/tools/smart-git-push-tool.d.ts.map +0 -1
  226. package/dist/src/tools/smart-git-push-tool.js +0 -1011
  227. package/dist/src/tools/smart-git-push-tool.js.map +0 -1
@@ -2,10 +2,14 @@
2
2
  * MCP Tool for reviewing existing ADRs against actual code implementation
3
3
  * Validates ADR compliance, identifies gaps, and suggests updates
4
4
  * Uses tree-sitter for accurate code analysis
5
+ *
6
+ * Following ADR-018 Atomic Tools Architecture:
7
+ * - Dependency injection for testability
8
+ * - No ResearchOrchestrator (deprecated) - direct utility calls
9
+ * - Self-contained with minimal dependencies
5
10
  */
6
11
  import { McpAdrError } from '../types/index.js';
7
12
  import { TreeSitterAnalyzer } from '../utils/tree-sitter-analyzer.js';
8
- import { ResearchOrchestrator } from '../utils/research-orchestrator.js';
9
13
  import * as path from 'path';
10
14
  import * as fs from 'fs/promises';
11
15
  /**
@@ -13,10 +17,43 @@ import * as fs from 'fs/promises';
13
17
  */
14
18
  export async function reviewExistingAdrs(args) {
15
19
  const { adrDirectory = 'docs/adrs', projectPath = process.cwd(), specificAdr, analysisDepth = 'detailed', includeTreeSitter = true, generateUpdatePlan = true, } = args;
20
+ // Security: Validate and resolve project path
21
+ const resolvedProjectPath = path.resolve(projectPath);
22
+ // Security: Ensure project path is not a system directory
23
+ // Note: We explicitly ALLOW temp directories (/tmp, /var/folders, /private/tmp)
24
+ // because tests and legitimate workflows use them
25
+ const systemPaths = ['/Library', '/System', '/usr', '/etc', '/Applications', '/bin', '/sbin'];
26
+ const allowedVarPaths = ['/var/folders', '/var/tmp']; // macOS temp directories
27
+ const homeDir = process.env['HOME'] || '';
28
+ const sensitiveHomePaths = ['Library', 'Applications'];
29
+ // Check for system paths, but allow temp directories
30
+ const isSystemPath = systemPaths.some(sysPath => resolvedProjectPath.startsWith(sysPath));
31
+ const isAllowedVarPath = allowedVarPaths.some(varPath => resolvedProjectPath.startsWith(varPath));
32
+ if (isSystemPath) {
33
+ throw new McpAdrError('INVALID_INPUT', `Security: Cannot analyze system directory: ${resolvedProjectPath}`, { projectPath: resolvedProjectPath });
34
+ }
35
+ // Block /var paths except allowed temp directories
36
+ if (resolvedProjectPath.startsWith('/var') && !isAllowedVarPath) {
37
+ throw new McpAdrError('INVALID_INPUT', `Security: Cannot analyze system directory: ${resolvedProjectPath}`, { projectPath: resolvedProjectPath });
38
+ }
39
+ // Block /private paths except /private/tmp (macOS symlink for /tmp)
40
+ if (resolvedProjectPath.startsWith('/private') &&
41
+ !resolvedProjectPath.startsWith('/private/tmp') &&
42
+ !resolvedProjectPath.startsWith('/private/var/folders')) {
43
+ throw new McpAdrError('INVALID_INPUT', `Security: Cannot analyze system directory: ${resolvedProjectPath}`, { projectPath: resolvedProjectPath });
44
+ }
45
+ // Check for sensitive paths within home directory
46
+ if (homeDir.length > 0 && resolvedProjectPath.startsWith(homeDir)) {
47
+ const relativePath = resolvedProjectPath.slice(homeDir.length + 1);
48
+ const firstDir = relativePath.split(path.sep)[0];
49
+ if (firstDir && sensitiveHomePaths.includes(firstDir)) {
50
+ throw new McpAdrError('INVALID_INPUT', `Security: Cannot analyze sensitive directory: ${resolvedProjectPath}`, { projectPath: resolvedProjectPath });
51
+ }
52
+ }
16
53
  try {
17
54
  // Step 1: Discover existing ADRs
18
55
  const { discoverAdrsInDirectory } = await import('../utils/adr-discovery.js');
19
- const discoveryResult = await discoverAdrsInDirectory(adrDirectory, projectPath, {
56
+ const discoveryResult = await discoverAdrsInDirectory(adrDirectory, resolvedProjectPath, {
20
57
  includeContent: true,
21
58
  includeTimeline: false,
22
59
  });
@@ -29,7 +66,7 @@ export async function reviewExistingAdrs(args) {
29
66
 
30
67
  ## Discovery Results
31
68
  - **Directory**: ${adrDirectory}
32
- - **Project Path**: ${projectPath}
69
+ - **Project Path**: ${resolvedProjectPath}
33
70
  - **ADRs Found**: 0
34
71
 
35
72
  ## Recommendations
@@ -42,7 +79,7 @@ export async function reviewExistingAdrs(args) {
42
79
  {
43
80
  "tool": "suggest_adrs",
44
81
  "args": {
45
- "projectPath": "${projectPath}",
82
+ "projectPath": "${resolvedProjectPath}",
46
83
  "analysisType": "comprehensive"
47
84
  }
48
85
  }
@@ -60,44 +97,27 @@ export async function reviewExistingAdrs(args) {
60
97
  if (adrsToReview.length === 0) {
61
98
  throw new McpAdrError(`No ADRs found matching: ${specificAdr}`, 'ADR_NOT_FOUND');
62
99
  }
63
- // Step 3: Research environment and implementation state
64
- let environmentContext = '';
65
- let researchConfidence = 0;
66
- try {
67
- const orchestrator = new ResearchOrchestrator(projectPath, adrDirectory);
68
- const research = await orchestrator.answerResearchQuestion(`Analyze ADR implementation status:
69
- 1. What architectural decisions are documented in ADRs?
70
- 2. How are these decisions reflected in the current codebase?
71
- 3. What is the current infrastructure and deployment state?
72
- 4. Are there any gaps between documented decisions and actual implementation?`);
73
- researchConfidence = research.confidence;
74
- const envSource = research.sources.find(s => s.type === 'environment');
75
- const capabilities = envSource?.data?.capabilities || [];
76
- environmentContext = `
77
-
78
- ## 🔍 Research-Driven Analysis
79
-
80
- **Research Confidence**: ${(research.confidence * 100).toFixed(1)}%
100
+ // Step 3: Analyze environment context (simplified - no ResearchOrchestrator per ADR-018)
101
+ // The ResearchOrchestrator is deprecated and caused 37+ test timeouts (850s+ test suite)
102
+ // For environment analysis, users can call environment-analysis-tool separately if needed
103
+ const environmentContext = `
81
104
 
82
- ### Implementation Context
83
- ${research.answer || 'No specific implementation context found'}
105
+ ## 📊 Code Analysis Context
84
106
 
85
- ### Environment Infrastructure
86
- ${capabilities.length > 0 ? capabilities.map((c) => `- ${c}`).join('\n') : '- No infrastructure tools detected'}
107
+ **Analysis Mode**: ${analysisDepth}
108
+ **Tree-sitter Enabled**: ${includeTreeSitter ? '✅' : '❌'}
109
+ **Project**: ${path.basename(resolvedProjectPath)}
87
110
 
88
- ### Sources Analyzed
89
- ${research.sources.map(s => `- ${s.type}: Consulted`).join('\n')}
111
+ > **Note**: For detailed environment analysis, use the \`environment-analysis-tool\` separately.
112
+ > This tool focuses on ADR-to-code compliance validation.
90
113
  `;
91
- }
92
- catch (error) {
93
- environmentContext = `\n## ⚠️ Research Analysis\nFailed to analyze environment: ${error instanceof Error ? error.message : String(error)}\n`;
94
- }
114
+ const researchConfidence = 0.85; // Static confidence for basic code analysis
95
115
  // Step 4: Analyze code structure
96
- const codeAnalysis = await analyzeCodeStructure(projectPath, includeTreeSitter);
116
+ const codeAnalysis = await analyzeCodeStructure(resolvedProjectPath, includeTreeSitter);
97
117
  // Step 5: Review each ADR
98
118
  const reviewResults = [];
99
119
  for (const adr of adrsToReview) {
100
- const reviewResult = await reviewSingleAdr(adr, codeAnalysis, analysisDepth, projectPath);
120
+ const reviewResult = await reviewSingleAdr(adr, codeAnalysis, analysisDepth, resolvedProjectPath);
101
121
  reviewResults.push(reviewResult);
102
122
  }
103
123
  // Step 5: Generate comprehensive report
@@ -107,7 +127,7 @@ ${research.sources.map(s => `- ${s.type}: Consulted`).join('\n')}
107
127
  const needsCodeChanges = reviewResults.filter(result => result.recommendations.updateCode).length;
108
128
  let updatePlan = '';
109
129
  if (generateUpdatePlan) {
110
- updatePlan = await generateUpdatePlanContent(reviewResults, codeAnalysis, projectPath);
130
+ updatePlan = await generateUpdatePlanContent(reviewResults, codeAnalysis, resolvedProjectPath);
111
131
  }
112
132
  return {
113
133
  content: [
@@ -116,7 +136,7 @@ ${research.sources.map(s => `- ${s.type}: Consulted`).join('\n')}
116
136
  text: `# ADR Compliance Review Report
117
137
 
118
138
  ## Overview
119
- - **Project**: ${path.basename(projectPath)}
139
+ - **Project**: ${path.basename(resolvedProjectPath)}
120
140
  - **ADRs Reviewed**: ${reviewResults.length}
121
141
  - **Overall Compliance Score**: ${overallScore.toFixed(1)}/10
122
142
  - **Research Confidence**: ${(researchConfidence * 100).toFixed(1)}%
@@ -650,23 +670,84 @@ ${compliance.gaps.map((g) => `❌ ${g}`).join('\n')}
650
670
  return analysis;
651
671
  }
652
672
  // Helper functions for code analysis
653
- async function findSourceFiles(projectPath) {
673
+ // Directories to always exclude for security and performance
674
+ const EXCLUDED_DIRECTORIES = new Set([
675
+ 'node_modules',
676
+ '.git',
677
+ '.svn',
678
+ '.hg',
679
+ 'dist',
680
+ 'build',
681
+ 'coverage',
682
+ '.cache',
683
+ '.npm',
684
+ '.yarn',
685
+ 'vendor',
686
+ '__pycache__',
687
+ '.pytest_cache',
688
+ 'target',
689
+ 'bin',
690
+ 'obj',
691
+ // System directories that should never be traversed
692
+ 'Library',
693
+ 'System',
694
+ 'Applications',
695
+ 'usr',
696
+ 'var',
697
+ 'etc',
698
+ 'private',
699
+ 'cores',
700
+ 'Volumes',
701
+ ]);
702
+ // Maximum recursion depth for directory traversal
703
+ const MAX_RECURSION_DEPTH = 10;
704
+ async function findSourceFiles(projectPath, rootPath, currentDepth = 0) {
654
705
  const files = [];
655
706
  const extensions = ['.ts', '.js', '.py', '.java', '.cs', '.go', '.rs', '.rb'];
707
+ // Security: Initialize and validate root path on first call
708
+ if (!rootPath) {
709
+ rootPath = path.resolve(projectPath);
710
+ // Ensure we're not starting from a system directory
711
+ const pathParts = rootPath.split(path.sep);
712
+ if (pathParts.some(part => EXCLUDED_DIRECTORIES.has(part) && part !== pathParts[pathParts.length - 1])) {
713
+ console.warn(`Security: Refusing to scan potentially sensitive path: ${rootPath}`);
714
+ return files;
715
+ }
716
+ }
717
+ // Security: Enforce maximum recursion depth
718
+ if (currentDepth > MAX_RECURSION_DEPTH) {
719
+ console.warn(`Security: Maximum recursion depth (${MAX_RECURSION_DEPTH}) reached at: ${projectPath}`);
720
+ return files;
721
+ }
722
+ // Security: Resolve current path and verify it's within root boundary
723
+ const resolvedPath = path.resolve(projectPath);
724
+ if (!resolvedPath.startsWith(rootPath)) {
725
+ console.warn(`Security: Path traversal attempt detected. Path ${resolvedPath} is outside root ${rootPath}`);
726
+ return files;
727
+ }
656
728
  try {
657
- const entries = await fs.readdir(projectPath, { withFileTypes: true });
729
+ const entries = await fs.readdir(resolvedPath, { withFileTypes: true });
658
730
  for (const entry of entries) {
659
- if (entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== 'node_modules') {
660
- const subFiles = await findSourceFiles(path.join(projectPath, entry.name));
731
+ // Skip hidden directories and excluded directories
732
+ if (entry.isDirectory()) {
733
+ if (entry.name.startsWith('.') || EXCLUDED_DIRECTORIES.has(entry.name)) {
734
+ continue;
735
+ }
736
+ const subFiles = await findSourceFiles(path.join(resolvedPath, entry.name), rootPath, currentDepth + 1);
661
737
  files.push(...subFiles);
662
738
  }
663
739
  else if (entry.isFile() && extensions.some(ext => entry.name.endsWith(ext))) {
664
- files.push(path.join(projectPath, entry.name));
740
+ files.push(path.join(resolvedPath, entry.name));
665
741
  }
666
742
  }
667
743
  }
668
744
  catch (error) {
669
- console.warn('Warning reading directory:', error);
745
+ // Only log non-permission errors to avoid noise
746
+ if (error instanceof Error &&
747
+ !error.message.includes('EPERM') &&
748
+ !error.message.includes('EACCES')) {
749
+ console.warn('Warning reading directory:', error);
750
+ }
670
751
  }
671
752
  return files;
672
753
  }
@@ -1 +1 @@
1
- {"version":3,"file":"review-existing-adrs-tool.js","sourceRoot":"","sources":["../../../src/tools/review-existing-adrs-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-existing-adrs-tool.js","sourceRoot":"","sources":["../../../src/tools/review-existing-adrs-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-generation-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/rule-generation-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,GAAG,CAAC,CAkwBf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC9D,YAAY,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAAC,GAAG,CAAC,CA4Nf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,GAAG,CAAC,CAqIf"}
1
+ {"version":3,"file":"rule-generation-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/rule-generation-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,GAAG,CAAC,CAyvBf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC9D,YAAY,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAAC,GAAG,CAAC,CA0Nf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,GAAG,CAAC,CAoIf"}
@@ -5,13 +5,14 @@
5
5
  */
6
6
  import { McpAdrError } from '../types/index.js';
7
7
  import { findFiles, findRelatedCode } from '../utils/file-system.js';
8
+ import { getEnhancedModeDefault, getKnowledgeEnhancementDefault, } from '../utils/test-aware-defaults.js';
8
9
  /**
9
10
  * Generate architectural rules from ADRs and code patterns
10
11
  * Enhanced with Generated Knowledge Prompting for architectural governance expertise
11
12
  */
12
13
  export async function generateRules(args) {
13
- const { source = 'both', adrDirectory = 'docs/adrs', projectPath = process.cwd(), existingRules, outputFormat = 'json', knowledgeEnhancement = true, // Default to GKP enabled
14
- enhancedMode = true, // Default to enhanced mode
14
+ const { source = 'both', adrDirectory = 'docs/adrs', projectPath = process.cwd(), existingRules, outputFormat = 'json', knowledgeEnhancement = getKnowledgeEnhancementDefault(), // Environment-aware default
15
+ enhancedMode = getEnhancedModeDefault(), // Environment-aware default
15
16
  } = args;
16
17
  try {
17
18
  const { extractRulesFromAdrs, generateRulesFromPatterns } = await import('../utils/rule-generation.js');
@@ -190,7 +191,6 @@ ${enhancedPrompt}
190
191
  ].join(' ');
191
192
  const relatedCodeResult = await findRelatedCode('pattern-implementation-analysis', patternContext, projectPath, {
192
193
  useAI: true,
193
- useRipgrep: true,
194
194
  maxFiles: 20,
195
195
  includeContent: false,
196
196
  });
@@ -415,7 +415,6 @@ The Smart Code Linking enhancement provides:
415
415
  ].join(' ');
416
416
  const relatedCodeResult = await findRelatedCode('comprehensive-architecture-analysis', comprehensiveContext, projectPath, {
417
417
  useAI: true,
418
- useRipgrep: true,
419
418
  maxFiles: 30,
420
419
  includeContent: false,
421
420
  });
@@ -695,7 +694,6 @@ export async function validateRules(args) {
695
694
  ].join('\n');
696
695
  const relatedCodeResult = await findRelatedCode('rule-validation-context', validationContext, projectPath, {
697
696
  useAI: true,
698
- useRipgrep: true,
699
697
  maxFiles: 12,
700
698
  includeContent: false,
701
699
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rule-generation-tool.js","sourceRoot":"","sources":["../../../src/tools/rule-generation-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-generation-tool.js","sourceRoot":"","sources":["../../../src/tools/rule-generation-tool.ts"],"names":[],"mappings":"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"}