Context Builder
Architecture
Core Components
ContextBuilder
export class ContextBuilder {
private options: ContextBuilderOptions;
private gitOperations: GitOperations;
private diffParser: DiffParser;
private fileSystemScanner: FileSystemScanner;
private dependencyAnalyzer: DependencyAnalyzer;
private codeStructureAnalyzer: CodeStructureAnalyzer;
private tokenCounter: TokenCounter;
private configOptions: ContextBuilderConfig;
constructor(
options: Partial<ContextBuilderOptions>,
dependencies?: {
gitOperations?: GitOperations;
diffParser?: DiffParser;
fileSystemScanner?: FileSystemScanner;
dependencyAnalyzer?: DependencyAnalyzer;
codeStructureAnalyzer?: CodeStructureAnalyzer;
tokenCounter?: TokenCounter;
},
) {
// Initialize options and dependencies
}
async buildContext(): Promise<ContextBuildResult> {
// Build context for LLM analysis
}
private async assembleContext(
parsedDiff: ParsedDiff,
repoStructure: RepositoryStructure,
dependencyGraph: DependencyGraph,
codeStructure: CodeStructure,
): Promise<LLMContext> {
// Assemble context from various sources
}
// Other helper methods
}Key Methods
GitOperations
DiffParser
FileSystemScanner
DependencyAnalyzer
CodeStructureAnalyzer
TokenCounter
Context Structure
Repository Information
Changes Information
Related Files
Metadata
Configuration Options
Error Handling
Implementation Notes
Dependency Injection
Token Management
Project Type Detection
Performance Considerations
Last updated