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 @@ -39,3 +39,8 @@
## 兼容性与迁移

<!-- 是否需要修改 .env、迁移数据库、清理缓存或重新登录? -->

## 风险与回滚

- 主要风险:
- 回滚方式:
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ on:
pull_request:
branches: [master]

permissions:
contents: read

jobs:
lint-and-test:
runs-on: ubuntu-latest
Expand Down
89 changes: 22 additions & 67 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,73 +72,28 @@

# Codex 项目开发规则

## Git 自动提交与 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. `main` 分支只作为稳定版本。
2. 新增功能、修复问题、UI 调整、重构代码时,默认从 `main` 创建新分支。
3. 分支命名格式:
- `feature/功能名`
- `fix/问题名`
- `refactor/重构名`
- `docs/文档名`

### 四、禁止自动执行的操作

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

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

### 五、任务结束后必须输出

每次任务结束后,用中文告诉用户:

1. 本次改了什么;
2. 修改了哪些文件;
3. 测试方式;
4. 测试结果;
5. 已创建的 commit 信息;
6. 已 push 的分支名;
7. PR 链接;
8. 下一步该做什么。

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

## Commit 规则

- 每完成一个独立功能点,进行一次 Git 提交。
- 提交说明使用中文。
- Commit 命名格式固定为:`新增:xxx`、`修复:xxx`、`优化:xxx`、`重构:xxx`、`文档:xxx`、`配置:xxx`。
- 不要把多个无关功能混在一个 commit 里。
- 不要提交虚拟环境、缓存文件、日志文件、临时文件。
## Git 与 GitHub 工作流

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

## 任务结束后必须输出

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

## 安全规则

Expand Down
6 changes: 6 additions & 0 deletions DEVELOPMENT_LOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1368,3 +1368,9 @@
- 强制用原始 `start_time` 后前 3 秒评价钩子,要求 15 秒内出现第一次有效刺激,并把评论动机、单一话题和完整反应闭环设为硬门槛。
- 片段以 60–90 秒为主,普通可看内容不得虚高到 78 分;本次不修改三阶段分析代码、A/B/C 门槛、候选池或历史分析结果。
- 相关选片与 Prompt 测试 `43 passed`,Ruff 和 `git diff --check` 通过;活动 SQLite 更新前已生成一致性备份,更新后 `integrity_check=ok`、外键异常为 0,其他 Prompt 与任务记录未变化。

## 2026-08-29 Git 与 PR 工作流统一

- 仓库级 Git 指令改为继承全局安全流程:从真实默认分支创建 `codex/<类型>-<说明>`,明确路径暂存,普通 Push 后创建 PR。
- PR 必须记录验证、风险和回滚;只有 CI 通过且用户明确确认后才允许 Squash 合并。
- CI 新增最小 `contents: read` 权限,不修改产品逻辑、数据库、发布链路或真实平台边界。
6 changes: 6 additions & 0 deletions NEXT_STEPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -1125,3 +1125,9 @@
2. 人工检查候选片段原始开头前 3 秒是否独立成立、15 秒内是否出现有效刺激,并优先保留 60–90 秒的完整互动回合。
3. 不要为了凑数开启普通片段;记录“不好笑、节奏拖沓、铺垫不足、内容重复”等反馈,供后续全局复审参考。
4. 连续发布 10 条后,在抖音后台与此前 10 条比较前段留存、平均观看、完播和评论表现;若无改善,再排查评分门槛、标题封面、账号分发或素材重复。

## 2026-08-29 Git 与 PR 流程验收

1. 检查规范化 PR 的 CI 是否全部通过,并确认目标分支仍是仓库真实默认分支。
2. 用户明确确认后再 Squash 合并;未确认前保持 PR 打开,不改历史、不强推。
3. 合并后再启用默认分支 ruleset,并让所有历史 PR 同样满足最新分支和 CI 门禁。
Loading