UNPKG

@aaswe/codebase-ai

Version:

AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs

95 lines 2.46 kB
/** * Git Hooks Manager * * Manages Git hooks for TTL file versioning and automatic re-analysis * when TTL files are modified by developers. */ import { EventEmitter } from 'events'; export interface GitHookConfig { projectRoot: string; ttlDirectories: string[]; ttlPatterns: string[]; enablePreCommitHook: boolean; enablePostCommitHook: boolean; enablePostMergeHook: boolean; autoReanalyzeOnTTLChange: boolean; } export interface TTLFileChange { filePath: string; changeType: 'added' | 'modified' | 'deleted'; timestamp: Date; commitHash?: string; author?: string; } export interface GitHookEvent { type: 'pre-commit' | 'post-commit' | 'post-merge'; ttlChanges: TTLFileChange[]; timestamp: Date; commitHash?: string; } /** * Git Hooks Manager for TTL File Versioning */ export declare class GitHooksManager extends EventEmitter { private config; private git; private isInitialized; constructor(config: GitHookConfig); /** * Initialize Git hooks for TTL file monitoring */ initialize(): Promise<void>; /** * Install pre-commit hook to validate TTL files before commit */ private installPreCommitHook; /** * Install post-commit hook to trigger re-analysis after TTL changes */ private installPostCommitHook; /** * Install post-merge hook to handle TTL conflicts and re-analysis */ private installPostMergeHook; /** * Validate staged TTL files before commit */ validateStagedTTLFiles(): Promise<boolean>; /** * Handle post-commit re-analysis */ handlePostCommitReanalysis(): Promise<void>; /** * Handle post-merge re-analysis and conflict resolution */ handlePostMergeReanalysis(): Promise<void>; /** * Get changed TTL files from a commit */ private getChangedTTLFiles; /** * Validate TTL content */ private validateTTLContent; /** * Detect TTL conflicts after merge */ private detectTTLConflicts; /** * Resolve TTL conflicts by triggering re-analysis */ private resolveTTLConflicts; /** * Trigger re-analysis for changed TTL files */ private triggerReanalysis; /** * Uninstall Git hooks */ uninstall(): Promise<void>; /** * Get Git hooks status */ getStatus(): Promise<any>; } //# sourceMappingURL=GitHooksManager.d.ts.map