Skip to content

Commit 54f792f

Browse files
committed
feat: create dev branch while encountering task instructions
1 parent 06f8b78 commit 54f792f

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# Auto Create Branch on Master/Main Rule
2+
3+
当 agent 启动时,如果检测到当前分支是 master 或 main,需要先获取当前日期,根据用户的任务描述生成一个符合规范的分支名并切换到该分支。
4+
5+
## 触发条件
6+
7+
当 agent 启动并检测到以下条件时:
8+
1. 当前目录是一个 git 仓库(存在 `.git` 目录)
9+
2. 当前分支是 `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+
| "给我解释一下这段代码" | 有意义但不需要切分支 |
37+
38+
## 执行步骤
39+
40+
### 1. 获取当前日期
41+
42+
```bash
43+
date +%y%m%d
44+
```
45+
46+
例如:260130(表示 2026 年 1 月 30 日)
47+
48+
### 2. 分析任务类型
49+
50+
根据用户提供的任务描述,判断任务类型:
51+
52+
| 类型 | 说明 | 示例 |
53+
|------|------|------|
54+
| `feat` | 新功能开发 | 新增登录页面、添加用户管理功能 |
55+
| `fix` | Bug 修复 | 修复登录失败问题、解决页面加载慢 |
56+
| `chore` | 杂项/工具链 | 更新依赖、修改配置文件、添加文档 |
57+
| `refactor` | 代码重构 | 重构组件、优化代码结构 |
58+
59+
### 3. 生成任务摘要
60+
61+
从用户的任务描述中提取关键词,生成简短的英文摘要(使用小写字母,单词之间用连字符分隔):
62+
63+
- "帮我添加一个登录页面" → `add-login-page`
64+
- "修复用户注册时的验证错误" → `fix-user-registration-validation`
65+
- "重构用户管理的代码" → `refactor-user-management`
66+
67+
### 4. 组合分支名
68+
69+
按照以下格式组合分支名:
70+
71+
```
72+
YYMMDD-(feat|fix|chore|refactor)-xxxxx-xxxx-xxxx
73+
```
74+
75+
示例:
76+
- `260130-feat-add-login-page`
77+
- `260130-fix-user-registration-validation`
78+
- `260130-refactor-user-management`
79+
- `260130-chore-update-dependencies`
80+
81+
### 5. 创建并切换分支
82+
83+
```bash
84+
git checkout -b <branch-name>
85+
```
86+
87+
例如:
88+
```bash
89+
git checkout -b 260130-feat-add-login-page
90+
```
91+
92+
## 完整示例
93+
94+
假设今天是 2026 年 2 月 3 日,用户的任务描述是:"帮我添加一个用户登录页面"
95+
96+
1. 获取日期:`260203`
97+
2. 判断类型:这是一个新功能开发,使用 `feat`
98+
3. 生成摘要:`add-login-page`
99+
4. 组合分支名:`260203-feat-add-login-page`
100+
5. 执行命令:`git checkout -b 260203-feat-add-login-page`
101+
102+
## 注意事项
103+
104+
- 分支名生成后,需要向用户确认是否使用该分支名,或是否需要调整
105+
- 如果用户明确要求在 master/main 分支上操作,则不需要创建新分支
106+
- 如果当前目录不是 git 仓库,或当前分支不是 master/main,则不需要执行此规则
107+
- 任务摘要的长度应控制在合理范围内,通常不超过 50 个字符

0 commit comments

Comments
 (0)