@ai-coders/context 0.1.0 → 0.3.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/README.md +113 -580
- package/dist/generators/agents/agentConfig.d.ts +4 -0
- package/dist/generators/agents/agentConfig.d.ts.map +1 -0
- package/dist/generators/agents/agentConfig.js +138 -0
- package/dist/generators/agents/agentConfig.js.map +1 -0
- package/dist/generators/agents/agentGenerator.d.ts +10 -0
- package/dist/generators/agents/agentGenerator.d.ts.map +1 -0
- package/dist/generators/agents/agentGenerator.js +137 -0
- package/dist/generators/agents/agentGenerator.js.map +1 -0
- package/dist/generators/agents/agentTypes.d.ts +4 -0
- package/dist/generators/agents/agentTypes.d.ts.map +1 -0
- package/dist/generators/agents/agentTypes.js +22 -0
- package/dist/generators/agents/agentTypes.js.map +1 -0
- package/dist/generators/agents/contextUtils.d.ts +8 -0
- package/dist/generators/agents/contextUtils.d.ts.map +1 -0
- package/dist/generators/agents/contextUtils.js +15 -0
- package/dist/generators/agents/contextUtils.js.map +1 -0
- package/dist/generators/agents/index.d.ts +4 -0
- package/dist/generators/agents/index.d.ts.map +1 -0
- package/dist/generators/agents/index.js +12 -0
- package/dist/generators/agents/index.js.map +1 -0
- package/dist/generators/agents/promptFormatter.d.ts +9 -0
- package/dist/generators/agents/promptFormatter.d.ts.map +1 -0
- package/dist/generators/agents/promptFormatter.js +84 -0
- package/dist/generators/agents/promptFormatter.js.map +1 -0
- package/dist/generators/agents/templates/index.d.ts +4 -0
- package/dist/generators/agents/templates/index.d.ts.map +1 -0
- package/dist/generators/agents/templates/index.js +8 -0
- package/dist/generators/agents/templates/index.js.map +1 -0
- package/dist/generators/agents/templates/indexTemplate.d.ts +3 -0
- package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -0
- package/dist/generators/agents/templates/indexTemplate.js +35 -0
- package/dist/generators/agents/templates/indexTemplate.js.map +1 -0
- package/dist/generators/agents/templates/playbookTemplate.d.ts +4 -0
- package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -0
- package/dist/generators/agents/templates/playbookTemplate.js +63 -0
- package/dist/generators/agents/templates/playbookTemplate.js.map +1 -0
- package/dist/generators/agents/templates/types.d.ts +14 -0
- package/dist/generators/agents/templates/types.d.ts.map +1 -0
- package/dist/generators/agents/templates/types.js +3 -0
- package/dist/generators/agents/templates/types.js.map +1 -0
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts +45 -0
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +1 -0
- package/dist/generators/analyzers/codebaseAnalyzer.js +293 -0
- package/dist/generators/analyzers/codebaseAnalyzer.js.map +1 -0
- package/dist/generators/analyzers/index.d.ts +3 -0
- package/dist/generators/analyzers/index.d.ts.map +1 -0
- package/dist/generators/analyzers/index.js +6 -0
- package/dist/generators/analyzers/index.js.map +1 -0
- package/dist/generators/documentation/documentationGenerator.d.ts +13 -0
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -0
- package/dist/generators/documentation/documentationGenerator.js +115 -0
- package/dist/generators/documentation/documentationGenerator.js.map +1 -0
- package/dist/generators/documentation/documentationTemplates.d.ts +21 -0
- package/dist/generators/documentation/documentationTemplates.d.ts.map +1 -0
- package/dist/generators/documentation/documentationTemplates.js +359 -0
- package/dist/generators/documentation/documentationTemplates.js.map +1 -0
- package/dist/generators/documentation/documentationTypes.d.ts +11 -0
- package/dist/generators/documentation/documentationTypes.d.ts.map +1 -0
- package/dist/generators/documentation/documentationTypes.js +22 -0
- package/dist/generators/documentation/documentationTypes.js.map +1 -0
- package/dist/generators/documentation/documentationUtils.d.ts +7 -0
- package/dist/generators/documentation/documentationUtils.d.ts.map +1 -0
- package/dist/generators/documentation/documentationUtils.js +28 -0
- package/dist/generators/documentation/documentationUtils.js.map +1 -0
- package/dist/generators/documentation/guideRegistry.d.ts +6 -0
- package/dist/generators/documentation/guideRegistry.d.ts.map +1 -0
- package/dist/generators/documentation/guideRegistry.js +82 -0
- package/dist/generators/documentation/guideRegistry.js.map +1 -0
- package/dist/generators/{incrementalDocumentationGenerator.d.ts → documentation/incrementalDocumentationGenerator.d.ts} +4 -4
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +1 -0
- package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +1 -0
- package/dist/generators/documentation/index.d.ts +2 -0
- package/dist/generators/documentation/index.d.ts.map +1 -0
- package/dist/generators/documentation/index.js +6 -0
- package/dist/generators/documentation/index.js.map +1 -0
- package/dist/generators/documentation/templates/architectureTemplate.d.ts +3 -0
- package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/architectureTemplate.js +66 -0
- package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/common.d.ts +7 -0
- package/dist/generators/documentation/templates/common.d.ts.map +1 -0
- package/dist/generators/documentation/templates/common.js +58 -0
- package/dist/generators/documentation/templates/common.js.map +1 -0
- package/dist/generators/documentation/templates/dataFlowTemplate.d.ts +3 -0
- package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/dataFlowTemplate.js +55 -0
- package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +59 -0
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/frontMatter.d.ts +11 -0
- package/dist/generators/documentation/templates/frontMatter.d.ts.map +1 -0
- package/dist/generators/documentation/templates/frontMatter.js +29 -0
- package/dist/generators/documentation/templates/frontMatter.js.map +1 -0
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts +3 -0
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/glossaryTemplate.js +55 -0
- package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/index.d.ts +11 -0
- package/dist/generators/documentation/templates/index.d.ts.map +1 -0
- package/dist/generators/documentation/templates/index.js +22 -0
- package/dist/generators/documentation/templates/index.js.map +1 -0
- package/dist/generators/documentation/templates/indexTemplate.d.ts +3 -0
- package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/indexTemplate.js +56 -0
- package/dist/generators/documentation/templates/indexTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts +3 -0
- package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/projectOverviewTemplate.js +68 -0
- package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/securityTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/securityTemplate.js +53 -0
- package/dist/generators/documentation/templates/securityTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/testingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/testingTemplate.js +59 -0
- package/dist/generators/documentation/templates/testingTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/toolingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/toolingTemplate.js +56 -0
- package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/types.d.ts +23 -0
- package/dist/generators/documentation/templates/types.d.ts.map +1 -0
- package/dist/generators/documentation/templates/types.js +3 -0
- package/dist/generators/documentation/templates/types.js.map +1 -0
- package/dist/generators/documentation/templates.d.ts +31 -0
- package/dist/generators/documentation/templates.d.ts.map +1 -0
- package/dist/generators/documentation/templates.js +566 -0
- package/dist/generators/documentation/templates.js.map +1 -0
- package/dist/generators/guidelines/agentIntegration.d.ts +43 -0
- package/dist/generators/guidelines/agentIntegration.d.ts.map +1 -0
- package/dist/generators/guidelines/agentIntegration.js +157 -0
- package/dist/generators/guidelines/agentIntegration.js.map +1 -0
- package/dist/generators/guidelines/guidelineTypes.d.ts +40 -0
- package/dist/generators/guidelines/guidelineTypes.d.ts.map +1 -0
- package/dist/generators/guidelines/guidelineTypes.js +144 -0
- package/dist/generators/guidelines/guidelineTypes.js.map +1 -0
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +30 -0
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +1 -0
- package/dist/generators/guidelines/guidelinesAnalyzer.js +263 -0
- package/dist/generators/guidelines/guidelinesAnalyzer.js.map +1 -0
- package/dist/generators/guidelines/guidelinesGenerator.d.ts +30 -0
- package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +1 -0
- package/dist/generators/guidelines/guidelinesGenerator.js +249 -0
- package/dist/generators/guidelines/guidelinesGenerator.js.map +1 -0
- package/dist/generators/guidelines/guidelinesTemplates.d.ts +23 -0
- package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +1 -0
- package/dist/generators/guidelines/guidelinesTemplates.js +304 -0
- package/dist/generators/guidelines/guidelinesTemplates.js.map +1 -0
- package/dist/generators/guidelines/index.d.ts +6 -0
- package/dist/generators/guidelines/index.d.ts.map +1 -0
- package/dist/generators/guidelines/index.js +16 -0
- package/dist/generators/guidelines/index.js.map +1 -0
- package/dist/generators/moduleGrouper.d.ts +14 -0
- package/dist/generators/moduleGrouper.d.ts.map +1 -0
- package/dist/generators/moduleGrouper.js +82 -0
- package/dist/generators/moduleGrouper.js.map +1 -0
- package/dist/generators/plans/index.d.ts +2 -0
- package/dist/generators/plans/index.d.ts.map +1 -0
- package/dist/generators/plans/index.js +6 -0
- package/dist/generators/plans/index.js.map +1 -0
- package/dist/generators/plans/planGenerator.d.ts +22 -0
- package/dist/generators/plans/planGenerator.d.ts.map +1 -0
- package/dist/generators/plans/planGenerator.js +109 -0
- package/dist/generators/plans/planGenerator.js.map +1 -0
- package/dist/generators/plans/templates/indexTemplate.d.ts +3 -0
- package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -0
- package/dist/generators/plans/templates/indexTemplate.js +36 -0
- package/dist/generators/plans/templates/indexTemplate.js.map +1 -0
- package/dist/generators/plans/templates/planTemplate.d.ts +3 -0
- package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -0
- package/dist/generators/plans/templates/planTemplate.js +83 -0
- package/dist/generators/plans/templates/planTemplate.js.map +1 -0
- package/dist/generators/plans/templates/types.d.ts +19 -0
- package/dist/generators/plans/templates/types.d.ts.map +1 -0
- package/dist/generators/plans/templates/types.js +3 -0
- package/dist/generators/plans/templates/types.js.map +1 -0
- package/dist/generators/projectAnalyzer.d.ts +14 -0
- package/dist/generators/projectAnalyzer.d.ts.map +1 -0
- package/dist/generators/projectAnalyzer.js +217 -0
- package/dist/generators/projectAnalyzer.js.map +1 -0
- package/dist/generators/shared/contextGenerator.d.ts +7 -0
- package/dist/generators/shared/contextGenerator.d.ts.map +1 -0
- package/dist/generators/shared/contextGenerator.js +13 -0
- package/dist/generators/shared/contextGenerator.js.map +1 -0
- package/dist/generators/shared/directoryTemplateHelpers.d.ts +2 -0
- package/dist/generators/shared/directoryTemplateHelpers.d.ts.map +1 -0
- package/dist/generators/shared/directoryTemplateHelpers.js +12 -0
- package/dist/generators/shared/directoryTemplateHelpers.js.map +1 -0
- package/dist/generators/shared/generatorUtils.d.ts +16 -0
- package/dist/generators/shared/generatorUtils.d.ts.map +1 -0
- package/dist/generators/shared/generatorUtils.js +119 -0
- package/dist/generators/shared/generatorUtils.js.map +1 -0
- package/dist/generators/shared/index.d.ts +4 -0
- package/dist/generators/shared/index.d.ts.map +1 -0
- package/dist/generators/shared/index.js +10 -0
- package/dist/generators/shared/index.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1327 -419
- package/dist/index.js.map +1 -1
- package/dist/utils/cliUI.d.ts +6 -4
- package/dist/utils/cliUI.d.ts.map +1 -1
- package/dist/utils/cliUI.js +71 -56
- package/dist/utils/cliUI.js.map +1 -1
- package/dist/utils/i18n.d.ts +181 -0
- package/dist/utils/i18n.d.ts.map +1 -0
- package/dist/utils/i18n.js +401 -0
- package/dist/utils/i18n.js.map +1 -0
- package/dist/utils/interactiveMode.d.ts +6 -1
- package/dist/utils/interactiveMode.d.ts.map +1 -1
- package/dist/utils/interactiveMode.js +375 -70
- package/dist/utils/interactiveMode.js.map +1 -1
- package/dist/utils/tokenEstimator.d.ts +10 -9
- package/dist/utils/tokenEstimator.d.ts.map +1 -1
- package/dist/utils/tokenEstimator.js +45 -109
- package/dist/utils/tokenEstimator.js.map +1 -1
- package/package.json +26 -23
- package/prompts/update_plan_prompt.md +42 -0
- package/prompts/update_scaffold_prompt.md +48 -0
- package/dist/generators/agentGenerator.d.ts +0 -23
- package/dist/generators/agentGenerator.d.ts.map +0 -1
- package/dist/generators/agentGenerator.js +0 -357
- package/dist/generators/agentGenerator.js.map +0 -1
- package/dist/generators/documentationGenerator.d.ts +0 -40
- package/dist/generators/documentationGenerator.d.ts.map +0 -1
- package/dist/generators/documentationGenerator.js +0 -786
- package/dist/generators/documentationGenerator.js.map +0 -1
- package/dist/generators/incrementalDocumentationGenerator.d.ts.map +0 -1
- package/dist/generators/incrementalDocumentationGenerator.js.map +0 -1
- /package/dist/generators/{incrementalDocumentationGenerator.js → documentation/incrementalDocumentationGenerator.js} +0 -0
|
@@ -1,357 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.AgentGenerator = void 0;
|
|
40
|
-
const fs = __importStar(require("fs-extra"));
|
|
41
|
-
const path = __importStar(require("path"));
|
|
42
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
-
class AgentGenerator {
|
|
44
|
-
constructor(fileMapper, llmClient) {
|
|
45
|
-
this.fileMapper = fileMapper;
|
|
46
|
-
this.llmClient = llmClient;
|
|
47
|
-
this.agentTypes = [
|
|
48
|
-
'code-reviewer',
|
|
49
|
-
'bug-fixer',
|
|
50
|
-
'feature-developer',
|
|
51
|
-
'refactoring-specialist',
|
|
52
|
-
'test-writer',
|
|
53
|
-
'documentation-writer',
|
|
54
|
-
'performance-optimizer',
|
|
55
|
-
'security-auditor'
|
|
56
|
-
];
|
|
57
|
-
}
|
|
58
|
-
async generateAgentPrompts(repoStructure, outputDir, verbose = false) {
|
|
59
|
-
const agentsDir = path.join(outputDir, 'agents');
|
|
60
|
-
await fs.ensureDir(agentsDir);
|
|
61
|
-
if (verbose) {
|
|
62
|
-
console.log(chalk_1.default.blue(`🤖 Generating agent prompts in: ${agentsDir}`));
|
|
63
|
-
}
|
|
64
|
-
const repoContext = this.createRepoContext(repoStructure);
|
|
65
|
-
const fileContext = await this.createFileContext(repoStructure);
|
|
66
|
-
for (const agentType of this.agentTypes) {
|
|
67
|
-
try {
|
|
68
|
-
const fileName = `${agentType}.md`;
|
|
69
|
-
if (verbose) {
|
|
70
|
-
console.log(chalk_1.default.blue(`📄 Creating ${fileName}...`));
|
|
71
|
-
}
|
|
72
|
-
const agentPrompt = await this.generateAgentPrompt(agentType, repoContext, fileContext, repoStructure);
|
|
73
|
-
const agentPath = path.join(agentsDir, fileName);
|
|
74
|
-
await fs.writeFile(agentPath, agentPrompt);
|
|
75
|
-
if (verbose) {
|
|
76
|
-
console.log(chalk_1.default.green(`✅ Created ${fileName}`));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
if (verbose) {
|
|
81
|
-
console.log(chalk_1.default.red(`❌ Error generating ${agentType}: ${error}`));
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
// Generate master agent index
|
|
86
|
-
await this.generateAgentIndex(agentsDir, verbose);
|
|
87
|
-
}
|
|
88
|
-
async generateAgentPrompt(agentType, repoContext, fileContext, repoStructure) {
|
|
89
|
-
const structureOverview = this.createStructureOverview(repoStructure);
|
|
90
|
-
const agentPrompt = await this.llmClient.generateAgentPrompt(structureOverview, fileContext, agentType);
|
|
91
|
-
return this.formatAgentPrompt(agentType, agentPrompt, repoContext);
|
|
92
|
-
}
|
|
93
|
-
formatAgentPrompt(agentType, generatedPrompt, repoContext) {
|
|
94
|
-
const title = agentType.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
|
|
95
|
-
return `# ${title} Agent
|
|
96
|
-
|
|
97
|
-
## Role Description
|
|
98
|
-
You are a specialized ${title} agent for this codebase. Your primary function is to assist with ${agentType.replace('-', ' ')} tasks while maintaining deep understanding of the project structure and conventions.
|
|
99
|
-
|
|
100
|
-
## Repository Context
|
|
101
|
-
${repoContext}
|
|
102
|
-
|
|
103
|
-
## Agent-Specific Prompt
|
|
104
|
-
${generatedPrompt}
|
|
105
|
-
|
|
106
|
-
## Key Responsibilities
|
|
107
|
-
${this.getAgentResponsibilities(agentType)}
|
|
108
|
-
|
|
109
|
-
## Best Practices
|
|
110
|
-
${this.getAgentBestPractices(agentType)}
|
|
111
|
-
|
|
112
|
-
## Common Commands and Patterns
|
|
113
|
-
${this.getAgentCommands(agentType)}
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
*Generated by AI Coders Context*
|
|
117
|
-
*Agent Type: ${agentType}*
|
|
118
|
-
*Generated on: ${new Date().toISOString()}*
|
|
119
|
-
`;
|
|
120
|
-
}
|
|
121
|
-
getAgentResponsibilities(agentType) {
|
|
122
|
-
const responsibilities = {
|
|
123
|
-
'code-reviewer': [
|
|
124
|
-
'Review code changes for quality, style, and best practices',
|
|
125
|
-
'Identify potential bugs and security issues',
|
|
126
|
-
'Ensure code follows project conventions',
|
|
127
|
-
'Provide constructive feedback and suggestions'
|
|
128
|
-
],
|
|
129
|
-
'bug-fixer': [
|
|
130
|
-
'Analyze bug reports and error messages',
|
|
131
|
-
'Identify root causes of issues',
|
|
132
|
-
'Implement targeted fixes with minimal side effects',
|
|
133
|
-
'Test fixes thoroughly before deployment'
|
|
134
|
-
],
|
|
135
|
-
'feature-developer': [
|
|
136
|
-
'Implement new features according to specifications',
|
|
137
|
-
'Design clean, maintainable code architecture',
|
|
138
|
-
'Integrate features with existing codebase',
|
|
139
|
-
'Write comprehensive tests for new functionality'
|
|
140
|
-
],
|
|
141
|
-
'refactoring-specialist': [
|
|
142
|
-
'Identify code smells and improvement opportunities',
|
|
143
|
-
'Refactor code while maintaining functionality',
|
|
144
|
-
'Improve code organization and structure',
|
|
145
|
-
'Optimize performance where applicable'
|
|
146
|
-
],
|
|
147
|
-
'test-writer': [
|
|
148
|
-
'Write comprehensive unit and integration tests',
|
|
149
|
-
'Ensure good test coverage across the codebase',
|
|
150
|
-
'Create test utilities and fixtures',
|
|
151
|
-
'Maintain and update existing tests'
|
|
152
|
-
],
|
|
153
|
-
'documentation-writer': [
|
|
154
|
-
'Create clear, comprehensive documentation',
|
|
155
|
-
'Update existing documentation as code changes',
|
|
156
|
-
'Write helpful code comments and examples',
|
|
157
|
-
'Maintain README and API documentation'
|
|
158
|
-
],
|
|
159
|
-
'performance-optimizer': [
|
|
160
|
-
'Identify performance bottlenecks',
|
|
161
|
-
'Optimize code for speed and efficiency',
|
|
162
|
-
'Implement caching strategies',
|
|
163
|
-
'Monitor and improve resource usage'
|
|
164
|
-
],
|
|
165
|
-
'security-auditor': [
|
|
166
|
-
'Identify security vulnerabilities',
|
|
167
|
-
'Implement security best practices',
|
|
168
|
-
'Review dependencies for security issues',
|
|
169
|
-
'Ensure data protection and privacy compliance'
|
|
170
|
-
]
|
|
171
|
-
};
|
|
172
|
-
return responsibilities[agentType]?.map(r => `- ${r}`).join('\n') ||
|
|
173
|
-
'- Perform specialized tasks for this agent type';
|
|
174
|
-
}
|
|
175
|
-
getAgentBestPractices(agentType) {
|
|
176
|
-
const practices = {
|
|
177
|
-
'code-reviewer': [
|
|
178
|
-
'Focus on maintainability and readability',
|
|
179
|
-
'Consider the broader impact of changes',
|
|
180
|
-
'Be constructive and specific in feedback'
|
|
181
|
-
],
|
|
182
|
-
'bug-fixer': [
|
|
183
|
-
'Reproduce the bug before fixing',
|
|
184
|
-
'Write tests to prevent regression',
|
|
185
|
-
'Document the fix for future reference'
|
|
186
|
-
],
|
|
187
|
-
'feature-developer': [
|
|
188
|
-
'Follow existing patterns and conventions',
|
|
189
|
-
'Consider edge cases and error handling',
|
|
190
|
-
'Write tests alongside implementation'
|
|
191
|
-
],
|
|
192
|
-
'refactoring-specialist': [
|
|
193
|
-
'Make small, incremental changes',
|
|
194
|
-
'Ensure tests pass after each refactor',
|
|
195
|
-
'Preserve existing functionality exactly'
|
|
196
|
-
],
|
|
197
|
-
'test-writer': [
|
|
198
|
-
'Write tests that are clear and maintainable',
|
|
199
|
-
'Test both happy path and edge cases',
|
|
200
|
-
'Use descriptive test names'
|
|
201
|
-
],
|
|
202
|
-
'documentation-writer': [
|
|
203
|
-
'Keep documentation up-to-date with code',
|
|
204
|
-
'Write from the user\'s perspective',
|
|
205
|
-
'Include practical examples'
|
|
206
|
-
],
|
|
207
|
-
'performance-optimizer': [
|
|
208
|
-
'Measure before optimizing',
|
|
209
|
-
'Focus on actual bottlenecks',
|
|
210
|
-
'Don\'t sacrifice readability unnecessarily'
|
|
211
|
-
],
|
|
212
|
-
'security-auditor': [
|
|
213
|
-
'Follow security best practices',
|
|
214
|
-
'Stay updated on common vulnerabilities',
|
|
215
|
-
'Consider the principle of least privilege'
|
|
216
|
-
]
|
|
217
|
-
};
|
|
218
|
-
return practices[agentType]?.map(p => `- ${p}`).join('\n') ||
|
|
219
|
-
'- Follow general best practices for software development';
|
|
220
|
-
}
|
|
221
|
-
getAgentCommands(agentType) {
|
|
222
|
-
return `Common patterns and commands for ${agentType} tasks:
|
|
223
|
-
|
|
224
|
-
\`\`\`bash
|
|
225
|
-
# Add relevant commands here based on the codebase
|
|
226
|
-
npm test # Run tests
|
|
227
|
-
npm run lint # Check code style
|
|
228
|
-
npm run build # Build the project
|
|
229
|
-
\`\`\`
|
|
230
|
-
|
|
231
|
-
Refer to the project's package.json or documentation for specific commands.`;
|
|
232
|
-
}
|
|
233
|
-
createRepoContext(repoStructure) {
|
|
234
|
-
const { files, totalFiles, totalSize } = repoStructure;
|
|
235
|
-
const extensions = new Map();
|
|
236
|
-
files.forEach(file => {
|
|
237
|
-
const ext = file.extension || 'no-extension';
|
|
238
|
-
extensions.set(ext, (extensions.get(ext) || 0) + 1);
|
|
239
|
-
});
|
|
240
|
-
const topExtensions = Array.from(extensions.entries())
|
|
241
|
-
.sort((a, b) => b[1] - a[1])
|
|
242
|
-
.slice(0, 5);
|
|
243
|
-
return `**Project Statistics:**
|
|
244
|
-
- Total Files: ${totalFiles}
|
|
245
|
-
- Total Size: ${this.formatBytes(totalSize)}
|
|
246
|
-
- Primary Languages: ${topExtensions.map(([ext, count]) => `${ext} (${count})`).join(', ')}
|
|
247
|
-
|
|
248
|
-
**Key Project Files:**
|
|
249
|
-
${files
|
|
250
|
-
.filter(f => ['package.json', 'README.md', 'tsconfig.json'].includes(path.basename(f.path)))
|
|
251
|
-
.map(f => `- ${f.relativePath}`)
|
|
252
|
-
.join('\n')}`;
|
|
253
|
-
}
|
|
254
|
-
async createFileContext(repoStructure) {
|
|
255
|
-
const importantFiles = repoStructure.files
|
|
256
|
-
.filter(f => this.isImportantFile(f.relativePath))
|
|
257
|
-
.slice(0, 10);
|
|
258
|
-
let context = '**Important Files Context:**\n\n';
|
|
259
|
-
for (const file of importantFiles) {
|
|
260
|
-
try {
|
|
261
|
-
const content = await this.fileMapper.readFileContent(file.path);
|
|
262
|
-
const preview = content.substring(0, 500);
|
|
263
|
-
context += `**${file.relativePath}:**\n\`\`\`\n${preview}${content.length > 500 ? '...' : ''}\n\`\`\`\n\n`;
|
|
264
|
-
}
|
|
265
|
-
catch (error) {
|
|
266
|
-
context += `**${file.relativePath}:** (Error reading file)\n\n`;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
return context;
|
|
270
|
-
}
|
|
271
|
-
createStructureOverview(repoStructure) {
|
|
272
|
-
const directories = [...new Set(repoStructure.files.map(f => path.dirname(f.relativePath)))].filter(dir => dir !== '.').slice(0, 20);
|
|
273
|
-
return `Repository Structure Overview:
|
|
274
|
-
|
|
275
|
-
Directories:
|
|
276
|
-
${directories.map(dir => `- ${dir}`).join('\n')}
|
|
277
|
-
|
|
278
|
-
File Types:
|
|
279
|
-
${this.getFileTypeDistribution(repoStructure)}
|
|
280
|
-
|
|
281
|
-
Total Files: ${repoStructure.totalFiles}
|
|
282
|
-
`;
|
|
283
|
-
}
|
|
284
|
-
getFileTypeDistribution(repoStructure) {
|
|
285
|
-
const extensions = new Map();
|
|
286
|
-
repoStructure.files.forEach(file => {
|
|
287
|
-
const ext = file.extension || 'no-extension';
|
|
288
|
-
extensions.set(ext, (extensions.get(ext) || 0) + 1);
|
|
289
|
-
});
|
|
290
|
-
return Array.from(extensions.entries())
|
|
291
|
-
.sort((a, b) => b[1] - a[1])
|
|
292
|
-
.slice(0, 10)
|
|
293
|
-
.map(([ext, count]) => `- ${ext}: ${count} files`)
|
|
294
|
-
.join('\n');
|
|
295
|
-
}
|
|
296
|
-
isImportantFile(filePath) {
|
|
297
|
-
const importantFiles = [
|
|
298
|
-
'package.json', 'tsconfig.json', 'webpack.config.js',
|
|
299
|
-
'next.config.js', 'tailwind.config.js', 'README.md',
|
|
300
|
-
'.gitignore', 'Dockerfile', 'docker-compose.yml'
|
|
301
|
-
];
|
|
302
|
-
const fileName = path.basename(filePath);
|
|
303
|
-
return importantFiles.includes(fileName) ||
|
|
304
|
-
filePath.includes('config') ||
|
|
305
|
-
filePath.includes('index');
|
|
306
|
-
}
|
|
307
|
-
async generateAgentIndex(agentsDir, verbose) {
|
|
308
|
-
const fileName = 'README.md';
|
|
309
|
-
if (verbose) {
|
|
310
|
-
console.log(chalk_1.default.blue(`📄 Creating ${fileName}...`));
|
|
311
|
-
}
|
|
312
|
-
const indexContent = `# AI Agents Index
|
|
313
|
-
|
|
314
|
-
This directory contains specialized AI agent prompts designed for this codebase.
|
|
315
|
-
|
|
316
|
-
## Available Agents
|
|
317
|
-
|
|
318
|
-
${this.agentTypes.map(type => {
|
|
319
|
-
const title = type.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
|
|
320
|
-
return `### [${title}](${type}.md)
|
|
321
|
-
- **File:** \`${type}.md\`
|
|
322
|
-
- **Purpose:** Specialized ${title.toLowerCase()} tasks
|
|
323
|
-
`;
|
|
324
|
-
}).join('\n')}
|
|
325
|
-
|
|
326
|
-
## Usage
|
|
327
|
-
|
|
328
|
-
Each agent prompt is designed to provide context-aware assistance for specific development tasks. Use these prompts with your preferred AI assistant to get specialized help with your codebase.
|
|
329
|
-
|
|
330
|
-
## How to Use
|
|
331
|
-
|
|
332
|
-
1. Choose the appropriate agent for your task
|
|
333
|
-
2. Copy the agent prompt from the corresponding .md file
|
|
334
|
-
3. Provide the prompt to your AI assistant along with your specific question or task
|
|
335
|
-
4. The agent will provide context-aware assistance based on your codebase structure
|
|
336
|
-
|
|
337
|
-
---
|
|
338
|
-
*Generated by AI Coders Context*
|
|
339
|
-
*Generated on: ${new Date().toISOString()}*
|
|
340
|
-
`;
|
|
341
|
-
const indexPath = path.join(agentsDir, fileName);
|
|
342
|
-
await fs.writeFile(indexPath, indexContent);
|
|
343
|
-
if (verbose) {
|
|
344
|
-
console.log(chalk_1.default.green(`✅ Created ${fileName}`));
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
formatBytes(bytes) {
|
|
348
|
-
if (bytes === 0)
|
|
349
|
-
return '0 Bytes';
|
|
350
|
-
const k = 1024;
|
|
351
|
-
const sizes = ['Bytes', 'KB', 'MB', 'GB'];
|
|
352
|
-
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
353
|
-
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
exports.AgentGenerator = AgentGenerator;
|
|
357
|
-
//# sourceMappingURL=agentGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentGenerator.js","sourceRoot":"","sources":["../../src/generators/agentGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { RepoStructure } from '../types';
|
|
2
|
-
import { FileMapper } from '../utils/fileMapper';
|
|
3
|
-
import { BaseLLMClient } from '../services/baseLLMClient';
|
|
4
|
-
export declare class DocumentationGenerator {
|
|
5
|
-
private fileMapper;
|
|
6
|
-
private llmClient;
|
|
7
|
-
constructor(fileMapper: FileMapper, llmClient: BaseLLMClient);
|
|
8
|
-
generateDocumentation(repoStructure: RepoStructure, outputDir: string, verbose?: boolean): Promise<void>;
|
|
9
|
-
private generateMainIndex;
|
|
10
|
-
private generateOverview;
|
|
11
|
-
private generateArchitectureDoc;
|
|
12
|
-
private generateModuleDocumentation;
|
|
13
|
-
private generateAPIReference;
|
|
14
|
-
private generateConfigurationGuide;
|
|
15
|
-
private getModuleGroups;
|
|
16
|
-
private formatModuleName;
|
|
17
|
-
private getModuleDescription;
|
|
18
|
-
private createModuleDocumentation;
|
|
19
|
-
private createEnhancedProjectOverview;
|
|
20
|
-
private createArchitectureDocumentation;
|
|
21
|
-
private createAPIReference;
|
|
22
|
-
private createConfigurationGuide;
|
|
23
|
-
private identifyProjectType;
|
|
24
|
-
private identifyTechStack;
|
|
25
|
-
private identifyKeyFiles;
|
|
26
|
-
private createSimplifiedTree;
|
|
27
|
-
private getConfigDescription;
|
|
28
|
-
private slugify;
|
|
29
|
-
private formatBytes;
|
|
30
|
-
private generateDevelopmentGuide;
|
|
31
|
-
private generateDeploymentGuide;
|
|
32
|
-
private generateTroubleshootingGuide;
|
|
33
|
-
private createDevelopmentGuide;
|
|
34
|
-
private createDeploymentGuide;
|
|
35
|
-
private createTroubleshootingGuide;
|
|
36
|
-
private detectProjectType;
|
|
37
|
-
private getConfigurationFiles;
|
|
38
|
-
private getPackageInfo;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=documentationGenerator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"documentationGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/documentationGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,aAAa,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAS1D,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS;gBADT,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa;IAG5B,qBAAqB,CACzB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,IAAI,CAAC;YAoCF,iBAAiB;YAsDjB,gBAAgB;YAmBhB,uBAAuB;YAmBvB,2BAA2B;YA+B3B,oBAAoB;YAkBpB,0BAA0B;IAkBxC,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,oBAAoB;YAYd,yBAAyB;YA4CzB,6BAA6B;YA+C7B,+BAA+B;YA+C/B,kBAAkB;YAuDlB,wBAAwB;IAwEtC,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,WAAW;YAQL,wBAAwB;YAmBxB,uBAAuB;YAmBvB,4BAA4B;YAmB5B,sBAAsB;YAgCtB,qBAAqB;YAiCrB,0BAA0B;IAgCxC,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,cAAc;CA4BvB"}
|