playbook/templates/AGENT_RULES.template.md

82 lines
2.5 KiB
Markdown
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.

# AGENT_RULES
目的:为本仓库提供稳定的执行流程。
## 优先级
1. 系统/开发者指令与安全约束
2. 仓库规则:`.agents/` 与 `AGENTS.md`
3. 本文件
4. `TODO.md`
## 上下文加载(每次会话开始)
**必读文档**(按顺序):
1. `memory-bank/project-brief.md` - 项目定位、边界、约束
2. `memory-bank/tech-stack.md` - 技术栈、工具链
3. `memory-bank/architecture.md` - 架构设计、模块职责
4. `TODO.md` - 当前任务队列
5. `CONFIRM.md` - 待确认事项
**目的**:让 AI 快速理解项目全貌,避免重复解释。
## 主循环
1. 读取 `TODO.md`
2. 选择最上方的 Plan
3. **读取 `memory-bank/implementation-plan.md`**(若该 Plan 有对应说明)
4. 执行该 Plan 内所有可执行子任务
5. 校验输出结果(运行测试/检查日志)
6. **更新 `memory-bank/progress.md`**(记录已完成事项)
7. 如存在歧义/风险/决策点,记录到 `CONFIRM.md`
8. 若 Plan 已全部完成,则从 `TODO.md` 移除
9. 若 Plan 因缺少信息而阻塞,标记为 `BLOCKED` 并移到 `TODO.md` 末尾
10. 重新读取 `TODO.md`,继续下一个 Plan
## Plan 规则
- 不因等待确认而中断;记录到 `CONFIRM.md` 后继续
- 执行并验证该 Plan 中所有可执行的子任务
- 若因缺少信息/决策而阻塞:记录 `CONFIRM.md`,标记为 `BLOCKED`,移到末尾(不移除)
- 每轮只处理一个 Plan
- **小步快跑**:每个 Plan 应该可快速完成
- **可验证**:每个 Plan 必须包含验证步骤
## 执行约束
### 代码修改约束
- **必须先读文件再修改**:不读文件就提议修改是禁止的
- **必须运行测试验证**:相关测试必须通过
- **遵循换行规则**:遵循 `.gitattributes` 规则
### 决策记录约束
- **重要决策**:记录到 `memory-bank/decisions.md`ADR 格式)
- **临时确认**:记录到 `CONFIRM.md`(会话级)
- **进度留痕**:记录到 `memory-bank/progress.md`(持久化)
## CONFIRM.md 触发条件
- 需求不明确或存在多种可行方案
- 需要行为/兼容性取舍
- 风险或约束冲突
- **架构变更**:影响多个模块的修改
- **性能权衡**:需要在性能和可维护性之间选择
- **兼容性问题**:可能破坏现有用户代码
## 验证清单
每个 Plan 完成后,必须验证:
- [ ] 代码修改符合 `.agents/` 下的规则
- [ ] 相关测试通过
- [ ] 换行符正确
- [ ] 无语法错误
- [ ] 更新了 `memory-bank/progress.md`
---
**最后更新**{{DATE}}