/** * Git Integration — 任务与 Git 工作流深度整合 * * 功能: * - 任务 ↔ 分支关联 * - Commit 消息自动生成 * - PR 描述自动生成 * - Git Hook 安装 * - 保护分支拦截 */ /** * Git 配置 — 三级回退:子任务级 > 迭代级 > 全局级 > 默认值 * * 继承链:命令行参数 > 子任务 .meta/git-config > 迭代级 PROJECT_GRAPH.md > 全局 CONSTITUTION.md > 默认值 */ export interface GitConfig { /** 默认基础分支(如 main/master) */ defaultBranch: string; /** 分支类型(feature/bugfix/refactor/research),由任务 type 决定 */ branchType: string; /** 分支前缀(如 2060708),三级回退 */ branchPrefix: string; /** 分支命名格式模板 */ branchFormat: string; /** 创建分支前是否自动 git pull */ autoPull: boolean; /** 远程仓库名称 */ remoteName: string; /** 保护分支列表 */ protectedBranches: string[]; } /** 任务类型 → 分支类型映射 */ export declare const TASK_TYPE_TO_BRANCH_TYPE: Record; /** * 为任务创建 Git 分支 * * 分支名按子任务级/迭代级/全局配置生成,支持自定义前缀和格式模板 * 三级回退:子任务 .meta/git-config > 迭代 PROJECT_GRAPH.md > 全局 CONSTITUTION.md */ export declare function createTaskBranch(taskId: string, taskName: string, baseBranch?: string, iteration?: string, taskDir?: string, taskType?: string): string | null; /** * 读取子任务级 Git 配置 * * 从任务 .meta/git-config 文件读取,格式(每行 key-value): * 分支前缀: 2060708 * 源分支: develop * 分支格式: {type}/{prefix}{name}-{hash4} * 自动拉取: true */ export declare function loadSubtaskGitConfig(taskDir: string): Partial; /** * 加载完整 Git 配置 — 子任务级 > 迭代级 > 全局 > 默认值 * * 配置来源优先级: * 1. 子任务级 .meta/git-config 任务自身配置 * 2. 迭代级 PROJECT_GRAPH.md frontmatter 字段 * 3. 全局 CONSTITUTION.md Git 分支策略章节 * 4. 默认值 * * 每个字段独立回退:子任务只配了 branchPrefix,defaultBranch 仍从迭代/全局继承 */ export declare function loadGitConfig(iteration?: string, taskDir?: string): GitConfig; /** 检测默认分支 — 兼容旧接口,内部调用 loadGitConfig */ export declare function detectDefaultBranch(iteration?: string): string | undefined; /** * 获取当前分支关联的任务 */ export declare function getCurrentTaskMapping(): { taskId: string; taskName: string; } | null; /** * 生成 Commit 消息 */ export declare function generateCommitMessage(taskId: string, taskName: string, specs?: string[]): string; /** * 生成 PR 描述 */ export declare function generatePRDescription(taskId: string, taskName: string): string; /** * 从 CONSTITUTION.md 读取保护分支列表 */ export declare function getProtectedBranches(): string[]; /** * 检查分支是否为保护分支 * 支持精确匹配和通配符(如 release/*) */ export declare function isProtectedBranch(branchName: string): boolean; /** * 安装 Git Hooks */ export declare function installGitHooks(): { preCommit: boolean; prePush: boolean; }; /** 清理过期代码索引缓存(超过24小时自动清理) */ export declare function cleanStaleCache(): boolean; //# sourceMappingURL=git-integration.d.ts.map