11# Auto Create Branch on Master/Main Rule
22
3- 当 agent 启动时 ,如果检测到当前分支是 master 或 main,需要先获取当前日期,根据用户的任务描述生成一个符合规范的分支名并切换到该分支 。
3+ 当 agent 准备对 workspace 中的文件进行写操作时 ,如果检测到当前分支是 master 或 main,需要先获取当前日期,根据任务上下文生成一个符合规范的分支名并切换到该分支 。
44
55## 触发条件
66
7- 当 agent 启动并检测到以下条件时 :
7+ 仅当满足以下 ** 所有条件 ** 时触发分支创建 :
881 . 当前目录是一个 git 仓库(存在 ` .git ` 目录)
992 . 当前分支是 ` master ` 或 ` main `
10- 3 . 用户的初始输入包含** 有意义的任务** (非闲聊)
11-
12- ### 闲聊识别
13-
14- 以下类型的输入被视为** 闲聊** ,不触发分支创建:
15-
16- | 类型 | 示例 |
17- | ------| ------|
18- | 问候 | "Hello", "Hi", "Hey there" |
19- | 天气询问 | "How is the weather today" |
20- | 寒暄 | "How are you", "What's up" |
21- | 无意义的输入 | "Test", "123", "???" |
22-
23- ** 处理逻辑** :
24- 1 . 如果初始输入是闲聊,** 不要** 创建分支,保持当前 ` master ` 或 ` main ` 分支
25- 2 . 继续与用户对话,等待用户首次提出** 有意义的任务**
26- 3 . 当用户提出有意义的任务时,立即执行分支创建流程
27-
28- ### 有意义的任务示例
29-
30- | 任务描述 | 类型判断 |
31- | ----------| ----------|
32- | "帮我添加一个登录页面" | feat |
33- | "修复用户注册的 bug" | fix |
34- | "重构首页代码" | refactor |
35- | "更新依赖包" | chore |
36- | "给我解释一下这段代码" | 有意义但不需要切分支 |
10+ 3 . Agent 准备执行会对 workspace 文件进行** 写操作** (如 Edit、Write、NotebookEdit)
3711
3812## 执行步骤
3913
@@ -47,7 +21,7 @@ date +%y%m%d
4721
4822### 2. 分析任务类型
4923
50- 根据用户提供的任务描述 ,判断任务类型:
24+ 根据当前任务上下文 ,判断任务类型:
5125
5226| 类型 | 说明 | 示例 |
5327| ------| ------| ------|
@@ -58,7 +32,7 @@ date +%y%m%d
5832
5933### 3. 生成任务摘要
6034
61- 从用户的任务描述中提取关键词 ,生成简短的英文摘要(使用小写字母,单词之间用连字符分隔):
35+ 从当前任务上下文中提取关键词 ,生成简短的英文摘要(使用小写字母,单词之间用连字符分隔):
6236
6337- "帮我添加一个登录页面" → ` add-login-page `
6438- "修复用户注册时的验证错误" → ` fix-user-registration-validation `
@@ -91,17 +65,21 @@ git checkout -b 260130-feat-add-login-page
9165
9266## 完整示例
9367
94- 假设今天是 2026 年 2 月 3 日,用户的任务描述是:"帮我添加一个用户登录页面"
68+ 假设今天是 2026 年 2 月 3 日,任务上下文是:"帮我添加一个用户登录页面"
69+
70+ 当 Agent 准备执行 Edit/Write 操作修改文件时:
9571
96721 . 获取日期:` 260203 `
97732 . 判断类型:这是一个新功能开发,使用 ` feat `
98743 . 生成摘要:` add-login-page `
99754 . 组合分支名:` 260203-feat-add-login-page `
100765 . 执行命令:` git checkout -b 260203-feat-add-login-page `
77+ 6 . 然后继续执行原有的写操作
10178
10279## 注意事项
10380
104- - 分支名生成后,需要向用户确认是否使用该分支名,或是否需要调整
81+ - ** 只在准备修改文件时才触发** :纯读操作(Read、Glob、Grep 等)不会触发分支创建
82+ - 分支名生成后,应直接执行分支创建,无需向用户确认(用户已通过任务描述表达了意图)
10583- 如果用户明确要求在 master/main 分支上操作,则不需要创建新分支
10684- 如果当前目录不是 git 仓库,或当前分支不是 master/main,则不需要执行此规则
10785- 任务摘要的长度应控制在合理范围内,通常不超过 50 个字符
0 commit comments