2208179514
参考 aider 的实现,添加 Git 深度集成功能: - GitRepo: 封装 simple-git 的基础 Git 操作 - AutoCommitManager: 支持 immediate/batch/manual 三种自动提交模式 - MessageGenerator: 智能生成 conventional/simple/detailed 格式的 commit message - UndoManager: 安全的 undo 机制,仅允许撤销 AI 生成的提交 主要特性: - 文件变更后自动提交 (batch 模式默认 3 秒延迟) - 智能检测变更类型 (feat/fix/docs/test/chore 等) - 自动检测 scope (从文件路径推断) - 多重安全检查的 undo 机制 - 追踪 AI 生成的提交,防止误撤销用户提交 - 与 Hook 系统集成 添加 simple-git 依赖 编写完整测试用例 (26 个测试)
54 lines
935 B
TypeScript
54 lines
935 B
TypeScript
/**
|
|
* Git 深度集成模块
|
|
*
|
|
* 提供自动提交、智能 commit message 生成、undo 等功能
|
|
* 参考 aider 的实现
|
|
*/
|
|
|
|
// Git 管理器
|
|
export {
|
|
GitManager,
|
|
getGitManager,
|
|
initGitManager,
|
|
resetGitManager,
|
|
} from './manager.js';
|
|
|
|
// GitRepo
|
|
export { GitRepo } from './repo.js';
|
|
|
|
// 自动提交
|
|
export { AutoCommitManager } from './auto-commit.js';
|
|
|
|
// 消息生成
|
|
export { MessageGenerator } from './message-generator.js';
|
|
|
|
// Undo 管理
|
|
export { UndoManager } from './undo-manager.js';
|
|
|
|
// 类型导出
|
|
export type {
|
|
GitConfig,
|
|
AutoCommitConfig,
|
|
UndoConfig,
|
|
MessageFormatConfig,
|
|
AttributionConfig,
|
|
GitStatus,
|
|
FileChange,
|
|
ChangeStatus,
|
|
CommitInfo,
|
|
DiffResult,
|
|
FileDiff,
|
|
DiffHunk,
|
|
DiffStats,
|
|
UndoEntry,
|
|
UndoResult,
|
|
CommitOptions,
|
|
CommitResult,
|
|
BranchInfo,
|
|
GitEventType,
|
|
GitEvent,
|
|
GitEventListener,
|
|
} from './types.js';
|
|
|
|
export { DEFAULT_GIT_CONFIG } from './types.js';
|