mcp-ai-agent-guidelines 0.7.2 → 0.7.4

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 (253) hide show
  1. package/README.md +236 -9
  2. package/dist/index.js +487 -5
  3. package/dist/index.js.map +1 -1
  4. package/dist/prompts/index.d.ts +18 -0
  5. package/dist/prompts/index.d.ts.map +1 -1
  6. package/dist/prompts/index.js +127 -492
  7. package/dist/prompts/index.js.map +1 -1
  8. package/dist/resources/structured.d.ts.map +1 -1
  9. package/dist/resources/structured.js +410 -0
  10. package/dist/resources/structured.js.map +1 -1
  11. package/dist/schemas/flow-tool-schemas.d.ts +167 -0
  12. package/dist/schemas/flow-tool-schemas.d.ts.map +1 -0
  13. package/dist/schemas/flow-tool-schemas.js +149 -0
  14. package/dist/schemas/flow-tool-schemas.js.map +1 -0
  15. package/dist/tools/bridge/index.d.ts +83 -0
  16. package/dist/tools/bridge/index.d.ts.map +1 -0
  17. package/dist/tools/bridge/index.js +85 -0
  18. package/dist/tools/bridge/index.js.map +1 -0
  19. package/dist/tools/bridge/project-onboarding-bridge.d.ts +54 -0
  20. package/dist/tools/bridge/project-onboarding-bridge.d.ts.map +1 -0
  21. package/dist/tools/bridge/project-onboarding-bridge.js +220 -0
  22. package/dist/tools/bridge/project-onboarding-bridge.js.map +1 -0
  23. package/dist/tools/bridge/semantic-analyzer-bridge.d.ts +47 -0
  24. package/dist/tools/bridge/semantic-analyzer-bridge.d.ts.map +1 -0
  25. package/dist/tools/bridge/semantic-analyzer-bridge.js +174 -0
  26. package/dist/tools/bridge/semantic-analyzer-bridge.js.map +1 -0
  27. package/dist/tools/clean-code-scorer.d.ts +7 -0
  28. package/dist/tools/clean-code-scorer.d.ts.map +1 -0
  29. package/dist/tools/clean-code-scorer.js +359 -0
  30. package/dist/tools/clean-code-scorer.js.map +1 -0
  31. package/dist/tools/code-hygiene-analyzer.js +181 -9
  32. package/dist/tools/code-hygiene-analyzer.js.map +1 -1
  33. package/dist/tools/config/guidelines-config.d.ts +2 -14
  34. package/dist/tools/config/guidelines-config.d.ts.map +1 -1
  35. package/dist/tools/config/guidelines-config.js +45 -6
  36. package/dist/tools/config/guidelines-config.js.map +1 -1
  37. package/dist/tools/config/model-config.d.ts +2 -23
  38. package/dist/tools/config/model-config.d.ts.map +1 -1
  39. package/dist/tools/config/model-config.js.map +1 -1
  40. package/dist/tools/config/types/guidelines.types.d.ts +15 -0
  41. package/dist/tools/config/types/guidelines.types.d.ts.map +1 -0
  42. package/dist/tools/config/types/guidelines.types.js +3 -0
  43. package/dist/tools/config/types/guidelines.types.js.map +1 -0
  44. package/dist/tools/config/types/index.d.ts +3 -0
  45. package/dist/tools/config/types/index.d.ts.map +1 -0
  46. package/dist/tools/config/types/index.js +3 -0
  47. package/dist/tools/config/types/index.js.map +1 -0
  48. package/dist/tools/config/types/model.types.d.ts +24 -0
  49. package/dist/tools/config/types/model.types.d.ts.map +1 -0
  50. package/dist/tools/config/types/model.types.js +3 -0
  51. package/dist/tools/config/types/model.types.js.map +1 -0
  52. package/dist/tools/design/adr-generator.d.ts +1 -1
  53. package/dist/tools/design/adr-generator.d.ts.map +1 -1
  54. package/dist/tools/design/adr-generator.js +5 -1
  55. package/dist/tools/design/adr-generator.js.map +1 -1
  56. package/dist/tools/design/confirmation-module.d.ts +1 -1
  57. package/dist/tools/design/confirmation-module.d.ts.map +1 -1
  58. package/dist/tools/design/confirmation-module.js +2 -0
  59. package/dist/tools/design/confirmation-module.js.map +1 -1
  60. package/dist/tools/design/confirmation-prompt-builder.d.ts +1 -1
  61. package/dist/tools/design/confirmation-prompt-builder.d.ts.map +1 -1
  62. package/dist/tools/design/confirmation-prompt-builder.js +5 -1
  63. package/dist/tools/design/confirmation-prompt-builder.js.map +1 -1
  64. package/dist/tools/design/constraint-consistency-enforcer.d.ts +1 -1
  65. package/dist/tools/design/constraint-consistency-enforcer.d.ts.map +1 -1
  66. package/dist/tools/design/constraint-consistency-enforcer.js +6 -1
  67. package/dist/tools/design/constraint-consistency-enforcer.js.map +1 -1
  68. package/dist/tools/design/constraint-manager.d.ts +9 -9
  69. package/dist/tools/design/constraint-manager.d.ts.map +1 -1
  70. package/dist/tools/design/coverage-enforcer.d.ts +1 -1
  71. package/dist/tools/design/coverage-enforcer.d.ts.map +1 -1
  72. package/dist/tools/design/cross-session-consistency-enforcer.d.ts +1 -1
  73. package/dist/tools/design/cross-session-consistency-enforcer.d.ts.map +1 -1
  74. package/dist/tools/design/design-assistant.d.ts +1 -15
  75. package/dist/tools/design/design-assistant.d.ts.map +1 -1
  76. package/dist/tools/design/design-assistant.js +29 -853
  77. package/dist/tools/design/design-assistant.js.map +1 -1
  78. package/dist/tools/design/design-phase-workflow.d.ts +1 -1
  79. package/dist/tools/design/design-phase-workflow.d.ts.map +1 -1
  80. package/dist/tools/design/design-phase-workflow.js +15 -8
  81. package/dist/tools/design/design-phase-workflow.js.map +1 -1
  82. package/dist/tools/design/index.d.ts +1 -1
  83. package/dist/tools/design/index.d.ts.map +1 -1
  84. package/dist/tools/design/methodology-selector.d.ts +1 -1
  85. package/dist/tools/design/methodology-selector.d.ts.map +1 -1
  86. package/dist/tools/design/pivot-module.d.ts +1 -1
  87. package/dist/tools/design/pivot-module.d.ts.map +1 -1
  88. package/dist/tools/design/roadmap-generator.d.ts +1 -1
  89. package/dist/tools/design/roadmap-generator.d.ts.map +1 -1
  90. package/dist/tools/design/roadmap-generator.js.map +1 -1
  91. package/dist/tools/design/services/additional-operations.service.d.ts +23 -0
  92. package/dist/tools/design/services/additional-operations.service.d.ts.map +1 -0
  93. package/dist/tools/design/services/additional-operations.service.js +215 -0
  94. package/dist/tools/design/services/additional-operations.service.js.map +1 -0
  95. package/dist/tools/design/services/artifact-generation.service.d.ts +19 -0
  96. package/dist/tools/design/services/artifact-generation.service.d.ts.map +1 -0
  97. package/dist/tools/design/services/artifact-generation.service.js +171 -0
  98. package/dist/tools/design/services/artifact-generation.service.js.map +1 -0
  99. package/dist/tools/design/services/consistency.service.d.ts +24 -0
  100. package/dist/tools/design/services/consistency.service.d.ts.map +1 -0
  101. package/dist/tools/design/services/consistency.service.js +196 -0
  102. package/dist/tools/design/services/consistency.service.js.map +1 -0
  103. package/dist/tools/design/services/index.d.ts +7 -0
  104. package/dist/tools/design/services/index.d.ts.map +1 -0
  105. package/dist/tools/design/services/index.js +9 -0
  106. package/dist/tools/design/services/index.js.map +1 -0
  107. package/dist/tools/design/services/phase-management.service.d.ts +25 -0
  108. package/dist/tools/design/services/phase-management.service.d.ts.map +1 -0
  109. package/dist/tools/design/services/phase-management.service.js +133 -0
  110. package/dist/tools/design/services/phase-management.service.js.map +1 -0
  111. package/dist/tools/design/services/session-management.service.d.ts +23 -0
  112. package/dist/tools/design/services/session-management.service.d.ts.map +1 -0
  113. package/dist/tools/design/services/session-management.service.js +190 -0
  114. package/dist/tools/design/services/session-management.service.js.map +1 -0
  115. package/dist/tools/design/spec-generator.d.ts +1 -1
  116. package/dist/tools/design/spec-generator.d.ts.map +1 -1
  117. package/dist/tools/design/spec-generator.js +3 -3
  118. package/dist/tools/design/spec-generator.js.map +1 -1
  119. package/dist/tools/design/strategic-pivot-prompt-builder.d.ts +1 -1
  120. package/dist/tools/design/strategic-pivot-prompt-builder.d.ts.map +1 -1
  121. package/dist/tools/design/types/artifact.types.d.ts +16 -0
  122. package/dist/tools/design/types/artifact.types.d.ts.map +1 -0
  123. package/dist/tools/design/types/artifact.types.js +3 -0
  124. package/dist/tools/design/types/artifact.types.js.map +1 -0
  125. package/dist/tools/design/types/common.types.d.ts +8 -0
  126. package/dist/tools/design/types/common.types.d.ts.map +1 -0
  127. package/dist/tools/design/types/common.types.js +3 -0
  128. package/dist/tools/design/types/common.types.js.map +1 -0
  129. package/dist/tools/design/types/consistency.types.d.ts +130 -0
  130. package/dist/tools/design/types/consistency.types.d.ts.map +1 -0
  131. package/dist/tools/design/types/consistency.types.js +3 -0
  132. package/dist/tools/design/types/consistency.types.js.map +1 -0
  133. package/dist/tools/design/types/constraint.types.d.ts +53 -0
  134. package/dist/tools/design/types/constraint.types.d.ts.map +1 -0
  135. package/dist/tools/design/types/constraint.types.js +3 -0
  136. package/dist/tools/design/types/constraint.types.js.map +1 -0
  137. package/dist/tools/design/types/coverage.types.d.ts +59 -0
  138. package/dist/tools/design/types/coverage.types.d.ts.map +1 -0
  139. package/dist/tools/design/types/coverage.types.js +3 -0
  140. package/dist/tools/design/types/coverage.types.js.map +1 -0
  141. package/dist/tools/design/types/index.d.ts +9 -0
  142. package/dist/tools/design/types/index.d.ts.map +1 -0
  143. package/dist/tools/design/types/index.js +4 -0
  144. package/dist/tools/design/types/index.js.map +1 -0
  145. package/dist/tools/design/types/methodology.types.d.ts +53 -0
  146. package/dist/tools/design/types/methodology.types.d.ts.map +1 -0
  147. package/dist/tools/design/types/methodology.types.js +3 -0
  148. package/dist/tools/design/types/methodology.types.js.map +1 -0
  149. package/dist/tools/design/types/pivot.types.d.ts +56 -0
  150. package/dist/tools/design/types/pivot.types.d.ts.map +1 -0
  151. package/dist/tools/design/types/pivot.types.js +3 -0
  152. package/dist/tools/design/types/pivot.types.js.map +1 -0
  153. package/dist/tools/design/types/session.types.d.ts +50 -0
  154. package/dist/tools/design/types/session.types.d.ts.map +1 -0
  155. package/dist/tools/design/types/session.types.js +3 -0
  156. package/dist/tools/design/types/session.types.js.map +1 -0
  157. package/dist/tools/design/types.d.ts +18 -401
  158. package/dist/tools/design/types.d.ts.map +1 -1
  159. package/dist/tools/design/types.js +17 -1
  160. package/dist/tools/design/types.js.map +1 -1
  161. package/dist/tools/guidelines-validator.js +3 -3
  162. package/dist/tools/mermaid-diagram-generator.d.ts.map +1 -1
  163. package/dist/tools/mermaid-diagram-generator.js +712 -58
  164. package/dist/tools/mermaid-diagram-generator.js.map +1 -1
  165. package/dist/tools/mode-switcher.d.ts +21 -0
  166. package/dist/tools/mode-switcher.d.ts.map +1 -0
  167. package/dist/tools/mode-switcher.js +383 -0
  168. package/dist/tools/mode-switcher.js.map +1 -0
  169. package/dist/tools/project-onboarding.d.ts +7 -0
  170. package/dist/tools/project-onboarding.d.ts.map +1 -0
  171. package/dist/tools/project-onboarding.js +344 -0
  172. package/dist/tools/project-onboarding.js.map +1 -0
  173. package/dist/tools/prompt/architecture-design-prompt-builder.d.ts +7 -0
  174. package/dist/tools/prompt/architecture-design-prompt-builder.d.ts.map +1 -0
  175. package/dist/tools/prompt/architecture-design-prompt-builder.js +143 -0
  176. package/dist/tools/prompt/architecture-design-prompt-builder.js.map +1 -0
  177. package/dist/tools/prompt/code-analysis-prompt-builder.d.ts +7 -0
  178. package/dist/tools/prompt/code-analysis-prompt-builder.d.ts.map +1 -0
  179. package/dist/tools/prompt/code-analysis-prompt-builder.js +292 -0
  180. package/dist/tools/prompt/code-analysis-prompt-builder.js.map +1 -0
  181. package/dist/tools/prompt/debugging-assistant-prompt-builder.d.ts +7 -0
  182. package/dist/tools/prompt/debugging-assistant-prompt-builder.d.ts.map +1 -0
  183. package/dist/tools/prompt/debugging-assistant-prompt-builder.js +360 -0
  184. package/dist/tools/prompt/debugging-assistant-prompt-builder.js.map +1 -0
  185. package/dist/tools/prompt/documentation-generator-prompt-builder.d.ts +7 -0
  186. package/dist/tools/prompt/documentation-generator-prompt-builder.d.ts.map +1 -0
  187. package/dist/tools/prompt/documentation-generator-prompt-builder.js +152 -0
  188. package/dist/tools/prompt/documentation-generator-prompt-builder.js.map +1 -0
  189. package/dist/tools/prompt/domain-neutral-prompt-builder.d.ts +39 -39
  190. package/dist/tools/prompt/hierarchical-prompt-builder.d.ts +20 -20
  191. package/dist/tools/prompt/hierarchical-prompt-builder.d.ts.map +1 -1
  192. package/dist/tools/prompt/hierarchical-prompt-builder.js +275 -17
  193. package/dist/tools/prompt/hierarchical-prompt-builder.js.map +1 -1
  194. package/dist/tools/prompt/hierarchy-level-selector.d.ts +7 -0
  195. package/dist/tools/prompt/hierarchy-level-selector.d.ts.map +1 -0
  196. package/dist/tools/prompt/hierarchy-level-selector.js +256 -0
  197. package/dist/tools/prompt/hierarchy-level-selector.js.map +1 -0
  198. package/dist/tools/prompt/prompt-chaining-builder.d.ts +29 -0
  199. package/dist/tools/prompt/prompt-chaining-builder.d.ts.map +1 -0
  200. package/dist/tools/prompt/prompt-chaining-builder.js +212 -0
  201. package/dist/tools/prompt/prompt-chaining-builder.js.map +1 -0
  202. package/dist/tools/prompt/prompt-flow-builder.d.ts +24 -0
  203. package/dist/tools/prompt/prompt-flow-builder.d.ts.map +1 -0
  204. package/dist/tools/prompt/prompt-flow-builder.js +426 -0
  205. package/dist/tools/prompt/prompt-flow-builder.js.map +1 -0
  206. package/dist/tools/prompt/prompting-hierarchy-evaluator.d.ts +13 -0
  207. package/dist/tools/prompt/prompting-hierarchy-evaluator.d.ts.map +1 -0
  208. package/dist/tools/prompt/prompting-hierarchy-evaluator.js +372 -0
  209. package/dist/tools/prompt/prompting-hierarchy-evaluator.js.map +1 -0
  210. package/dist/tools/prompt/spark-prompt-builder.d.ts +54 -54
  211. package/dist/tools/prompt/types/hierarchy.types.d.ts +42 -0
  212. package/dist/tools/prompt/types/hierarchy.types.d.ts.map +1 -0
  213. package/dist/tools/prompt/types/hierarchy.types.js +23 -0
  214. package/dist/tools/prompt/types/hierarchy.types.js.map +1 -0
  215. package/dist/tools/prompt/types/index.d.ts +2 -0
  216. package/dist/tools/prompt/types/index.d.ts.map +1 -0
  217. package/dist/tools/prompt/types/index.js +3 -0
  218. package/dist/tools/prompt/types/index.js.map +1 -0
  219. package/dist/tools/semantic-code-analyzer.d.ts +7 -0
  220. package/dist/tools/semantic-code-analyzer.d.ts.map +1 -0
  221. package/dist/tools/semantic-code-analyzer.js +380 -0
  222. package/dist/tools/semantic-code-analyzer.js.map +1 -0
  223. package/dist/tools/shared/errors.d.ts +101 -0
  224. package/dist/tools/shared/errors.d.ts.map +1 -0
  225. package/dist/tools/shared/errors.js +176 -0
  226. package/dist/tools/shared/errors.js.map +1 -0
  227. package/dist/tools/shared/logger.d.ts +40 -0
  228. package/dist/tools/shared/logger.d.ts.map +1 -0
  229. package/dist/tools/shared/logger.js +53 -0
  230. package/dist/tools/shared/logger.js.map +1 -0
  231. package/dist/tools/shared/prompt-sections.d.ts +3 -7
  232. package/dist/tools/shared/prompt-sections.d.ts.map +1 -1
  233. package/dist/tools/shared/prompt-sections.js +2 -26
  234. package/dist/tools/shared/prompt-sections.js.map +1 -1
  235. package/dist/tools/shared/prompt-utils.d.ts +2 -6
  236. package/dist/tools/shared/prompt-utils.d.ts.map +1 -1
  237. package/dist/tools/shared/prompt-utils.js.map +1 -1
  238. package/dist/tools/shared/types/index.d.ts +3 -0
  239. package/dist/tools/shared/types/index.d.ts.map +1 -0
  240. package/dist/tools/shared/types/index.js +3 -0
  241. package/dist/tools/shared/types/index.js.map +1 -0
  242. package/dist/tools/shared/types/prompt-sections.types.d.ts +8 -0
  243. package/dist/tools/shared/types/prompt-sections.types.d.ts.map +1 -0
  244. package/dist/tools/shared/types/prompt-sections.types.js +28 -0
  245. package/dist/tools/shared/types/prompt-sections.types.js.map +1 -0
  246. package/dist/tools/shared/types/prompt-utils.types.d.ts +7 -0
  247. package/dist/tools/shared/types/prompt-utils.types.d.ts.map +1 -0
  248. package/dist/tools/shared/types/prompt-utils.types.js +3 -0
  249. package/dist/tools/shared/types/prompt-utils.types.js.map +1 -0
  250. package/dist/tools/sprint-timeline-calculator.d.ts.map +1 -1
  251. package/dist/tools/sprint-timeline-calculator.js +134 -28
  252. package/dist/tools/sprint-timeline-calculator.js.map +1 -1
  253. package/package.json +9 -3
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Bridge Connector for Project Onboarding
3
+ *
4
+ * Provides integration points between project onboarding and other tools
5
+ * Enables onboarding data to enhance all other tools with project context
6
+ */
7
+ /**
8
+ * Integration helpers for project onboarding with other tools
9
+ */
10
+ /**
11
+ * Extract project context from onboarding results
12
+ */
13
+ export function extractProjectContext(onboardingResult) {
14
+ const context = {
15
+ name: "",
16
+ type: "other",
17
+ languages: [],
18
+ frameworks: [],
19
+ buildSystem: "",
20
+ testFramework: "",
21
+ structure: {
22
+ directories: [],
23
+ keyFiles: [],
24
+ entryPoints: [],
25
+ },
26
+ };
27
+ // Extract name
28
+ const nameMatch = onboardingResult.match(/\| Name \| ([^|]+) \|/);
29
+ if (nameMatch)
30
+ context.name = nameMatch[1].trim();
31
+ // Extract type
32
+ const typeMatch = onboardingResult.match(/\| Type \| ([^|]+) \|/);
33
+ if (typeMatch)
34
+ context.type = typeMatch[1].trim();
35
+ // Extract languages
36
+ const langMatch = onboardingResult.match(/\| Languages \| ([^|]+) \|/);
37
+ if (langMatch) {
38
+ context.languages = langMatch[1].split(",").map((l) => l.trim());
39
+ }
40
+ // Extract frameworks
41
+ const fwMatch = onboardingResult.match(/\| Frameworks \| ([^|]+) \|/);
42
+ if (fwMatch) {
43
+ context.frameworks = fwMatch[1].split(",").map((f) => f.trim());
44
+ }
45
+ // Extract build system
46
+ const buildMatch = onboardingResult.match(/\| Build System \| ([^|]+) \|/);
47
+ if (buildMatch)
48
+ context.buildSystem = buildMatch[1].trim();
49
+ // Extract test framework
50
+ const testMatch = onboardingResult.match(/\| Test Framework \| ([^|]+) \|/);
51
+ if (testMatch)
52
+ context.testFramework = testMatch[1].trim();
53
+ // Extract directories
54
+ const dirSection = onboardingResult.match(/\*\*Key Directories:\*\*\n([^*]+)/);
55
+ if (dirSection) {
56
+ context.structure.directories = dirSection[1]
57
+ .split("\n")
58
+ .map((l) => l.replace(/^-\s*`?([^`\n]+)`?/, "$1").trim())
59
+ .filter(Boolean);
60
+ }
61
+ // Extract key files
62
+ const filesSection = onboardingResult.match(/\*\*Key Files:\*\*\n([^*]+)/);
63
+ if (filesSection) {
64
+ context.structure.keyFiles = filesSection[1]
65
+ .split("\n")
66
+ .map((l) => l.replace(/^-\s*`?([^`\n]+)`?/, "$1").trim())
67
+ .filter(Boolean);
68
+ }
69
+ // Extract entry points
70
+ const entrySection = onboardingResult.match(/\*\*Entry Points:\*\*\n([^#]+)/);
71
+ if (entrySection) {
72
+ context.structure.entryPoints = entrySection[1]
73
+ .split("\n")
74
+ .map((l) => l.replace(/^-\s*`?([^`\n]+)`?/, "$1").trim())
75
+ .filter(Boolean);
76
+ }
77
+ return context;
78
+ }
79
+ /**
80
+ * Enhance any tool with project context
81
+ */
82
+ export function enhanceToolWithProjectContext(toolInput, projectContext) {
83
+ if (typeof toolInput === "object" && toolInput !== null) {
84
+ return {
85
+ ...toolInput,
86
+ projectContext: {
87
+ name: projectContext.name,
88
+ type: projectContext.type,
89
+ languages: projectContext.languages,
90
+ buildSystem: projectContext.buildSystem,
91
+ },
92
+ };
93
+ }
94
+ return toolInput;
95
+ }
96
+ /**
97
+ * Generate hierarchical prompt with project context
98
+ */
99
+ export function generateContextualPrompt(projectContext, taskDescription) {
100
+ return `# Task: ${taskDescription}
101
+
102
+ ## Project Context
103
+ - **Name**: ${projectContext.name}
104
+ - **Type**: ${projectContext.type}
105
+ - **Languages**: ${projectContext.languages.join(", ")}
106
+ - **Build System**: ${projectContext.buildSystem}
107
+ - **Test Framework**: ${projectContext.testFramework}
108
+
109
+ ## Project Structure
110
+ ### Entry Points
111
+ ${projectContext.structure.entryPoints.map((ep) => `- ${ep}`).join("\n")}
112
+
113
+ ### Key Directories
114
+ ${projectContext.structure.directories
115
+ .slice(0, 5)
116
+ .map((d) => `- ${d}`)
117
+ .join("\n")}
118
+
119
+ ### Key Files
120
+ ${projectContext.structure.keyFiles
121
+ .slice(0, 5)
122
+ .map((f) => `- ${f}`)
123
+ .join("\n")}
124
+
125
+ ## Task Requirements
126
+ Consider the project structure and conventions when completing this task.`;
127
+ }
128
+ /**
129
+ * Generate code hygiene analysis with project-specific rules
130
+ */
131
+ export function generateProjectSpecificHygieneRules(projectContext) {
132
+ const rules = [];
133
+ // Language-specific rules
134
+ if (projectContext.languages.includes("TypeScript/JavaScript")) {
135
+ rules.push("Check for proper TypeScript type annotations");
136
+ rules.push("Ensure ESLint/Biome rules are followed");
137
+ }
138
+ if (projectContext.languages.includes("Python")) {
139
+ rules.push("Verify type hints are present");
140
+ rules.push("Check for PEP 8 compliance");
141
+ }
142
+ if (projectContext.languages.includes("Rust")) {
143
+ rules.push("Run clippy for Rust-specific lints");
144
+ rules.push("Check for proper ownership and borrowing patterns");
145
+ }
146
+ // Build system specific
147
+ if (projectContext.buildSystem.includes("npm")) {
148
+ rules.push("Verify package.json scripts are documented");
149
+ rules.push("Check for security vulnerabilities with npm audit");
150
+ }
151
+ // Test framework specific
152
+ if (projectContext.testFramework) {
153
+ rules.push(`Ensure tests follow ${projectContext.testFramework} best practices`);
154
+ rules.push("Verify test coverage meets project standards");
155
+ }
156
+ return rules;
157
+ }
158
+ /**
159
+ * Generate strategy analysis with project context
160
+ */
161
+ export function generateStrategyWithProjectContext(projectContext) {
162
+ const swot = {
163
+ strengths: [],
164
+ weaknesses: [],
165
+ opportunities: [],
166
+ threats: [],
167
+ };
168
+ // Strengths based on project type
169
+ if (projectContext.type === "library") {
170
+ swot.strengths.push("Reusable component architecture");
171
+ }
172
+ if (projectContext.languages.length > 1) {
173
+ swot.strengths.push("Multi-language support and versatility");
174
+ }
175
+ // Weaknesses
176
+ if (!projectContext.testFramework ||
177
+ projectContext.testFramework.includes("check")) {
178
+ swot.weaknesses.push("Testing infrastructure may need improvement");
179
+ }
180
+ // Opportunities
181
+ if (projectContext.buildSystem.includes("npm")) {
182
+ swot.opportunities.push("Leverage npm ecosystem for rapid development");
183
+ }
184
+ // Threats
185
+ if (projectContext.languages.includes("JavaScript")) {
186
+ swot.threats.push("Rapid JavaScript ecosystem evolution requires regular updates");
187
+ }
188
+ const recommendations = [
189
+ `Focus on ${projectContext.type} best practices`,
190
+ `Leverage ${projectContext.buildSystem} for efficient builds`,
191
+ `Maintain consistency across ${projectContext.languages.join(", ")} codebases`,
192
+ ];
193
+ return { swot, recommendations };
194
+ }
195
+ /**
196
+ * Create mode-specific project guidance
197
+ */
198
+ export function generateModeGuidance(projectContext, mode) {
199
+ const guidance = [];
200
+ switch (mode) {
201
+ case "planning":
202
+ guidance.push(`Plan changes considering ${projectContext.type} architecture`);
203
+ guidance.push(`Review project structure: ${projectContext.structure.directories.slice(0, 3).join(", ")}`);
204
+ break;
205
+ case "editing":
206
+ guidance.push(`Edit files in ${projectContext.languages.join(" or ")} following project conventions`);
207
+ guidance.push(`Entry points: ${projectContext.structure.entryPoints.slice(0, 2).join(", ")}`);
208
+ break;
209
+ case "debugging":
210
+ guidance.push(`Check ${projectContext.testFramework} test outputs`);
211
+ guidance.push(`Use ${projectContext.buildSystem} for rebuilding`);
212
+ break;
213
+ case "refactoring":
214
+ guidance.push(`Maintain ${projectContext.type} structure during refactoring`);
215
+ guidance.push(`Preserve ${projectContext.languages.join(", ")} idioms`);
216
+ break;
217
+ }
218
+ return guidance.join("\n");
219
+ }
220
+ //# sourceMappingURL=project-onboarding-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-onboarding-bridge.js","sourceRoot":"","sources":["../../../src/tools/bridge/project-onboarding-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Bridge Connector for Semantic Code Analyzer
3
+ *
4
+ * Provides integration points between semantic code analyzer and other tools
5
+ * Enables semantic analysis to enhance prompts, strategies, and other tools
6
+ */
7
+ /**
8
+ * Integration helpers for semantic code analyzer with other tools
9
+ */
10
+ /**
11
+ * Enhance hierarchical prompts with semantic insights
12
+ */
13
+ export declare function enhancePromptWithSemantics(semanticAnalysis: string, promptContext: string): string;
14
+ /**
15
+ * Generate code hygiene recommendations based on semantic analysis
16
+ */
17
+ export declare function generateHygieneRecommendations(semanticAnalysis: string): string[];
18
+ /**
19
+ * Extract semantic insights from analysis text
20
+ */
21
+ export declare function extractSemanticInsights(analysisText: string): {
22
+ structure: string;
23
+ patterns: string[];
24
+ dependencies: string[];
25
+ symbols: string[];
26
+ };
27
+ /**
28
+ * Create refactoring suggestions based on semantic analysis
29
+ */
30
+ export declare function suggestRefactorings(semanticAnalysis: string): {
31
+ priority: "high" | "medium" | "low";
32
+ suggestion: string;
33
+ reason: string;
34
+ }[];
35
+ /**
36
+ * Generate security analysis prompt based on semantic insights
37
+ */
38
+ export declare function generateSecurityAnalysisPrompt(semanticAnalysis: string): string;
39
+ /**
40
+ * Integration point for strategy frameworks
41
+ */
42
+ export declare function integrateWithStrategyFrameworks(semanticAnalysis: string, _projectContext: string): {
43
+ technicalDebt: string[];
44
+ architectureInsights: string[];
45
+ recommendations: string[];
46
+ };
47
+ //# sourceMappingURL=semantic-analyzer-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-analyzer-bridge.d.ts","sourceRoot":"","sources":["../../../src/tools/bridge/semantic-analyzer-bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AAEH;;GAEG;AACH,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACnB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC7C,gBAAgB,EAAE,MAAM,GACtB,MAAM,EAAE,CAsBV;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAoDA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG;IAC9D,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CACf,EAAE,CAyCF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC7C,gBAAgB,EAAE,MAAM,GACtB,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC9C,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,GACrB;IACF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC1B,CAqBA"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Bridge Connector for Semantic Code Analyzer
3
+ *
4
+ * Provides integration points between semantic code analyzer and other tools
5
+ * Enables semantic analysis to enhance prompts, strategies, and other tools
6
+ */
7
+ /**
8
+ * Integration helpers for semantic code analyzer with other tools
9
+ */
10
+ /**
11
+ * Enhance hierarchical prompts with semantic insights
12
+ */
13
+ export function enhancePromptWithSemantics(semanticAnalysis, promptContext) {
14
+ // Extract key insights from semantic analysis
15
+ const insights = extractSemanticInsights(semanticAnalysis);
16
+ // Enhance prompt context with code structure information
17
+ return `${promptContext}
18
+
19
+ ## Code Context from Semantic Analysis
20
+ ${insights.structure}
21
+
22
+ ## Identified Patterns
23
+ ${insights.patterns.join(", ")}
24
+
25
+ ## Dependencies
26
+ ${insights.dependencies.join(", ")}`;
27
+ }
28
+ /**
29
+ * Generate code hygiene recommendations based on semantic analysis
30
+ */
31
+ export function generateHygieneRecommendations(semanticAnalysis) {
32
+ const recommendations = [];
33
+ if (semanticAnalysis.includes("Error Handling") === false) {
34
+ recommendations.push("Add comprehensive error handling (try-catch blocks)");
35
+ }
36
+ if (semanticAnalysis.includes("Dependency Injection")) {
37
+ recommendations.push("Good use of dependency injection pattern");
38
+ }
39
+ else {
40
+ recommendations.push("Consider using dependency injection for better testability");
41
+ }
42
+ if (semanticAnalysis.includes("Async/Await")) {
43
+ recommendations.push("Review async/await usage for potential race conditions");
44
+ }
45
+ return recommendations;
46
+ }
47
+ /**
48
+ * Extract semantic insights from analysis text
49
+ */
50
+ export function extractSemanticInsights(analysisText) {
51
+ const insights = {
52
+ structure: "",
53
+ patterns: [],
54
+ dependencies: [],
55
+ symbols: [],
56
+ };
57
+ // Extract structure section
58
+ const structureMatch = analysisText.match(/### 🏗️ Code Structure\n\n([^#]+)/);
59
+ if (structureMatch) {
60
+ insights.structure = structureMatch[1].trim();
61
+ }
62
+ // Extract patterns
63
+ if (analysisText.includes("Async/Await"))
64
+ insights.patterns.push("Async/Await");
65
+ if (analysisText.includes("Error Handling"))
66
+ insights.patterns.push("Error Handling");
67
+ if (analysisText.includes("Dependency Injection"))
68
+ insights.patterns.push("Dependency Injection");
69
+ if (analysisText.includes("Factory Pattern"))
70
+ insights.patterns.push("Factory Pattern");
71
+ // Extract dependencies
72
+ const depsMatch = analysisText.match(/### 📦 Dependencies\n\n([^#]+)/);
73
+ if (depsMatch) {
74
+ const depLines = depsMatch[1]
75
+ .split("\n")
76
+ .filter((line) => line.includes("**"));
77
+ insights.dependencies = depLines
78
+ .map((line) => {
79
+ const match = line.match(/\*\*([^*]+)\*\*/);
80
+ return match ? match[1] : "";
81
+ })
82
+ .filter(Boolean);
83
+ }
84
+ // Extract symbols
85
+ const symbolsMatch = analysisText.match(/### 🔤 Symbols Identified\n\n([^#]+)/);
86
+ if (symbolsMatch) {
87
+ const symbolLines = symbolsMatch[1]
88
+ .split("\n")
89
+ .filter((line) => line.includes("-"));
90
+ insights.symbols = symbolLines
91
+ .map((line) => line.replace(/^-\s*/, "").trim())
92
+ .filter(Boolean);
93
+ }
94
+ return insights;
95
+ }
96
+ /**
97
+ * Create refactoring suggestions based on semantic analysis
98
+ */
99
+ export function suggestRefactorings(semanticAnalysis) {
100
+ const suggestions = [];
101
+ // Check for error handling
102
+ if (!semanticAnalysis.includes("Error Handling")) {
103
+ suggestions.push({
104
+ priority: "high",
105
+ suggestion: "Add comprehensive error handling",
106
+ reason: "No error handling patterns detected in the code",
107
+ });
108
+ }
109
+ // Check for complexity
110
+ if (semanticAnalysis.match(/Functions.*\((\d+)\)/)?.[1]) {
111
+ const funcCount = Number.parseInt(semanticAnalysis.match(/Functions.*\((\d+)\)/)?.[1] || "0", 10);
112
+ if (funcCount > 10) {
113
+ suggestions.push({
114
+ priority: "medium",
115
+ suggestion: "Consider breaking down into smaller modules",
116
+ reason: `High number of functions (${funcCount}) indicates potential for modularization`,
117
+ });
118
+ }
119
+ }
120
+ // Check for patterns
121
+ if (!semanticAnalysis.includes("Dependency Injection")) {
122
+ suggestions.push({
123
+ priority: "low",
124
+ suggestion: "Consider dependency injection pattern",
125
+ reason: "Could improve testability and modularity",
126
+ });
127
+ }
128
+ return suggestions;
129
+ }
130
+ /**
131
+ * Generate security analysis prompt based on semantic insights
132
+ */
133
+ export function generateSecurityAnalysisPrompt(semanticAnalysis) {
134
+ const insights = extractSemanticInsights(semanticAnalysis);
135
+ return `# Security Analysis Request
136
+
137
+ ## Code Structure
138
+ ${insights.structure}
139
+
140
+ ## Areas to Analyze
141
+ 1. Input validation for all entry points
142
+ 2. Dependency security (check ${insights.dependencies.join(", ")})
143
+ 3. Error handling and information disclosure
144
+ 4. Authentication and authorization patterns
145
+ ${insights.patterns.includes("Async/Await") ? "5. Race condition analysis for async operations" : ""}
146
+
147
+ ## Focus Areas
148
+ - Review ${insights.symbols.length} identified symbols for security issues
149
+ - Analyze ${insights.dependencies.length} dependencies for known vulnerabilities
150
+ - Check for common security anti-patterns`;
151
+ }
152
+ /**
153
+ * Integration point for strategy frameworks
154
+ */
155
+ export function integrateWithStrategyFrameworks(semanticAnalysis, _projectContext) {
156
+ const insights = extractSemanticInsights(semanticAnalysis);
157
+ return {
158
+ technicalDebt: [
159
+ insights.patterns.includes("Error Handling")
160
+ ? ""
161
+ : "Missing error handling",
162
+ insights.patterns.includes("Dependency Injection")
163
+ ? ""
164
+ : "Tight coupling detected",
165
+ ].filter(Boolean),
166
+ architectureInsights: [
167
+ `Code structure: ${insights.structure}`,
168
+ `Patterns in use: ${insights.patterns.join(", ")}`,
169
+ `External dependencies: ${insights.dependencies.length}`,
170
+ ],
171
+ recommendations: generateHygieneRecommendations(`### Analysis\n${semanticAnalysis}`),
172
+ };
173
+ }
174
+ //# sourceMappingURL=semantic-analyzer-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-analyzer-bridge.js","sourceRoot":"","sources":["../../../src/tools/bridge/semantic-analyzer-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function cleanCodeScorer(args: unknown): Promise<{
2
+ content: {
3
+ type: "text";
4
+ text: string;
5
+ }[];
6
+ }>;
7
+ //# sourceMappingURL=clean-code-scorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-code-scorer.d.ts","sourceRoot":"","sources":["../../src/tools/clean-code-scorer.ts"],"names":[],"mappings":"AAuCA,wBAAsB,eAAe,CAAC,IAAI,EAAE,OAAO;;;;;GA+ElD"}