Files
core/skills/assets/template/AGENTS.md
T

2.3 KiB
Raw Blame History

Dever 开发规则

每次开发、修改或审查前,在项目根目录执行 dever skill path .,完整读取返回目录中的 SKILL.md、references/development.md 和本次工作相关的参考文件。使用项目对应版本的规则;命令缺失时按 README 安装,不猜语法,不用 dever-go 替代。

  • 默认只实现当前接口和语法。除非用户明确要求,禁止添加旧参数、旧配置、旧接口的兼容分支、别名或备用实现。改接口时同步修改本项目调用方,删除本次废弃路径。锁定编译器版本不等于保留兼容代码。
  • 修改前先查实际调用链和已有能力。复用现成实现;不重复手写解析、分页、JSON 拼装或鉴权,不添加空转发层,不按行数或函数数量机械拆文件。函数按完整业务职责组织。
  • 源码放 module/<组件>/<领域>/,只创建需要的 app/domain/model/api/port/adapter/job。普通 CRUD 用 Model 与 REST;App 编排业务,Domain 写业务规则,外部能力经 Port/Adapter。跨领域只调用 App,不建 utils/common/service 杂物目录。
  • 不写 main.dever、package、import 或 expose。API、CMD、Job 是入口。保持项目源码格式一致;Markdown 的说明必须与代码一致。
  • 部署配置只放 config/setting.json,不增加环境变量配置,不写死真实地址或凭据。业务数据放 Model;用户、租户和权限来自可信上下文,禁止按特殊账号或租户 ID 开权限特例。正常字面量和明确业务常量可以保留。
  • 禁止假调用、吞错、假成功、弱化测试、擅自修改接口基线或关闭检查;不把业务搬到第三方语言来绕过约束。只清理本次引入或废弃的代码,保留无关修改。
  • 修改后运行范围内的 dever fmt . --check、dever check . 和定向测试。测试放 test/<组件>/<领域>/,外部能力使用 Port fake;例如 dever test . --filter news.article。每例默认 60 秒,可用 --timeout-ms 调整。遵守用户对全量测试、服务、真实数据库和压测的限制。
  • 如实报告验证范围:check 不运行程序,fake 不证明真实服务可用,规则写在 AGENTS 中不等于编译器已全部强制检查。run/build 不隐式联网;未经要求不提交或推送 Git。