mcp-ai-agent-guidelines 0.1.0
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/LICENSE +21 -0
- package/README.md +336 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +307 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/index.d.ts +21 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +504 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/resources/index.d.ts +14 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +92 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/structured.d.ts +47 -0
- package/dist/resources/structured.d.ts.map +1 -0
- package/dist/resources/structured.js +857 -0
- package/dist/resources/structured.js.map +1 -0
- package/dist/tools/code-hygiene-analyzer.d.ts +7 -0
- package/dist/tools/code-hygiene-analyzer.d.ts.map +1 -0
- package/dist/tools/code-hygiene-analyzer.js +176 -0
- package/dist/tools/code-hygiene-analyzer.js.map +1 -0
- package/dist/tools/config/guidelines-config.d.ts +16 -0
- package/dist/tools/config/guidelines-config.d.ts.map +1 -0
- package/dist/tools/config/guidelines-config.js +236 -0
- package/dist/tools/config/guidelines-config.js.map +1 -0
- package/dist/tools/config/model-config.d.ts +33 -0
- package/dist/tools/config/model-config.d.ts.map +1 -0
- package/dist/tools/config/model-config.js +206 -0
- package/dist/tools/config/model-config.js.map +1 -0
- package/dist/tools/guidelines-validator.d.ts +7 -0
- package/dist/tools/guidelines-validator.d.ts.map +1 -0
- package/dist/tools/guidelines-validator.js +178 -0
- package/dist/tools/guidelines-validator.js.map +1 -0
- package/dist/tools/hierarchical-prompt-builder.d.ts +7 -0
- package/dist/tools/hierarchical-prompt-builder.d.ts.map +1 -0
- package/dist/tools/hierarchical-prompt-builder.js +147 -0
- package/dist/tools/hierarchical-prompt-builder.js.map +1 -0
- package/dist/tools/memory-context-optimizer.d.ts +7 -0
- package/dist/tools/memory-context-optimizer.d.ts.map +1 -0
- package/dist/tools/memory-context-optimizer.js +256 -0
- package/dist/tools/memory-context-optimizer.js.map +1 -0
- package/dist/tools/mermaid-diagram-generator.d.ts +7 -0
- package/dist/tools/mermaid-diagram-generator.d.ts.map +1 -0
- package/dist/tools/mermaid-diagram-generator.js +312 -0
- package/dist/tools/mermaid-diagram-generator.js.map +1 -0
- package/dist/tools/model-compatibility-checker.d.ts +7 -0
- package/dist/tools/model-compatibility-checker.d.ts.map +1 -0
- package/dist/tools/model-compatibility-checker.js +204 -0
- package/dist/tools/model-compatibility-checker.js.map +1 -0
- package/dist/tools/sprint-timeline-calculator.d.ts +7 -0
- package/dist/tools/sprint-timeline-calculator.d.ts.map +1 -0
- package/dist/tools/sprint-timeline-calculator.js +240 -0
- package/dist/tools/sprint-timeline-calculator.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
// See also: https://docs.github.com/en/copilot/reference/ai-models/model-comparison#recommended-models-by-task
|
|
2
|
+
export const MODELS = [
|
|
3
|
+
{
|
|
4
|
+
name: "GPT-4.1",
|
|
5
|
+
provider: "OpenAI",
|
|
6
|
+
pricingTier: "mid-tier",
|
|
7
|
+
contextTokens: 128_000,
|
|
8
|
+
baseScore: 52,
|
|
9
|
+
capabilities: ["reasoning", "code", "speed", "multimodal"],
|
|
10
|
+
strengths: [
|
|
11
|
+
"Fast, accurate code completions",
|
|
12
|
+
"General-purpose coding",
|
|
13
|
+
"Writing tasks",
|
|
14
|
+
"Wide ecosystem",
|
|
15
|
+
],
|
|
16
|
+
limitations: ["Context window limitations"],
|
|
17
|
+
specialFeatures: ["Agent mode", "Vision capabilities", "Function calling"],
|
|
18
|
+
pricing: "Mid-tier ($5-10/1M tokens)",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: "GPT-5",
|
|
22
|
+
provider: "OpenAI",
|
|
23
|
+
pricingTier: "premium",
|
|
24
|
+
contextTokens: 128_000,
|
|
25
|
+
baseScore: 54,
|
|
26
|
+
capabilities: ["reasoning", "code", "multimodal"],
|
|
27
|
+
strengths: [
|
|
28
|
+
"Multi-step problem solving",
|
|
29
|
+
"Architecture-level code analysis",
|
|
30
|
+
"Deep reasoning",
|
|
31
|
+
],
|
|
32
|
+
limitations: ["Higher cost", "Context limitations"],
|
|
33
|
+
specialFeatures: ["Advanced reasoning", "Complex debugging"],
|
|
34
|
+
pricing: "Premium ($10-20/1M tokens)",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: "o3",
|
|
38
|
+
provider: "OpenAI",
|
|
39
|
+
pricingTier: "premium",
|
|
40
|
+
contextTokens: 128_000,
|
|
41
|
+
baseScore: 55,
|
|
42
|
+
capabilities: ["reasoning", "code"],
|
|
43
|
+
strengths: [
|
|
44
|
+
"Multi-step problem solving",
|
|
45
|
+
"Architecture-level code analysis",
|
|
46
|
+
"Deep reasoning",
|
|
47
|
+
],
|
|
48
|
+
limitations: ["Higher cost", "Slower inference"],
|
|
49
|
+
specialFeatures: ["Advanced reasoning chains", "Complex problem solving"],
|
|
50
|
+
pricing: "Premium ($15-30/1M tokens)",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "o4-mini",
|
|
54
|
+
provider: "OpenAI",
|
|
55
|
+
pricingTier: "budget",
|
|
56
|
+
contextTokens: 128_000,
|
|
57
|
+
baseScore: 48,
|
|
58
|
+
capabilities: ["speed", "cost"],
|
|
59
|
+
strengths: [
|
|
60
|
+
"Fast, reliable answers",
|
|
61
|
+
"Lightweight coding questions",
|
|
62
|
+
"Lower latency",
|
|
63
|
+
],
|
|
64
|
+
limitations: ["Limited reasoning", "Simple tasks only"],
|
|
65
|
+
specialFeatures: ["Ultra-fast responses", "Cost efficient"],
|
|
66
|
+
pricing: "Budget ($0.25-1.25/1M tokens)",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "Claude Opus 4.1",
|
|
70
|
+
provider: "Anthropic",
|
|
71
|
+
pricingTier: "premium",
|
|
72
|
+
contextTokens: 200_000,
|
|
73
|
+
baseScore: 55,
|
|
74
|
+
capabilities: ["reasoning", "large-context", "multimodal", "code"],
|
|
75
|
+
strengths: [
|
|
76
|
+
"Complex problem-solving",
|
|
77
|
+
"Sophisticated reasoning",
|
|
78
|
+
"Vision capabilities",
|
|
79
|
+
],
|
|
80
|
+
limitations: ["Higher cost", "Slower inference"],
|
|
81
|
+
specialFeatures: ["Constitutional AI", "Vision support", "Deep reasoning"],
|
|
82
|
+
pricing: "Premium ($15-30/1M tokens)",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "Claude Opus 4",
|
|
86
|
+
provider: "Anthropic",
|
|
87
|
+
pricingTier: "premium",
|
|
88
|
+
contextTokens: 200_000,
|
|
89
|
+
baseScore: 54,
|
|
90
|
+
capabilities: ["reasoning", "large-context", "multimodal", "code"],
|
|
91
|
+
strengths: [
|
|
92
|
+
"Complex problem-solving",
|
|
93
|
+
"Sophisticated reasoning",
|
|
94
|
+
"Vision capabilities",
|
|
95
|
+
],
|
|
96
|
+
limitations: ["Higher cost", "Slower inference"],
|
|
97
|
+
specialFeatures: ["Constitutional AI", "Vision support", "Deep reasoning"],
|
|
98
|
+
pricing: "Premium ($15-30/1M tokens)",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: "Claude Sonnet 3.5",
|
|
102
|
+
provider: "Anthropic",
|
|
103
|
+
pricingTier: "budget",
|
|
104
|
+
contextTokens: 200_000,
|
|
105
|
+
baseScore: 49,
|
|
106
|
+
capabilities: ["speed", "cost", "multimodal"],
|
|
107
|
+
strengths: ["Quick responses for code", "Syntax help", "Documentation"],
|
|
108
|
+
limitations: ["Limited reasoning"],
|
|
109
|
+
specialFeatures: ["Agent mode", "Vision support", "Fast responses"],
|
|
110
|
+
pricing: "Budget ($0.25-1.25/1M tokens)",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: "Claude Sonnet 3.7",
|
|
114
|
+
provider: "Anthropic",
|
|
115
|
+
pricingTier: "mid-tier",
|
|
116
|
+
contextTokens: 200_000,
|
|
117
|
+
baseScore: 52,
|
|
118
|
+
capabilities: ["reasoning", "multimodal", "large-context", "code"],
|
|
119
|
+
strengths: [
|
|
120
|
+
"Structured reasoning",
|
|
121
|
+
"Large, complex codebases",
|
|
122
|
+
"Clear output",
|
|
123
|
+
],
|
|
124
|
+
limitations: ["Moderate cost"],
|
|
125
|
+
specialFeatures: ["Agent mode", "Vision support", "Structured output"],
|
|
126
|
+
pricing: "Mid-tier ($3-6/1M tokens)",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "Claude Sonnet 4",
|
|
130
|
+
provider: "Anthropic",
|
|
131
|
+
pricingTier: "mid-tier",
|
|
132
|
+
contextTokens: 200_000,
|
|
133
|
+
baseScore: 53,
|
|
134
|
+
capabilities: ["reasoning", "speed", "multimodal", "code"],
|
|
135
|
+
strengths: [
|
|
136
|
+
"Performance and practicality",
|
|
137
|
+
"Balanced for coding workflows",
|
|
138
|
+
],
|
|
139
|
+
limitations: ["Moderate cost"],
|
|
140
|
+
specialFeatures: ["Agent mode", "Vision support", "Balanced speed/quality"],
|
|
141
|
+
pricing: "Mid-tier ($3-6/1M tokens)",
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
name: "Gemini 2.5 Pro",
|
|
145
|
+
provider: "Google",
|
|
146
|
+
pricingTier: "mid-tier",
|
|
147
|
+
contextTokens: 2_000_000,
|
|
148
|
+
baseScore: 54,
|
|
149
|
+
capabilities: ["reasoning", "multimodal", "large-context", "code"],
|
|
150
|
+
strengths: [
|
|
151
|
+
"Complex code generation",
|
|
152
|
+
"Debugging",
|
|
153
|
+
"Research workflows",
|
|
154
|
+
"Massive context",
|
|
155
|
+
],
|
|
156
|
+
limitations: ["Limited third-party integration"],
|
|
157
|
+
specialFeatures: [
|
|
158
|
+
"2M token context",
|
|
159
|
+
"Vision support",
|
|
160
|
+
"Google integration",
|
|
161
|
+
],
|
|
162
|
+
pricing: "Competitive ($1-3/1M tokens)",
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: "Gemini 2.0 Flash",
|
|
166
|
+
provider: "Google",
|
|
167
|
+
pricingTier: "budget",
|
|
168
|
+
contextTokens: 1_000_000,
|
|
169
|
+
baseScore: 50,
|
|
170
|
+
capabilities: ["speed", "multimodal", "cost"],
|
|
171
|
+
strengths: [
|
|
172
|
+
"Real-time responses",
|
|
173
|
+
"Visual reasoning",
|
|
174
|
+
"UI and diagram tasks",
|
|
175
|
+
],
|
|
176
|
+
limitations: ["Limited reasoning depth"],
|
|
177
|
+
specialFeatures: ["Vision capabilities", "Fast inference", "Low latency"],
|
|
178
|
+
pricing: "Budget ($0.25-1/1M tokens)",
|
|
179
|
+
},
|
|
180
|
+
];
|
|
181
|
+
export const REQUIREMENT_KEYWORDS = {
|
|
182
|
+
reasoning: ["analysis", "reasoning", "complex", "chain-of-thought", "logic"],
|
|
183
|
+
code: ["code", "programming", "development", "refactor", "api"],
|
|
184
|
+
"large-context": ["large", "document", "context", "long", "200k", "2m"],
|
|
185
|
+
speed: ["fast", "real-time", "quick", "low-latency", "interactive"],
|
|
186
|
+
multimodal: ["image", "visual", "multimodal", "audio", "video"],
|
|
187
|
+
safety: ["safety", "reliable", "production", "alignment", "guardrail"],
|
|
188
|
+
cost: ["cheap", "cost", "budget", "economical", "low-cost"],
|
|
189
|
+
};
|
|
190
|
+
export const CAPABILITY_WEIGHTS = {
|
|
191
|
+
reasoning: 18,
|
|
192
|
+
code: 14,
|
|
193
|
+
"large-context": 22,
|
|
194
|
+
speed: 16,
|
|
195
|
+
multimodal: 18,
|
|
196
|
+
safety: 15,
|
|
197
|
+
cost: 15,
|
|
198
|
+
};
|
|
199
|
+
export const BUDGET_ADJUSTMENTS = {
|
|
200
|
+
low: { bonus: ["budget", "mid-tier"], penalty: ["premium"] },
|
|
201
|
+
medium: { bonus: ["mid-tier"], penalty: [] },
|
|
202
|
+
high: { bonus: ["premium"], penalty: [] },
|
|
203
|
+
};
|
|
204
|
+
export const BUDGET_BONUS = 12;
|
|
205
|
+
export const BUDGET_PENALTY = 14;
|
|
206
|
+
//# sourceMappingURL=model-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-config.js","sourceRoot":"","sources":["../../../src/tools/config/model-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidelines-validator.d.ts","sourceRoot":"","sources":["../../src/tools/guidelines-validator.ts"],"names":[],"mappings":"AAgCA,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,OAAO;;;;;GAwFtD"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { CATEGORY_CONFIG, } from "./config/guidelines-config.js";
|
|
3
|
+
const GuidelinesValidationSchema = z.object({
|
|
4
|
+
practiceDescription: z.string(),
|
|
5
|
+
category: z.enum([
|
|
6
|
+
"prompting",
|
|
7
|
+
"code-management",
|
|
8
|
+
"architecture",
|
|
9
|
+
"visualization",
|
|
10
|
+
"memory",
|
|
11
|
+
"workflow",
|
|
12
|
+
]),
|
|
13
|
+
includeReferences: z.boolean().optional().default(true),
|
|
14
|
+
includeMetadata: z.boolean().optional().default(true),
|
|
15
|
+
inputFile: z.string().optional(),
|
|
16
|
+
});
|
|
17
|
+
export async function guidelinesValidator(args) {
|
|
18
|
+
const input = GuidelinesValidationSchema.parse(args);
|
|
19
|
+
const validation = validateAgainstGuidelines(input);
|
|
20
|
+
const references = input.includeReferences
|
|
21
|
+
? buildCategoryReferences(input.category)
|
|
22
|
+
: undefined;
|
|
23
|
+
const metadata = input.includeMetadata
|
|
24
|
+
? [
|
|
25
|
+
"### Metadata",
|
|
26
|
+
`- Updated: ${new Date().toISOString().slice(0, 10)}`,
|
|
27
|
+
"- Source tool: mcp_ai-agent-guid_guidelines-validator",
|
|
28
|
+
input.inputFile ? `- Input file: ${input.inputFile}` : undefined,
|
|
29
|
+
`- Category: ${input.category}`,
|
|
30
|
+
"",
|
|
31
|
+
]
|
|
32
|
+
.filter(Boolean)
|
|
33
|
+
.join("\n")
|
|
34
|
+
: "";
|
|
35
|
+
return {
|
|
36
|
+
content: [
|
|
37
|
+
{
|
|
38
|
+
type: "text",
|
|
39
|
+
text: `## ✅ AI Agent Development Guidelines Validation
|
|
40
|
+
|
|
41
|
+
${metadata}
|
|
42
|
+
|
|
43
|
+
### 📋 Practice Analysis
|
|
44
|
+
| Field | Value |
|
|
45
|
+
|---|---|
|
|
46
|
+
| Category | ${input.category} |
|
|
47
|
+
| Description | ${input.practiceDescription} |
|
|
48
|
+
|
|
49
|
+
### 📊 Compliance Assessment
|
|
50
|
+
| Metric | Value |
|
|
51
|
+
|---|---|
|
|
52
|
+
| Overall Score | ${validation.score}/100 |
|
|
53
|
+
| Compliance Level | ${validation.compliance.toUpperCase()} |
|
|
54
|
+
|
|
55
|
+
${validation.compliance === "excellent"
|
|
56
|
+
? "🟢 **Excellent compliance** - Your practice aligns very well with established guidelines"
|
|
57
|
+
: validation.compliance === "good"
|
|
58
|
+
? "🟡 **Good compliance** - Minor improvements recommended"
|
|
59
|
+
: validation.compliance === "fair"
|
|
60
|
+
? "🟠 **Fair compliance** - Several areas need attention"
|
|
61
|
+
: "🔴 **Poor compliance** - Significant improvements needed"}
|
|
62
|
+
|
|
63
|
+
### ⭐ Strengths Identified
|
|
64
|
+
${validation.strengths.map((strength, index) => `${index + 1}. ✅ ${strength}`).join("\n")}
|
|
65
|
+
|
|
66
|
+
### 🐞 Issues Found
|
|
67
|
+
${validation.issues.length > 0
|
|
68
|
+
? validation.issues
|
|
69
|
+
.map((issue, index) => `${index + 1}. ❌ ${issue}`)
|
|
70
|
+
.join("\n")
|
|
71
|
+
: "*No significant issues identified*"}
|
|
72
|
+
|
|
73
|
+
### 🔧 Recommendations
|
|
74
|
+
${validation.recommendations.map((rec, index) => `${index + 1}. 🔧 ${rec}`).join("\n")}
|
|
75
|
+
|
|
76
|
+
### 📚 Best Practices for ${input.category.charAt(0).toUpperCase() + input.category.slice(1)}
|
|
77
|
+
${validation.bestPractices.map((practice, index) => `${index + 1}. 📋 ${practice}`).join("\n")}
|
|
78
|
+
|
|
79
|
+
### 🔗 Guidelines Reference
|
|
80
|
+
For detailed information on AI agent development best practices, refer to:
|
|
81
|
+
- **Hierarchical Prompting**: Structure prompts in layers of increasing specificity
|
|
82
|
+
- **Code Hygiene**: Maintain clean, well-documented, and regularly refactored code
|
|
83
|
+
- **Memory Optimization**: Implement efficient context management and caching
|
|
84
|
+
- **Visualization**: Use Mermaid diagrams for clear system documentation
|
|
85
|
+
- **Sprint Planning**: Apply data-driven timeline estimation and risk assessment
|
|
86
|
+
- **Model Selection**: Choose appropriate models based on task requirements and constraints
|
|
87
|
+
|
|
88
|
+
### ♻️ Continuous Improvement
|
|
89
|
+
- Regular validation against updated guidelines
|
|
90
|
+
- Peer review of development practices
|
|
91
|
+
- Monitoring of industry best practices evolution
|
|
92
|
+
- Iterative refinement based on project outcomes
|
|
93
|
+
${references ? `\n### 🔗 References\n${references}\n` : ""}
|
|
94
|
+
\n### ⚠️ Disclaimer\n- These are recommendations, not guarantees. Validate with your context and current provider documentation.
|
|
95
|
+
`,
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function validateAgainstGuidelines(input) {
|
|
101
|
+
const { practiceDescription, category } = input;
|
|
102
|
+
const config = CATEGORY_CONFIG[category];
|
|
103
|
+
if (!config) {
|
|
104
|
+
return {
|
|
105
|
+
compliance: "poor",
|
|
106
|
+
score: 0,
|
|
107
|
+
strengths: [],
|
|
108
|
+
issues: ["Unknown category"],
|
|
109
|
+
recommendations: ["Use a supported category"],
|
|
110
|
+
bestPractices: [],
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
const text = practiceDescription.toLowerCase();
|
|
114
|
+
let score = config.base;
|
|
115
|
+
const strengths = [];
|
|
116
|
+
const issues = [];
|
|
117
|
+
const recommendations = [];
|
|
118
|
+
for (const criterion of config.criteria) {
|
|
119
|
+
const hit = criterion.keywords.some((k) => text.includes(k));
|
|
120
|
+
if (hit) {
|
|
121
|
+
score += criterion.weight;
|
|
122
|
+
strengths.push(criterion.strength);
|
|
123
|
+
}
|
|
124
|
+
else if (!criterion.optional) {
|
|
125
|
+
issues.push(criterion.issue);
|
|
126
|
+
recommendations.push(criterion.recommendation);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
score = Math.min(100, score);
|
|
130
|
+
let compliance;
|
|
131
|
+
if (score >= 85)
|
|
132
|
+
compliance = "excellent";
|
|
133
|
+
else if (score >= 70)
|
|
134
|
+
compliance = "good";
|
|
135
|
+
else if (score >= 50)
|
|
136
|
+
compliance = "fair";
|
|
137
|
+
else
|
|
138
|
+
compliance = "poor";
|
|
139
|
+
return {
|
|
140
|
+
compliance,
|
|
141
|
+
score,
|
|
142
|
+
strengths,
|
|
143
|
+
issues,
|
|
144
|
+
recommendations,
|
|
145
|
+
bestPractices: config.bestPractices,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function buildCategoryReferences(category) {
|
|
149
|
+
const common = [
|
|
150
|
+
"- Prompt caching (Anthropic): https://www.anthropic.com/news/prompt-caching",
|
|
151
|
+
"- Mermaid.js: https://github.com/mermaid-js/mermaid",
|
|
152
|
+
];
|
|
153
|
+
const byCat = {
|
|
154
|
+
prompting: [
|
|
155
|
+
"- Hierarchical Prompting: https://relevanceai.com/prompt-engineering/master-hierarchical-prompting-for-better-ai-interactions",
|
|
156
|
+
"- Best Practices (2025): https://www.dataunboxed.io/blog/the-complete-guide-to-prompt-engineering-15-essential-techniques-for-2025",
|
|
157
|
+
],
|
|
158
|
+
"code-management": [
|
|
159
|
+
"- Refactoring legacy code: https://graphite.dev/guides/refactoring-legacy-code-best-practices-techniques",
|
|
160
|
+
],
|
|
161
|
+
architecture: [
|
|
162
|
+
"- Event-driven, microservices patterns (general references)",
|
|
163
|
+
],
|
|
164
|
+
visualization: [
|
|
165
|
+
"- Kubernetes diagram guide: https://kubernetes.io/docs/contribute/style/diagram-guide/",
|
|
166
|
+
],
|
|
167
|
+
memory: [
|
|
168
|
+
"- Prompt caching docs: https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching",
|
|
169
|
+
],
|
|
170
|
+
workflow: [
|
|
171
|
+
"- Sprint planning tools overview (ZenHub 2025): https://www.zenhub.com/blog-posts/the-7-best-ai-assisted-sprint-planning-tools-for-agile-teams-in-2025",
|
|
172
|
+
],
|
|
173
|
+
};
|
|
174
|
+
const set = [...(byCat[category] || []), ...common];
|
|
175
|
+
return set.join("\n");
|
|
176
|
+
}
|
|
177
|
+
// Legacy per-category validators replaced by config-driven approach above.
|
|
178
|
+
//# sourceMappingURL=guidelines-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidelines-validator.js","sourceRoot":"","sources":["../../src/tools/guidelines-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchical-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/tools/hierarchical-prompt-builder.ts"],"names":[],"mappings":"AAkDA,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,OAAO;;;;;GAoC5D"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const HierarchicalPromptSchema = z.object({
|
|
3
|
+
context: z.string(),
|
|
4
|
+
goal: z.string(),
|
|
5
|
+
requirements: z.array(z.string()).optional(),
|
|
6
|
+
outputFormat: z.string().optional(),
|
|
7
|
+
audience: z.string().optional(),
|
|
8
|
+
// YAML prompt frontmatter (experimental prompt file support)
|
|
9
|
+
mode: z.string().optional().default("agent"),
|
|
10
|
+
model: z.string().optional().default("GPT-4.1"),
|
|
11
|
+
tools: z
|
|
12
|
+
.array(z.string())
|
|
13
|
+
.optional()
|
|
14
|
+
.default(["githubRepo", "codebase", "editFiles"]),
|
|
15
|
+
description: z.string().optional(),
|
|
16
|
+
includeFrontmatter: z.boolean().optional().default(true),
|
|
17
|
+
includeDisclaimer: z.boolean().optional().default(true),
|
|
18
|
+
includeReferences: z.boolean().optional().default(false),
|
|
19
|
+
issues: z.array(z.string()).optional(),
|
|
20
|
+
includeExplanation: z.boolean().optional().default(false),
|
|
21
|
+
includeMetadata: z.boolean().optional().default(true),
|
|
22
|
+
inputFile: z.string().optional(),
|
|
23
|
+
// Enforce *.prompt.md file style (frontmatter + markdown prompt body)
|
|
24
|
+
forcePromptMdStyle: z.boolean().optional().default(true),
|
|
25
|
+
});
|
|
26
|
+
function slugify(text) {
|
|
27
|
+
return text
|
|
28
|
+
.toLowerCase()
|
|
29
|
+
.replace(/[^a-z0-9\s-]/g, "")
|
|
30
|
+
.replace(/\s+/g, "-")
|
|
31
|
+
.replace(/-+/g, "-")
|
|
32
|
+
.replace(/^-|-$/g, "");
|
|
33
|
+
}
|
|
34
|
+
function buildFrontmatter(input) {
|
|
35
|
+
const lines = ["---"];
|
|
36
|
+
if (input.mode)
|
|
37
|
+
lines.push(`mode: '${input.mode}'`);
|
|
38
|
+
if (input.model)
|
|
39
|
+
lines.push(`model: ${input.model}`);
|
|
40
|
+
if (input.tools?.length)
|
|
41
|
+
lines.push(`tools: [${input.tools.map((t) => `'${t}'`).join(", ")}]`);
|
|
42
|
+
const desc = input.description || input.goal || "Hierarchical task prompt";
|
|
43
|
+
lines.push(`description: '${desc.replace(/'/g, "''")}'`);
|
|
44
|
+
lines.push("---");
|
|
45
|
+
return lines.join("\n");
|
|
46
|
+
}
|
|
47
|
+
export async function hierarchicalPromptBuilder(args) {
|
|
48
|
+
const input = HierarchicalPromptSchema.parse(args);
|
|
49
|
+
// If enforcing *.prompt.md style, ensure frontmatter + metadata are on
|
|
50
|
+
const enforce = input.forcePromptMdStyle ?? true;
|
|
51
|
+
const effectiveIncludeFrontmatter = enforce ? true : input.includeFrontmatter;
|
|
52
|
+
const effectiveIncludeMetadata = enforce ? true : input.includeMetadata;
|
|
53
|
+
const prompt = buildHierarchicalPrompt(input);
|
|
54
|
+
const frontmatter = effectiveIncludeFrontmatter
|
|
55
|
+
? `${buildFrontmatter(input)}\n`
|
|
56
|
+
: "";
|
|
57
|
+
const disclaimer = input.includeDisclaimer ? buildDisclaimer() : "";
|
|
58
|
+
const references = input.includeReferences ? buildGeneralReferences() : "";
|
|
59
|
+
const filenameHint = `${slugify(input.goal || input.description || "prompt")}.prompt.md`;
|
|
60
|
+
const metadata = effectiveIncludeMetadata
|
|
61
|
+
? [
|
|
62
|
+
"### Metadata",
|
|
63
|
+
`- Updated: ${new Date().toISOString().slice(0, 10)}`,
|
|
64
|
+
"- Source tool: mcp_ai-agent-guid_hierarchical-prompt-builder",
|
|
65
|
+
input.inputFile ? `- Input file: ${input.inputFile}` : undefined,
|
|
66
|
+
`- Suggested filename: ${filenameHint}`,
|
|
67
|
+
"",
|
|
68
|
+
]
|
|
69
|
+
.filter(Boolean)
|
|
70
|
+
.join("\n")
|
|
71
|
+
: "";
|
|
72
|
+
return {
|
|
73
|
+
content: [
|
|
74
|
+
{
|
|
75
|
+
type: "text",
|
|
76
|
+
text: `${frontmatter}## 🧭 Hierarchical Prompt Structure\n\n${metadata}\n${prompt}\n\n${input.includeExplanation ? `## Explanation\nThis prompt follows hierarchical structuring principles (context → goal → requirements → format → audience) to reduce ambiguity and align responses with constraints.\n\n` : ""}${references ? `## References\n${references}\n\n` : ""}${disclaimer}`,
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function buildHierarchicalPrompt(input) {
|
|
82
|
+
let prompt = "";
|
|
83
|
+
// Layer 1: Context
|
|
84
|
+
prompt += `# Context\n${input.context}\n\n`;
|
|
85
|
+
// Layer 2: Goal
|
|
86
|
+
prompt += `# Goal\n${input.goal}\n\n`;
|
|
87
|
+
// Layer 3: Requirements (if provided)
|
|
88
|
+
if (input.requirements && input.requirements.length > 0) {
|
|
89
|
+
prompt += `# Requirements\n`;
|
|
90
|
+
input.requirements.forEach((req, index) => {
|
|
91
|
+
prompt += `${index + 1}. ${req}\n`;
|
|
92
|
+
});
|
|
93
|
+
prompt += "\n";
|
|
94
|
+
}
|
|
95
|
+
// Layer 3b: Problem Indicators (if provided)
|
|
96
|
+
if (input.issues && input.issues.length > 0) {
|
|
97
|
+
prompt += `# Problem Indicators\n`;
|
|
98
|
+
input.issues.forEach((iss, index) => {
|
|
99
|
+
prompt += `${index + 1}. ${iss}\n`;
|
|
100
|
+
});
|
|
101
|
+
prompt += "\n";
|
|
102
|
+
}
|
|
103
|
+
// Layer 4: Output Format (if provided)
|
|
104
|
+
if (input.outputFormat) {
|
|
105
|
+
// Normalize list numbering and layout: convert "1) Item" -> "1. Item"
|
|
106
|
+
// and transform inline comma-separated enumerations into multi-line ordered lists.
|
|
107
|
+
const normalizedOutputFormat = normalizeOutputFormat(input.outputFormat);
|
|
108
|
+
prompt += `# Output Format\n${normalizedOutputFormat}\n\n`;
|
|
109
|
+
}
|
|
110
|
+
// Layer 5: Audience (if provided)
|
|
111
|
+
if (input.audience) {
|
|
112
|
+
prompt += `# Target Audience\n${input.audience}\n\n`;
|
|
113
|
+
}
|
|
114
|
+
// Final instruction
|
|
115
|
+
prompt += `# Instructions\nFollow the structure above. If you detect additional issues in the codebase, explicitly add them under Problem Indicators, propose minimal diffs, and flag risky changes. Treat tools/models as recommendations to validate against current provider documentation.`;
|
|
116
|
+
return prompt;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Normalize enumerated list styles in free-form text:
|
|
120
|
+
* - Converts patterns like "1) Item" to "1. Item" to align with Markdown ordered lists.
|
|
121
|
+
* This is intentionally limited to simple numeric list markers to avoid unintended changes.
|
|
122
|
+
*/
|
|
123
|
+
function normalizeOutputFormat(text) {
|
|
124
|
+
// First, convert list markers like "1) " to "1. "
|
|
125
|
+
let t = text.replace(/(\d+)\)\s/g, "$1. ");
|
|
126
|
+
// If content is a single line with inline enumerations separated by commas,
|
|
127
|
+
// split them into lines when they look like "1. ... , 2. ... , 3. ..."
|
|
128
|
+
// This keeps any existing line breaks intact otherwise.
|
|
129
|
+
if (!t.includes("\n") && /(\d+)\.\s/.test(t) && /,\s*\d+\.\s/.test(t)) {
|
|
130
|
+
// Split on comma followed by a list index pattern
|
|
131
|
+
const parts = t.split(/,\s*(?=\d+\.\s)/);
|
|
132
|
+
// Ensure they are trimmed and each on its own line
|
|
133
|
+
t = parts.map((p) => p.trim()).join("\n");
|
|
134
|
+
}
|
|
135
|
+
return t;
|
|
136
|
+
}
|
|
137
|
+
function buildDisclaimer() {
|
|
138
|
+
return `## Disclaimer\n- References to third-party tools, models, pricing, and limits are indicative and may change.\n- Validate choices with official docs and run a quick benchmark before production use.`;
|
|
139
|
+
}
|
|
140
|
+
function buildGeneralReferences() {
|
|
141
|
+
return [
|
|
142
|
+
"- Hierarchical Prompting overview: https://relevanceai.com/prompt-engineering/master-hierarchical-prompting-for-better-ai-interactions",
|
|
143
|
+
"- Prompt engineering best practices: https://kanerika.com/blogs/ai-prompt-engineering-best-practices/",
|
|
144
|
+
"- Techniques round-up (2025): https://www.dataunboxed.io/blog/the-complete-guide-to-prompt-engineering-15-essential-techniques-for-2025",
|
|
145
|
+
].join("\n");
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=hierarchical-prompt-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchical-prompt-builder.js","sourceRoot":"","sources":["../../src/tools/hierarchical-prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-context-optimizer.d.ts","sourceRoot":"","sources":["../../src/tools/memory-context-optimizer.ts"],"names":[],"mappings":"AAoBA,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,OAAO;;;;;GAmIzD"}
|