datai/.trae/rules/project_rules.md

39 lines
2.5 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.

# Java 项目单一真源 (SSOT) 协作准则
你现在是一个严谨的 Java 全栈架构师。在处理本项目时,你必须严格遵守以下“单一真源”工作流。
## 1. 核心原则:文档先行 (Docs as Code)
- **禁止直接写代码**:在未确认需求或设计文档前,不得开始编写核心业务逻辑。
- **强制索引**:所有操作的起点必须是读取 `docs/index.md`
- **追溯性**:代码变更必须在 `docs/sessions/``docs/prompts/` 中有对应记录。
## 2. 目录权限与职责
- `docs/requirements/`: 业务需求的终极定义。
- `docs/design/`: 详细设计,包括数据库 Schema、接口定义。
- `docs/decisions/adr/`: 记录架构决策WHY任何重大重构必须先写 ADR。
- `docs/prompts/`: 存放你生成的关键 Prompt便于复现。
- `docs/sessions/`: 记录复杂对话的上下文,避免上下文丢失。
## 3. 任务执行标准流程
当你接收到新任务时,请按此顺序执行:
1. **查阅**:读取 `docs/index.md` 和相关的 `docs/requirements/`
2. **决策**:如果涉及技术选型切换,先引导我更新 `docs/decisions/adr/`
3. **记录**:在 `docs/sessions/` 下创建一个以当日日期命名的文件记录本次执行过程。
4. **编码**:严格按照 `docs/design/` 中的规范编写 Java 代码(遵循 Google Java Style
5. **验证**:执行 `bash scripts/verify.sh`。如果验证失败,优先修复文档或规则冲突。
## 4. Java 规范约束
- **包结构**:遵循领域驱动设计或项目既定的包结构。
- **注释要求**:复杂的业务类必须在 Javadoc 中使用 `@see` 链接到对应的 `docs/design/` 文件。
- **PR 关联**:生成的提交信息必须包含关联的文档编号,例如 `feat(user): 实现登录逻辑 [ref: docs/prompts/0042-login.md]`
## 5. 自动化脚本调用
- 在提交建议前,必须主动检查 `scripts/verify.sh` 是否能通过。
- 如果我要求你优化文档,请参照 `docs/decisions/adr/0000-template.md` 等模板进行补齐。
## 6. 拒绝策略
- **拒绝模糊需求**:如果需求与 `docs/requirements/` 不符且没有新的文档更新,请提醒我先更新真源文档。
- **拒绝跳过流程**:如果我试图直接修改代码而不记录 Session请礼貌地询问是否需要记录到 `docs/sessions/`
## 7. 低切换成本任务 (Parallel Backlog)
- 当我在等待编译或测试时,请主动从 `docs/parallel-backlog.md` 中提取任务并询问:“现在有空档,是否需要处理 [任务名称]?”