/** * Git 工具模块 * 支持获取 git diff 内容用于代码审查 */ /** Git diff 模式 */ export type GitMode = "staged" | "unstaged" | "all"; /** Git diff 结果 */ export interface GitDiffResult { /** diff 内容 */ content: string; /** 变更的文件列表 */ files: string[]; /** 变更统计 */ stats: { additions: number; deletions: number; filesChanged: number; }; } /** * 检查当前目录是否为 git 仓库 */ export declare function isGitRepo(cwd?: string): boolean; /** * 获取 git diff 内容 * @param mode - diff 模式:staged=已暂存, unstaged=未暂存, all=全部 * @param cwd - 工作目录 */ export declare function getGitDiff(mode: GitMode, cwd?: string): GitDiffResult; /** * 获取带完整文件内容的 diff(用于更好的审查上下文) */ export declare function getGitDiffWithContext(mode: GitMode, cwd?: string): GitDiffResult; /** * 获取当前分支名 */ export declare function getCurrentBranch(cwd?: string): string; /** * 检查是否有未提交的更改 */ export declare function hasUncommittedChanges(cwd?: string): boolean; /** * 获取变更文件的完整内容(当前工作区版本) * @param files 文件列表 * @param cwd 工作目录 */ export declare function getChangedFilesContent(files: string[], cwd?: string): string; /** 增强的 Git diff 结果 */ export interface EnhancedGitDiffResult extends GitDiffResult { /** 变更文件的完整内容 */ fullFilesContent?: string; } /** * 获取增强的 git diff(可选包含完整文件内容) * @param mode diff 模式 * @param options 选项 */ export declare function getEnhancedGitDiff(mode: GitMode, options?: { cwd?: string; includeFullFiles?: boolean; }): EnhancedGitDiffResult; //# sourceMappingURL=git.d.ts.map