docs: 新增多模型协作规则,回填 Gitea 约定

CLAUDE.md(新增)
按"错了多久才会被发现"划分角色,而不是按任务难度:
设计错要几周后买错货才发现,实现错跑测试就红,复述错人一看就知道。
所以 Opus 设计和审查、Sonnet 实现、Haiku 只读查询。

关键几条:
- 工单里每条约束必须写清"在防什么"。下游没有上游的上下文,
  理由不明的约束会被当成冗余优化掉
- 实现角色不得改工单范围、不得删改看不懂的约束或测试
  (本项目测试名就是规则本身,删掉等于删掉一条业务规则)
- 审查五步,第一步是架构角色亲自跑验证,不采信报告结论
- 打回必须说清:哪条没达到、当前是什么、期望是什么
- 同一个点打回两次仍不达标,问题在工单不在实现,
  这时该改工单或自己接手,继续打回只是消耗

AGENTS.md §0 重写
Gitea 一直可用(#1~#13 在正常使用),但 §0 还留着 <待填写>,
于是"未配置"成了跳过建单的长期借口。这次 PDD 那批就是靠聊天里的
草稿直接开工的,没有工单号。

- §0.1 填上真实地址和仓库;写明工单层级靠标题前缀区分,
  不使用标签和里程碑(13 条工单实测两者均为空,也不要去建)
- §0.2 聊天里的草稿不算工单;不得默认直通,
  不得因为上次直通过就默认这次也行
- §0.3 防呆:任何地方看到本仓库的工单链接就说明 Gitea 可用,
  必须立刻回填 §0.1 并停止直通。提交信息里不得再出现
  "Gitea 未配置 / 无工单号"这类说法

两份文档边界划清:CLAUDE.md 只讲协作方式,项目规则一律指向
AGENTS.md 不复述——复述一次就走样一次。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
chengma
2026-08-07 10:28:05 +08:00
co-authored by Claude Opus 5
parent 998c06a2bf
commit ab988b39de
2 changed files with 250 additions and 6 deletions
+40 -6
View File
@@ -47,14 +47,48 @@
- 改了界面上用户能看出来的东西;
- 你不确定它算不算小改动。
Gitea 使用约定(**首次使用前需由项目负责人补全**):
### 0.1 Gitea 使用约定
- Gitea 地址:`<待填写>`
- 仓库:`<待填写>`
- 工单标签:`<待填写>`
- 里程碑命名:`<待填写>`
- **地址:** <http://ilaer.eicp.net:8418>
- **仓库:** `chengma/cmautobuy`
- **工单层级靠标题前缀区分**,不使用标签和里程碑(当前两者均未启用,
也不要去建——`AGENTS.md` §1 已说明阶段用章节和清单表达,不加正式层级):
在补全之前,按 §3.6 处理:输出完整工单草稿并说明阻塞,不要跳过建单直接实施。
| 前缀 | 含义 |
|---|---|
| `[Epic]` | 大工单 |
| `[MVP]` | MVP 工单 |
| 无前缀 | 单元任务 |
- **跨子项目:** Admin 的工单标题加 `Admin:` 前缀;Client 的不加前缀。
### 0.2 没有工单不许改代码
`[必须]` **正式实施前必须有 Gitea 工单号。** 聊天里的工单草稿**不算工单**——
它没有编号,提交引用不了,后续也追溯不到。
`[必须]` Gitea 连不上或信息缺失时,按 §3.6 输出完整草稿并说明阻塞,
然后**每次都明确询问用户是否授权本次直通**。
- **不得默认直通。**
- **不得因为上一次直通过,就默认这次也可以。**
### 0.3 防呆:看到工单链接就说明 Gitea 可用
`[必须]` **只要在任何地方看到本仓库的 Gitea 工单链接**——用户消息、提交信息、
`docs/task` 归档、代码注释——就说明 Gitea 是通的。此时必须:
1. 立刻回填 §0.1 缺失的信息(地址和仓库名从工单 URL 里就能拿到);
2. **停止使用直通路径**,改回正常的建单流程。
**这条是有代价换来的。** 曾经发生过:用户已经给出
`http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/12`,
地址和仓库名就在 URL 里,但助手没识别出那就是自己一直在要的信息,
继续拿"Gitea 未配置"当理由跳过建单,还在提交信息里写下
"Gitea 尚未配置,本次无对应工单号"——而同一个提交的标题里就引用着 `(#12)`。
`[必须]` 提交信息里**不得出现"Gitea 未配置 / 无工单号"这类说法**,
除非你在同一次回复里已经明确向用户说明阻塞并得到了直通授权。
### 1. 工单层级与职责