feat: 实现 Git 深度集成
参考 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 个测试)
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* 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';
|
||||
Reference in New Issue
Block a user