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.
- package/README.md +236 -9
- package/dist/index.js +487 -5
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.d.ts +18 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +127 -492
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/structured.d.ts.map +1 -1
- package/dist/resources/structured.js +410 -0
- package/dist/resources/structured.js.map +1 -1
- package/dist/schemas/flow-tool-schemas.d.ts +167 -0
- package/dist/schemas/flow-tool-schemas.d.ts.map +1 -0
- package/dist/schemas/flow-tool-schemas.js +149 -0
- package/dist/schemas/flow-tool-schemas.js.map +1 -0
- package/dist/tools/bridge/index.d.ts +83 -0
- package/dist/tools/bridge/index.d.ts.map +1 -0
- package/dist/tools/bridge/index.js +85 -0
- package/dist/tools/bridge/index.js.map +1 -0
- package/dist/tools/bridge/project-onboarding-bridge.d.ts +54 -0
- package/dist/tools/bridge/project-onboarding-bridge.d.ts.map +1 -0
- package/dist/tools/bridge/project-onboarding-bridge.js +220 -0
- package/dist/tools/bridge/project-onboarding-bridge.js.map +1 -0
- package/dist/tools/bridge/semantic-analyzer-bridge.d.ts +47 -0
- package/dist/tools/bridge/semantic-analyzer-bridge.d.ts.map +1 -0
- package/dist/tools/bridge/semantic-analyzer-bridge.js +174 -0
- package/dist/tools/bridge/semantic-analyzer-bridge.js.map +1 -0
- package/dist/tools/clean-code-scorer.d.ts +7 -0
- package/dist/tools/clean-code-scorer.d.ts.map +1 -0
- package/dist/tools/clean-code-scorer.js +359 -0
- package/dist/tools/clean-code-scorer.js.map +1 -0
- package/dist/tools/code-hygiene-analyzer.js +181 -9
- package/dist/tools/code-hygiene-analyzer.js.map +1 -1
- package/dist/tools/config/guidelines-config.d.ts +2 -14
- package/dist/tools/config/guidelines-config.d.ts.map +1 -1
- package/dist/tools/config/guidelines-config.js +45 -6
- package/dist/tools/config/guidelines-config.js.map +1 -1
- package/dist/tools/config/model-config.d.ts +2 -23
- package/dist/tools/config/model-config.d.ts.map +1 -1
- package/dist/tools/config/model-config.js.map +1 -1
- package/dist/tools/config/types/guidelines.types.d.ts +15 -0
- package/dist/tools/config/types/guidelines.types.d.ts.map +1 -0
- package/dist/tools/config/types/guidelines.types.js +3 -0
- package/dist/tools/config/types/guidelines.types.js.map +1 -0
- package/dist/tools/config/types/index.d.ts +3 -0
- package/dist/tools/config/types/index.d.ts.map +1 -0
- package/dist/tools/config/types/index.js +3 -0
- package/dist/tools/config/types/index.js.map +1 -0
- package/dist/tools/config/types/model.types.d.ts +24 -0
- package/dist/tools/config/types/model.types.d.ts.map +1 -0
- package/dist/tools/config/types/model.types.js +3 -0
- package/dist/tools/config/types/model.types.js.map +1 -0
- package/dist/tools/design/adr-generator.d.ts +1 -1
- package/dist/tools/design/adr-generator.d.ts.map +1 -1
- package/dist/tools/design/adr-generator.js +5 -1
- package/dist/tools/design/adr-generator.js.map +1 -1
- package/dist/tools/design/confirmation-module.d.ts +1 -1
- package/dist/tools/design/confirmation-module.d.ts.map +1 -1
- package/dist/tools/design/confirmation-module.js +2 -0
- package/dist/tools/design/confirmation-module.js.map +1 -1
- package/dist/tools/design/confirmation-prompt-builder.d.ts +1 -1
- package/dist/tools/design/confirmation-prompt-builder.d.ts.map +1 -1
- package/dist/tools/design/confirmation-prompt-builder.js +5 -1
- package/dist/tools/design/confirmation-prompt-builder.js.map +1 -1
- package/dist/tools/design/constraint-consistency-enforcer.d.ts +1 -1
- package/dist/tools/design/constraint-consistency-enforcer.d.ts.map +1 -1
- package/dist/tools/design/constraint-consistency-enforcer.js +6 -1
- package/dist/tools/design/constraint-consistency-enforcer.js.map +1 -1
- package/dist/tools/design/constraint-manager.d.ts +9 -9
- package/dist/tools/design/constraint-manager.d.ts.map +1 -1
- package/dist/tools/design/coverage-enforcer.d.ts +1 -1
- package/dist/tools/design/coverage-enforcer.d.ts.map +1 -1
- package/dist/tools/design/cross-session-consistency-enforcer.d.ts +1 -1
- package/dist/tools/design/cross-session-consistency-enforcer.d.ts.map +1 -1
- package/dist/tools/design/design-assistant.d.ts +1 -15
- package/dist/tools/design/design-assistant.d.ts.map +1 -1
- package/dist/tools/design/design-assistant.js +29 -853
- package/dist/tools/design/design-assistant.js.map +1 -1
- package/dist/tools/design/design-phase-workflow.d.ts +1 -1
- package/dist/tools/design/design-phase-workflow.d.ts.map +1 -1
- package/dist/tools/design/design-phase-workflow.js +15 -8
- package/dist/tools/design/design-phase-workflow.js.map +1 -1
- package/dist/tools/design/index.d.ts +1 -1
- package/dist/tools/design/index.d.ts.map +1 -1
- package/dist/tools/design/methodology-selector.d.ts +1 -1
- package/dist/tools/design/methodology-selector.d.ts.map +1 -1
- package/dist/tools/design/pivot-module.d.ts +1 -1
- package/dist/tools/design/pivot-module.d.ts.map +1 -1
- package/dist/tools/design/roadmap-generator.d.ts +1 -1
- package/dist/tools/design/roadmap-generator.d.ts.map +1 -1
- package/dist/tools/design/roadmap-generator.js.map +1 -1
- package/dist/tools/design/services/additional-operations.service.d.ts +23 -0
- package/dist/tools/design/services/additional-operations.service.d.ts.map +1 -0
- package/dist/tools/design/services/additional-operations.service.js +215 -0
- package/dist/tools/design/services/additional-operations.service.js.map +1 -0
- package/dist/tools/design/services/artifact-generation.service.d.ts +19 -0
- package/dist/tools/design/services/artifact-generation.service.d.ts.map +1 -0
- package/dist/tools/design/services/artifact-generation.service.js +171 -0
- package/dist/tools/design/services/artifact-generation.service.js.map +1 -0
- package/dist/tools/design/services/consistency.service.d.ts +24 -0
- package/dist/tools/design/services/consistency.service.d.ts.map +1 -0
- package/dist/tools/design/services/consistency.service.js +196 -0
- package/dist/tools/design/services/consistency.service.js.map +1 -0
- package/dist/tools/design/services/index.d.ts +7 -0
- package/dist/tools/design/services/index.d.ts.map +1 -0
- package/dist/tools/design/services/index.js +9 -0
- package/dist/tools/design/services/index.js.map +1 -0
- package/dist/tools/design/services/phase-management.service.d.ts +25 -0
- package/dist/tools/design/services/phase-management.service.d.ts.map +1 -0
- package/dist/tools/design/services/phase-management.service.js +133 -0
- package/dist/tools/design/services/phase-management.service.js.map +1 -0
- package/dist/tools/design/services/session-management.service.d.ts +23 -0
- package/dist/tools/design/services/session-management.service.d.ts.map +1 -0
- package/dist/tools/design/services/session-management.service.js +190 -0
- package/dist/tools/design/services/session-management.service.js.map +1 -0
- package/dist/tools/design/spec-generator.d.ts +1 -1
- package/dist/tools/design/spec-generator.d.ts.map +1 -1
- package/dist/tools/design/spec-generator.js +3 -3
- package/dist/tools/design/spec-generator.js.map +1 -1
- package/dist/tools/design/strategic-pivot-prompt-builder.d.ts +1 -1
- package/dist/tools/design/strategic-pivot-prompt-builder.d.ts.map +1 -1
- package/dist/tools/design/types/artifact.types.d.ts +16 -0
- package/dist/tools/design/types/artifact.types.d.ts.map +1 -0
- package/dist/tools/design/types/artifact.types.js +3 -0
- package/dist/tools/design/types/artifact.types.js.map +1 -0
- package/dist/tools/design/types/common.types.d.ts +8 -0
- package/dist/tools/design/types/common.types.d.ts.map +1 -0
- package/dist/tools/design/types/common.types.js +3 -0
- package/dist/tools/design/types/common.types.js.map +1 -0
- package/dist/tools/design/types/consistency.types.d.ts +130 -0
- package/dist/tools/design/types/consistency.types.d.ts.map +1 -0
- package/dist/tools/design/types/consistency.types.js +3 -0
- package/dist/tools/design/types/consistency.types.js.map +1 -0
- package/dist/tools/design/types/constraint.types.d.ts +53 -0
- package/dist/tools/design/types/constraint.types.d.ts.map +1 -0
- package/dist/tools/design/types/constraint.types.js +3 -0
- package/dist/tools/design/types/constraint.types.js.map +1 -0
- package/dist/tools/design/types/coverage.types.d.ts +59 -0
- package/dist/tools/design/types/coverage.types.d.ts.map +1 -0
- package/dist/tools/design/types/coverage.types.js +3 -0
- package/dist/tools/design/types/coverage.types.js.map +1 -0
- package/dist/tools/design/types/index.d.ts +9 -0
- package/dist/tools/design/types/index.d.ts.map +1 -0
- package/dist/tools/design/types/index.js +4 -0
- package/dist/tools/design/types/index.js.map +1 -0
- package/dist/tools/design/types/methodology.types.d.ts +53 -0
- package/dist/tools/design/types/methodology.types.d.ts.map +1 -0
- package/dist/tools/design/types/methodology.types.js +3 -0
- package/dist/tools/design/types/methodology.types.js.map +1 -0
- package/dist/tools/design/types/pivot.types.d.ts +56 -0
- package/dist/tools/design/types/pivot.types.d.ts.map +1 -0
- package/dist/tools/design/types/pivot.types.js +3 -0
- package/dist/tools/design/types/pivot.types.js.map +1 -0
- package/dist/tools/design/types/session.types.d.ts +50 -0
- package/dist/tools/design/types/session.types.d.ts.map +1 -0
- package/dist/tools/design/types/session.types.js +3 -0
- package/dist/tools/design/types/session.types.js.map +1 -0
- package/dist/tools/design/types.d.ts +18 -401
- package/dist/tools/design/types.d.ts.map +1 -1
- package/dist/tools/design/types.js +17 -1
- package/dist/tools/design/types.js.map +1 -1
- package/dist/tools/guidelines-validator.js +3 -3
- package/dist/tools/mermaid-diagram-generator.d.ts.map +1 -1
- package/dist/tools/mermaid-diagram-generator.js +712 -58
- package/dist/tools/mermaid-diagram-generator.js.map +1 -1
- package/dist/tools/mode-switcher.d.ts +21 -0
- package/dist/tools/mode-switcher.d.ts.map +1 -0
- package/dist/tools/mode-switcher.js +383 -0
- package/dist/tools/mode-switcher.js.map +1 -0
- package/dist/tools/project-onboarding.d.ts +7 -0
- package/dist/tools/project-onboarding.d.ts.map +1 -0
- package/dist/tools/project-onboarding.js +344 -0
- package/dist/tools/project-onboarding.js.map +1 -0
- package/dist/tools/prompt/architecture-design-prompt-builder.d.ts +7 -0
- package/dist/tools/prompt/architecture-design-prompt-builder.d.ts.map +1 -0
- package/dist/tools/prompt/architecture-design-prompt-builder.js +143 -0
- package/dist/tools/prompt/architecture-design-prompt-builder.js.map +1 -0
- package/dist/tools/prompt/code-analysis-prompt-builder.d.ts +7 -0
- package/dist/tools/prompt/code-analysis-prompt-builder.d.ts.map +1 -0
- package/dist/tools/prompt/code-analysis-prompt-builder.js +292 -0
- package/dist/tools/prompt/code-analysis-prompt-builder.js.map +1 -0
- package/dist/tools/prompt/debugging-assistant-prompt-builder.d.ts +7 -0
- package/dist/tools/prompt/debugging-assistant-prompt-builder.d.ts.map +1 -0
- package/dist/tools/prompt/debugging-assistant-prompt-builder.js +360 -0
- package/dist/tools/prompt/debugging-assistant-prompt-builder.js.map +1 -0
- package/dist/tools/prompt/documentation-generator-prompt-builder.d.ts +7 -0
- package/dist/tools/prompt/documentation-generator-prompt-builder.d.ts.map +1 -0
- package/dist/tools/prompt/documentation-generator-prompt-builder.js +152 -0
- package/dist/tools/prompt/documentation-generator-prompt-builder.js.map +1 -0
- package/dist/tools/prompt/domain-neutral-prompt-builder.d.ts +39 -39
- package/dist/tools/prompt/hierarchical-prompt-builder.d.ts +20 -20
- package/dist/tools/prompt/hierarchical-prompt-builder.d.ts.map +1 -1
- package/dist/tools/prompt/hierarchical-prompt-builder.js +275 -17
- package/dist/tools/prompt/hierarchical-prompt-builder.js.map +1 -1
- package/dist/tools/prompt/hierarchy-level-selector.d.ts +7 -0
- package/dist/tools/prompt/hierarchy-level-selector.d.ts.map +1 -0
- package/dist/tools/prompt/hierarchy-level-selector.js +256 -0
- package/dist/tools/prompt/hierarchy-level-selector.js.map +1 -0
- package/dist/tools/prompt/prompt-chaining-builder.d.ts +29 -0
- package/dist/tools/prompt/prompt-chaining-builder.d.ts.map +1 -0
- package/dist/tools/prompt/prompt-chaining-builder.js +212 -0
- package/dist/tools/prompt/prompt-chaining-builder.js.map +1 -0
- package/dist/tools/prompt/prompt-flow-builder.d.ts +24 -0
- package/dist/tools/prompt/prompt-flow-builder.d.ts.map +1 -0
- package/dist/tools/prompt/prompt-flow-builder.js +426 -0
- package/dist/tools/prompt/prompt-flow-builder.js.map +1 -0
- package/dist/tools/prompt/prompting-hierarchy-evaluator.d.ts +13 -0
- package/dist/tools/prompt/prompting-hierarchy-evaluator.d.ts.map +1 -0
- package/dist/tools/prompt/prompting-hierarchy-evaluator.js +372 -0
- package/dist/tools/prompt/prompting-hierarchy-evaluator.js.map +1 -0
- package/dist/tools/prompt/spark-prompt-builder.d.ts +54 -54
- package/dist/tools/prompt/types/hierarchy.types.d.ts +42 -0
- package/dist/tools/prompt/types/hierarchy.types.d.ts.map +1 -0
- package/dist/tools/prompt/types/hierarchy.types.js +23 -0
- package/dist/tools/prompt/types/hierarchy.types.js.map +1 -0
- package/dist/tools/prompt/types/index.d.ts +2 -0
- package/dist/tools/prompt/types/index.d.ts.map +1 -0
- package/dist/tools/prompt/types/index.js +3 -0
- package/dist/tools/prompt/types/index.js.map +1 -0
- package/dist/tools/semantic-code-analyzer.d.ts +7 -0
- package/dist/tools/semantic-code-analyzer.d.ts.map +1 -0
- package/dist/tools/semantic-code-analyzer.js +380 -0
- package/dist/tools/semantic-code-analyzer.js.map +1 -0
- package/dist/tools/shared/errors.d.ts +101 -0
- package/dist/tools/shared/errors.d.ts.map +1 -0
- package/dist/tools/shared/errors.js +176 -0
- package/dist/tools/shared/errors.js.map +1 -0
- package/dist/tools/shared/logger.d.ts +40 -0
- package/dist/tools/shared/logger.d.ts.map +1 -0
- package/dist/tools/shared/logger.js +53 -0
- package/dist/tools/shared/logger.js.map +1 -0
- package/dist/tools/shared/prompt-sections.d.ts +3 -7
- package/dist/tools/shared/prompt-sections.d.ts.map +1 -1
- package/dist/tools/shared/prompt-sections.js +2 -26
- package/dist/tools/shared/prompt-sections.js.map +1 -1
- package/dist/tools/shared/prompt-utils.d.ts +2 -6
- package/dist/tools/shared/prompt-utils.d.ts.map +1 -1
- package/dist/tools/shared/prompt-utils.js.map +1 -1
- package/dist/tools/shared/types/index.d.ts +3 -0
- package/dist/tools/shared/types/index.d.ts.map +1 -0
- package/dist/tools/shared/types/index.js +3 -0
- package/dist/tools/shared/types/index.js.map +1 -0
- package/dist/tools/shared/types/prompt-sections.types.d.ts +8 -0
- package/dist/tools/shared/types/prompt-sections.types.d.ts.map +1 -0
- package/dist/tools/shared/types/prompt-sections.types.js +28 -0
- package/dist/tools/shared/types/prompt-sections.types.js.map +1 -0
- package/dist/tools/shared/types/prompt-utils.types.d.ts +7 -0
- package/dist/tools/shared/types/prompt-utils.types.d.ts.map +1 -0
- package/dist/tools/shared/types/prompt-utils.types.js +3 -0
- package/dist/tools/shared/types/prompt-utils.types.js.map +1 -0
- package/dist/tools/sprint-timeline-calculator.d.ts.map +1 -1
- package/dist/tools/sprint-timeline-calculator.js +134 -28
- package/dist/tools/sprint-timeline-calculator.js.map +1 -1
- 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 @@
|
|
|
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"}
|