/** * Git Hooks Integration for VasperaMemory * * Auto-captures architectural decisions from commit messages and PR descriptions. * * Supported patterns: * - [decision] or [arch] tags in commit messages * - "Decision:" or "Rationale:" prefixes * - Breaking change annotations */ export declare const DECISION_PATTERNS: { pattern: RegExp; category: string; }[]; export interface HooksConfig { hooksDir: string; isGitRepo: boolean; installedHooks: string[]; } export interface DetectedDecision { title: string; content: string; category: 'architectural' | 'pattern' | 'convention' | 'fix'; reasoning?: string; relatedFiles: string[]; sourceType: 'git_commit'; commitHash?: string; } /** * Check if current directory is a git repository */ export declare function isGitRepository(dir?: string): boolean; /** * Get the git hooks directory path */ export declare function getHooksDir(dir?: string): string; /** * Get hooks configuration for the repository */ export declare function getHooksConfig(dir?: string): HooksConfig; /** * Install VasperaMemory git hooks */ export declare function installHooks(dir?: string): Promise<{ success: boolean; message: string; installed: string[]; }>; /** * Uninstall VasperaMemory git hooks */ export declare function uninstallHooks(dir?: string): Promise<{ success: boolean; message: string; removed: string[]; }>; /** * Parse a commit message for decisions */ export declare function parseCommitMessage(message: string): DetectedDecision[]; /** * Get files changed in the current commit */ export declare function getChangedFiles(dir?: string): string[]; /** * Get the current commit hash */ export declare function getCommitHash(dir?: string): string | null; /** * Process a commit message and capture decisions */ export declare function processCommit(message: string, apiKey: string, serverUrl: string, projectId?: string): Promise<{ success: boolean; captured: number; decisions: DetectedDecision[]; }>; /** * Log a commit to VasperaMemory activity */ export declare function logCommit(commitHash: string, filesChanged: string, apiKey: string, serverUrl: string, projectId?: string): Promise; /** * Print hooks status */ export declare function printHooksStatus(config: HooksConfig): void; //# sourceMappingURL=git-hooks.d.ts.map