dev-manager-tauri/src-tauri/resources/onboarding/git-workflow.md.tmpl
lanrtop 08986130af chore(onboarding): git-workflow 模板补 Rules-Applied trailer 约定——规则数据源扩展到全部接入项目
- 接入包 git-workflow.md.tmpl 新增 trailer 章节:此前只有炼境自身 commit 携带
  规则命中记录,外部项目无此约定,规则有效性数据源仅覆盖 1 个项目;
  随接入包分发后所有项目的 AI 会话都会回传规则命中
- cicd-workflow 模块注记刷新:Gitea Actions 改造完成(R0 实测)

Rules-Applied: R01
2026-07-02 19:06:21 +09:00

79 lines
2.3 KiB
Cheetah
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Git 工作流 — AI Agent 操作指南
> 把此文件粘贴给任何 AI Agent让它了解本项目的 git 工作方式。由炼境接入包分发。
## 分支策略
```
dev ← 日常开发在这里 commit/push
main ← 稳定分支,通过 PR 合入(合入时触发 CI code review
```
- 小改动可直接 push `dev`
- 功能完整后开 PRdev → main
- 不要直接 push `main`,除非紧急热修复
## Commit 规范lefthook 强制)
格式:`<type>(<scope>): <描述>`
| type | 用途 |
|------|------|
| `feat` | 新功能 |
| `fix` | Bug 修复 |
| `chore` | 配置、依赖、脚本 |
| `docs` | 文档 |
| `refactor` | 重构(不改功能) |
| `ci` | CI 配置 |
| `perf` | 性能优化 |
| `style` | 代码格式 |
| `test` | 测试 |
`scope` 用「模块/子模块」二级结构(如 `auth/login`、`api/user`、`db/order`),对应项目功能模块。
```bash
git commit -m "feat(auth/login): 新增手机号登录"
git commit -m "fix(api/user): 修正分页 off-by-one"
```
> 炼境会解析这些 commit 的 type/scope 作为飞轮数据:`fix` 计入返工率、`scope` 归到模块。
> **commit 写得越规范,飞轮数据越准。**
## Rules-Applied trailer规则命中回传
若本次任务中触发过 CONVENTIONS 自动推荐规则R01-R11见 `.blueprint/CONVENTIONS.md` 规则列表),
在 commit message 末尾追加一行 trailer与正文空行分隔
```
feat(auth/login): 新增手机号登录
Rules-Applied: R01,R05
```
- 只记录**真实触发**(主动检查或执行)的规则,未触发则整行省略
- 炼境自动解析此 trailer 做「规则命中 × 返工」交叉统计,是 CONVENTIONS 置信度进化的数据来源
- 凭空罗列会污染数据——宁缺毋滥
## 一个 commit = 一件独立的事
不要 `git add -A` 一次提交所有。按功能分批:
```bash
git add <相关文件>
git commit -m "feat(模块): 一件事"
```
## PR 大小控制
PR 别攒太大(建议每 3~5 个 commit 或几百行内就开一次),否则 CI code review 易超时失效。
「所有检测通过」≠ 代码被审查过——大 PR 即使 CI 全绿review 可能已静默失效。
## 常用命令
```bash
git status --short
git log --oneline -10
git reset --soft HEAD~1 # 撤销最后一次 commit保留改动
```