REQUIREMENTS RULES

REQUIREMENTS RULES

文件一:01_REQUIREMENTS_RULES.md

# 文件一:01_REQUIREMENTS_RULES.md # 项目需求与产品规则 版本:1.0 状态:长期有效 作用:控制 AI “做什么”,防止需求漂移、擅自加功能、漏功能、越改越偏。 ## 1. 核心原则 项目开发必须遵循: - 需求 → 设计 → 技术实现 → 测试 → 上线 - 禁止直接从一句自然语言需求跳到大规模写代码。 - AI必须先确认现有项目状态和已有功能,再决定如何实现新需求。 # 2. 用户需求优先级 需求分为: ## P0:不可违背 包括: - 用户明确要求 - 安全规则 - 数据完整性 - 权限规则 - 核心业务规则 - 已确认设计规范 不得擅自改变。 ## P1:正式需求 当前版本确定要实现的功能。 - 必须完整实现并验证。 ## P2:优化需求 可以改善: - 使用体验 - 性能 - UI - 代码结构 不得因为实现P2而破坏P0/P1。 ## P3:未来需求 记录,但当前不得擅自实现。 - 防止: - “AI觉得挺好,所以顺手加了。” # 3. AI禁止擅自改变产品需求 未经明确授权,不得: - 新增业务功能 - 删除功能 - 合并功能 - 改变用户流程 - 改变登录方式 - 改变权限规则 - 修改核心交互 - 更换技术路线 - 更换页面风格 - 更换数据库 - 增加第三方依赖 - 引入收费API - 改变数据结构 AI可以提出建议,但: - 建议 ≠ 授权实施。 # 4. 每次开发前必须确认四件事 开始任何功能前,先确定: ### ① 为什么做 功能目的是什么。 ### ② 谁来用 用户角色是什么。 ### ③ 用户怎么用 完整用户路径是什么。 ### ④ 成功标准是什么 什么状态才算实现完成。 # 5. 每项功能必须建立功能定义 格式: ## FEATURE-ID 名称: - 目的: - 使用用户: - 入口: - 输入: - 处理: - 输出: - 成功状态: - 失败状态: - 权限: - 依赖: - 异常情况: - 验收标准: 例如: ## FEATURE-LOGIN-001 名称: - 用户登录 - 目的: - 允许注册用户进入个人账户。 - 入口: - /login - 输入: - 账号、密码。 - 成功: - 进入用户中心。 - 失败: - 明确提示账号或密码错误。 - 权限: - 游客可访问。 - 验收: - 正确账号能登录。 - 错误密码不能登录。 - 退出后受保护页面不可访问。 # 6. UI展示不代表功能完成 出现按钮: - 不代表功能存在。 - 出现页面: - 不代表功能完成。 - 出现假数据: - 不代表后端完成。 - 出现接口: - 不代表接口可用。 - 因此必须区分: - 【UI完成】 - 【前端逻辑完成】 - 【后端完成】 - 【接口联通】 - 【真实测试通过】 # 7. 禁止假功能 正式项目不得存在: - 点击按钮无反应。 - 假登录。 - 假管理员。 - 假上传。 - 假保存。 - 假搜索。 - 假统计。 - 假接口。 - Mock数据冒充真实数据。 如果使用Mock: - 必须明确标记: ` MOCK ONLY ` 禁止生产环境继续使用。 # 8. 不得隐藏失败 如果某功能无法完成: - 明确标记: - 【未完成】 - 而不是用静态页面模拟完成。 # 9. 所有功能必须考虑状态 至少包括: - 默认状态。 - 加载状态。 - 成功状态。 - 失败状态。 - 空数据状态。 - 无权限状态。 - 断网状态。 - 超时状态。 # 10. 所有用户输入必须考虑边界 包括: - 空。 - 过短。 - 过长。 - 特殊字符。 - 中文。 - 英文。 - Emoji。 - 重复提交。 - 非法格式。 - 异常输入。 # 11. 需求改变必须记录 任何正式需求改变,应记录: - 原需求: - 新需求: - 改变原因: - 影响范围: - 涉及文件: - 是否影响数据: - 是否需要迁移: - 是否需要重新测试: # 12. 禁止需求漂移 如果执行过程中发现: - 实现方式越来越偏离原需求, - 必须停止扩散。 - 先回到需求定义。 # 13. 不确定时怎么办 禁止 AI 自己脑补重要业务规则。 - 可以: - 选择最保守、不破坏现有功能的实现。 - 并标记: - 【需要产品确认】 # 14. 完成功能的定义 一个功能只有同时满足: - 需求实现 前端完成 后端完成 接口正常 异常处理 权限检查 测试通过 - 才叫: - 【完成】 # 15. 每次需求任务完成后输出 修改功能: - 涉及文件: - 新增内容: - 删除内容: - 未完成事项: - 潜在风险: - 测试结果: - 是否影响其他模块:

