playbook/templates/AGENT_RULES.template.md

2.5 KiB
Raw Blame History

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.mdADR 格式)
  • 临时确认:记录到 CONFIRM.md(会话级)
  • 进度留痕:记录到 memory-bank/progress.md(持久化)

CONFIRM.md 触发条件

  • 需求不明确或存在多种可行方案
  • 需要行为/兼容性取舍
  • 风险或约束冲突
  • 架构变更:影响多个模块的修改
  • 性能权衡:需要在性能和可维护性之间选择
  • 兼容性问题:可能破坏现有用户代码

验证清单

每个 Plan 完成后,必须验证:

  • 代码修改符合 .agents/ 下的规则
  • 相关测试通过
  • 换行符正确
  • 无语法错误
  • 更新了 memory-bank/progress.md

最后更新{{DATE}}