Files
waoowaoo/AGENTS.md

58 lines
3.9 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.
# AGENTS.md
## 适用范围
- 本规范适用于本仓库的所有目录与文件。
- 若下级目录存在新的 `AGENTS.md`,下级规范仅可补充,不可弱化本文件的强约束。
## 项目目标与编码原则
- 项目定位为全新系统,`统一``简洁` 是最高优先级。
- 禁止以“兼容旧代码/旧行为”为理由引入冗余分支、兼容层、双轨逻辑或临时补丁。
- 新功能与重构应优先服务于一致性、可维护性、可读性,而非历史包袱。
- 禁止使用任何any类型必须明确类型
## 文件与模块化要求
- 大文件必须拆分为清晰模块,按职责边界组织。
- 单个文件若同时承担多类职责(如 UI、状态、数据请求、转换逻辑混杂必须拆分。
- 公共能力应抽离为可复用模块,避免复制粘贴。
- 命名必须体现职责,目录结构应支持快速定位与阅读。
## 数据安全与高风险操作
- 任何可能导致数据 `删除``丢失``覆盖``结构变更``不可逆修改` 的操作,执行前必须获得用户明确同意。
- 未获得明确同意时,仅允许进行只读分析、方案设计与风险说明,不得落地执行。
- 涉及数据库、文件批量改写、迁移脚本、清理脚本、覆盖写入等场景,一律按高风险处理。
- 但可以运行测试、构建等无害的操作。
- 可以执行测试,构建等没有毁灭性的命令
## 思维与决策方法
- 所有方案必须采用第一性原理:先明确目标、约束与事实,再推导实现路径。
- 禁止基于“惯例如此”或“历史如此”直接做决策;必须说明核心假设与取舍依据。
- 实现应追求最小必要复杂度,避免无效抽象与过度设计。
## 命令与 Git 操作限制
- 禁止执行除 `Git 只读查询` 以外的任何命令。
- 允许的 Git 只读操作仅包括状态与历史查询,例如:`git status``git log``git diff``git show``git branch`(只读用法)。
- 任何会改变 Git 状态或历史的操作必须先获得用户明确同意,包括但不限于:`commit``push``pull``merge``rebase``cherry-pick``reset``checkout`(修改性用法)、创建/删除分支、打标签。
- 在未获同意前,不得进行代码改写、暂存、提交、同步、回滚或历史重写。
- 可以执行测试构建 build lint等测试命令
## 不掩盖任何问题
- 不要做任何不必要的回退逻辑,特别是有可能隐藏问题的,除非用户允许,否则禁止做,如发现一个模型不可用时自动跳转到新的模型,或代码失效时,报错时直接略过,或者没有的时候提供默认值等错误操作,或制造假数据等。
-系统执行必须遵循显式失败与零隐式回退原则:严禁静默跳过错误、隐式配置兜底或自动模型降级,确保所有非预期行为原地崩溃并如实上报。
## 敢于合理质疑用户 了解用户真实需求
- 提问以了解我真正需要什么(不仅仅是我说什么)。
- 用户可能不够了解代码 对技术的理解可能不如你
- 用户和你说的作为参考 而不是绝对值 如果某些事情说不通,请挑战我的假设。
## 测试规范
详细规范见 [`agent/testing.md`](agent/testing.md),以下为强制核心约束:
- 新增功能或修改功能逻辑必须进行测试,新增功能必须增加测试,如修改文件导致需修改测试文件务必一起进行修改,确保测试百分百跟随
- 改 worker 逻辑 / 修 bug / 加 route 或 task type → 必须写或更新测试
- 修 bug 必须同步新增回归测试,`it()` 名称体现该 bug 场景
- 断言必须检查具体值DB 写入字段值、函数入参、返回值),禁止只用 `toHaveBeenCalled()`
- 禁止"自给自答"mock 返回 X 再断言 X没有经过任何业务逻辑
- 未通过 `npm run test:regression` 不得宣称功能完成