六大规则共同执行协议

以下内容同时适用于全部六份文件。

A. AI每次任务开始前

先阅读:

  • 与当前任务有关的规则文件。
  • 如果任务涉及多个领域:
  • 全部读取。 例如:
  • 修改登录:
  • 必须读取:
  • 01_REQUIREMENTS_RULES.md
  • 03_ENGINEERING_RULES.md
  • 04_SECURITY_RULES.md
  • 05_TESTING_RULES.md 修改视觉:
  • 读取:
  • 01_REQUIREMENTS_RULES.md
  • 02_DESIGN_SYSTEM_RULES.md
  • 05_TESTING_RULES.md 准备上线:
  • 六份全部读取。

B. 规则冲突优先级

如发生冲突:

  • 安全与数据完整性 明确用户需求 产品规则 架构规则 设计规则 优化建议

C. AI不能自行修改规则

除非用户明确要求:

  • “修改规则文件”。
  • 否则:
  • 这些文件只读。

D. 现有项目与规则冲突怎么办

不得为了符合规则立即大规模重写。

  • 先输出:
  • 规则:
  • 当前实现:
  • 差异:
  • 严重程度:
  • 建议迁移方式: 再决定是否修复。

E. 每次修改之前

先回答自己:

  • 我正在解决什么问题?
  • 哪些文件必须修改?
  • 哪些文件不应该碰?
  • 是否涉及数据?
  • 是否涉及权限?
  • 是否影响API?
  • 是否影响UI?
  • 如何验证?

F. 每次修改之后

必须检查:

  • 代码是否能运行。
  • 是否引入新错误。
  • 相关功能是否正常。
  • 是否影响其他模块。
  • 是否需要更新文档。

G. 禁止假完成

以下情况不得说:

  • “全部完成”。
  • 仍有未测试。
  • 仍有报错。
  • Build失败。
  • 接口未验证。
  • 缺少环境。
  • 第三方服务没测试。 应明确:
  • 已完成:
  • 未完成:
  • 无法验证:
  • 风险:

H. 修改范围原则

永远优先:

  • 小范围。
  • 可验证。
  • 可回滚。
  • 低耦合。 而不是:
  • 一次改几十个无关文件。

I. 项目长期目标

本项目必须尽量保持:

  • 可理解。
  • 可修改。
  • 可维护。
  • 可测试。
  • 可部署。
  • 可恢复。
  • 可扩展。
  • 安全。 最终目标不是:
  • “AI这次把它跑起来了。”
  • 而是:
  • “即使换一个AI、换一台电脑、换一个开发者,这个项目依然能够继续维护。”

AI任务统一结束报告模板

每一次AI开发任务结束,都使用:

本次任务

修改文件

新增文件

删除文件

修改功能

配置变化

依赖变化

数据库变化

安全影响

实际测试

Build状态

未验证内容

已知问题

后续建议

最后只能使用:

  • ✅ 完成并验证
  • ⚠️ 完成但仍有未验证项目
  • ❌ 未完成
  • 三种结论之一。