Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,8 @@ cd front && pnpm lint

- [ ] 不需要更新文档
- [ ] 已更新 README / Windows Setup / Architecture / Task Flow / Security / Roadmap / Changelog 中的相关内容

## 风险与回滚

- 主要风险:
- 回滚方式:
108 changes: 24 additions & 84 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,29 @@
# Codex 项目开发规则

## 1. Git 使用规则

* 每次修改代码前,先检查当前 Git 状态:

* 执行 `git status`
* 确认当前所在分支
* 如果存在用户未提交的修改,不要覆盖,先提醒我

* `main` 分支只作为稳定版本使用。

* 如果是新增功能、较大改动、UI 重构、数据结构调整,应先创建功能分支,不要直接在 `main` 上大改。

* 分支命名使用英文或拼音,例如:

* `feature/push-calendar`
* `feature/apple-ui`
* `fix/video-scan-slow`
* `refactor/customer-page`
* `docs/git-auto-pr-rules`

## 2. Commit 规则

* 每完成一个独立功能点,进行一次 Git 提交。

* 提交说明使用中文。

* Commit 命名格式固定为:

* `新增:xxx`
* `修复:xxx`
* `优化:xxx`
* `重构:xxx`
* `文档:xxx`
* `配置:xxx`

* 不要把多个无关功能混在一个 commit 里。

* 不要提交虚拟环境、缓存文件、日志文件、临时文件。

## 3. 自动提交与 PR 规则

每次完成开发任务后,如果满足以下条件,默认自动执行 Git 保存、推送到 GitHub,并创建 PR:

1. 代码修改已经完成。
2. 已经运行可用的测试、构建或启动检查。
3. 没有明显报错。
4. 没有发现账号、密码、Cookie、Token、API Key、`.env` 等敏感信息。
5. `git status` 中的变更都属于本次任务相关内容。
6. 当前不在 `main` 分支直接大改。

默认执行流程:

1. `git status`
2. `git add .`
3. `git commit -m "类型:本次修改说明"`
4. `git push -u origin 当前分支`
5. 使用 `gh pr create` 创建从当前分支到 `main` 的 PR

以下操作禁止自动执行,必须先问用户:

1. 不要自动合并 PR 到 `main`。
2. 不要自动删除分支。
3. 不要 force push。
4. 不要覆盖用户未提交的修改。
5. 不要提交敏感信息。
6. 不要修改 GitHub 仓库权限。
7. 不要删除数据库、日志、配置文件或历史数据。

> 注意:如果因为报错、冲突、测试失败、敏感信息风险导致无法自动 commit、push 或创建 PR,必须停止并告诉用户原因,不要硬提交。

## 4. 修改完成后必须输出

每次任务完成后,请告诉我:

1. 当前分支名
2. 本次修改了哪些文件
3. 本次 Git commit 名称
4. 本次 commit ID
5. 如何运行或测试
6. 如果出问题,如何回滚
7. 如果已 push,输出已 push 的分支名
8. 如果已创建 PR,输出 PR 链接和下一步建议

## 5. 安全规则
## 1. Git 与 GitHub 工作流

- 继承 `~/.codex/AGENTS.md` 的统一 Git 安全规则;本文件只保留本项目额外约束。
- 修改前检查 `git status --short`、当前分支和上游,保留用户已有修改,不 reset、stash、clean、覆盖或强推。
- 从远端真实默认分支创建 `codex/<类型>-<简短说明>`,类型使用 `feat`、`fix`、`docs`、`refactor`、`test` 或 `chore`;不假定默认分支名称。
- 不直接提交或推送到默认分支。已有工作无法安全隔离时停止说明。
- 分支内允许多个有意义提交,但一个用户任务只建立一个 PR;提交信息和 PR 标题使用 Conventional Commits。
- 只暂存明确文件路径并检查 `git diff --cached`,禁止 `git add .` 或 `git add -A`。
- 完成测试、构建和敏感信息检查后普通 Push,并创建或更新指向真实默认分支的 PR。
- PR 描述必须包含改动摘要、验证结果、风险和回滚说明。
- CI 通过、分支包含最新默认分支且评论已解决后,仍须用户针对当次 PR 明确确认,才允许 Squash 合并;不得自动合并。
- Push、PR、冲突、权限或检查失败时停止并报告,不得绕过门禁或改写历史。

## 2. 修改完成后必须输出

1. 当前默认分支和任务分支。
2. 本次修改文件与范围。
3. 实际测试命令和结果。
4. Commit 标题与 SHA。
5. Push 后的远端 SHA。
6. PR 链接、CI 和合并状态。
7. 风险、回滚方式和下一步。

## 3. 安全规则

* 不要删除用户已有数据文件。
* 不要移动项目外部文件。
Expand Down
Loading