本文档定义 AI Agent 在本项目中工作时必须遵守的规则。
在 packages/cli 和 packages/core 中开发需求时,必须采用 TDD 模式:
- 先写测试 —— 明确预期行为,定义输入输出
- 再写实现 —— 让测试通过
- 重构 —— 在测试保护下优化代码
例外情况(可 skip 测试):
- 纯 UI 渲染逻辑(Ink 组件的视觉效果)
- 与终端交互、TTY 行为强相关的代码
- 第三方 SDK 的简单透传调用
- 一次性脚本、临时调试代码
- 难以 mock 的系统级 IO(如真实文件系统、网络底层)
不必教条。当某段逻辑确实难以测试、或测试成本远高于价值时,可以跳过,但需要在 PR/commit 说明中简要注明原因。
判断标准: 如果一段逻辑包含分支、状态、数据转换或业务规则 —— 必须有测试。