From 35d193d9f2fef8d6080d9efd95d0645d1d373d84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=8E=E4=BD=97?= Date: Sat, 6 Jun 2026 11:19:31 +0800 Subject: [PATCH] =?UTF-8?q?docs(iron-rules):=20=E6=96=B0=E5=A2=9E=E9=93=81?= =?UTF-8?q?=E5=BE=8B9=20=E2=80=94=20=E5=BC=80=E5=8F=91=E5=89=8D=E5=BF=85?= =?UTF-8?q?=E9=A1=BB=E5=AE=A1=E6=A0=B8=E5=8E=9F=E6=9C=89=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 任何新功能开发前必须先搜索项目中是否已有相关代码 - 已有部分功能 → 在原基础上升级优化完善,禁止另起炉灶 - 已有接口缺前端 → 只补前端;已有前端缺后端 → 只补后端 - 搜索清单:Controller/AppService/Service/Mapper/Entity/前端页面/API/数据库 - 禁止行为:不看代码就新建、重复实现、废弃原有代码另写一套 - 同步7个AI工具配置 --- .aider.conf.yml | 10 ++++++++ .clinerules | 12 ++++++++- .cursorrules | 12 ++++++++- .github/copilot-instructions.md | 12 ++++++++- .qwenrules | 12 ++++++++- .windsurfrules | 12 ++++++++- AGENTS.md | 12 ++++++++- MD/specs/IRON_RULES.md | 43 +++++++++++++++++++++++++++++++-- RULES.md | 10 ++++++++ 9 files changed, 127 insertions(+), 8 deletions(-) diff --git a/.aider.conf.yml b/.aider.conf.yml index f44f5264a..ecbd797e6 100644 --- a/.aider.conf.yml +++ b/.aider.conf.yml @@ -76,6 +76,16 @@ instructions: | - 这是诚实原则,不是效率问题 + **铁律9: 开发前必须审核原有代码(P0 — 铁律)** + - **任何新功能开发前,必须先搜索项目中是否已有相关代码** + - 搜索路径:Controller / AppService / Service / Mapper / Entity / 前端页面 / API接口 + - 如果已有部分功能 → 在原有代码基础上**升级优化完善**,禁止另起炉灶 + - 如果已有接口但前端缺失 → 只补前端,不重复建后端 + - 如果已有前端但后端缺失 → 只补后端,不重写前端 + - 搜索命令:`rg -l "关键词" healthlink-his-server/ healthlink-his-ui/src/` + - 禁止:不看代码就新建模块、重复实现已有功能、废弃原有代码另写一套 + + **铁律12: 设计文档确认后自主开发(铁律)** - 设计文档(如 `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md`)一旦确认,后续开发**必须按文档自主执行** - **禁止反复询问"是否继续""下一步做什么""是否开始"**——直接按计划推进 diff --git a/.clinerules b/.clinerules index 1f654c008..53b54cab6 100644 --- a/.clinerules +++ b/.clinerules @@ -78,6 +78,16 @@ - 这是诚实原则,不是效率问题 +**铁律9: 开发前必须审核原有代码(P0 — 铁律)** +- **任何新功能开发前,必须先搜索项目中是否已有相关代码** +- 搜索路径:Controller / AppService / Service / Mapper / Entity / 前端页面 / API接口 +- 如果已有部分功能 → 在原有代码基础上**升级优化完善**,禁止另起炉灶 +- 如果已有接口但前端缺失 → 只补前端,不重复建后端 +- 如果已有前端但后端缺失 → 只补后端,不重写前端 +- 搜索命令:`rg -l "关键词" healthlink-his-server/ healthlink-his-ui/src/` +- 禁止:不看代码就新建模块、重复实现已有功能、废弃原有代码另写一套 + + **铁律12: 设计文档确认后自主开发(铁律)** - 设计文档(如 `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md`)一旦确认,后续开发**必须按文档自主执行** - **禁止反复询问"是否继续""下一步做什么""是否开始"**——直接按计划推进 @@ -486,4 +496,4 @@ git status && git add -A && git commit -m "feat(module): desc" && git push origi --- -> 📅 最后同步: 2026-06-06 11:11 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` +> 📅 最后同步: 2026-06-06 11:19 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` diff --git a/.cursorrules b/.cursorrules index 8a47889ff..6dabd52a5 100644 --- a/.cursorrules +++ b/.cursorrules @@ -78,6 +78,16 @@ - 这是诚实原则,不是效率问题 +**铁律9: 开发前必须审核原有代码(P0 — 铁律)** +- **任何新功能开发前,必须先搜索项目中是否已有相关代码** +- 搜索路径:Controller / AppService / Service / Mapper / Entity / 前端页面 / API接口 +- 如果已有部分功能 → 在原有代码基础上**升级优化完善**,禁止另起炉灶 +- 如果已有接口但前端缺失 → 只补前端,不重复建后端 +- 如果已有前端但后端缺失 → 只补后端,不重写前端 +- 搜索命令:`rg -l "关键词" healthlink-his-server/ healthlink-his-ui/src/` +- 禁止:不看代码就新建模块、重复实现已有功能、废弃原有代码另写一套 + + **铁律12: 设计文档确认后自主开发(铁律)** - 设计文档(如 `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md`)一旦确认,后续开发**必须按文档自主执行** - **禁止反复询问"是否继续""下一步做什么""是否开始"**——直接按计划推进 @@ -486,4 +496,4 @@ git status && git add -A && git commit -m "feat(module): desc" && git push origi --- -> 📅 最后同步: 2026-06-06 11:11 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` +> 📅 最后同步: 2026-06-06 11:19 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 2dcafd07c..1494f3504 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -78,6 +78,16 @@ - 这是诚实原则,不是效率问题 +**铁律9: 开发前必须审核原有代码(P0 — 铁律)** +- **任何新功能开发前,必须先搜索项目中是否已有相关代码** +- 搜索路径:Controller / AppService / Service / Mapper / Entity / 前端页面 / API接口 +- 如果已有部分功能 → 在原有代码基础上**升级优化完善**,禁止另起炉灶 +- 如果已有接口但前端缺失 → 只补前端,不重复建后端 +- 如果已有前端但后端缺失 → 只补后端,不重写前端 +- 搜索命令:`rg -l "关键词" healthlink-his-server/ healthlink-his-ui/src/` +- 禁止:不看代码就新建模块、重复实现已有功能、废弃原有代码另写一套 + + **铁律12: 设计文档确认后自主开发(铁律)** - 设计文档(如 `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md`)一旦确认,后续开发**必须按文档自主执行** - **禁止反复询问"是否继续""下一步做什么""是否开始"**——直接按计划推进 @@ -486,4 +496,4 @@ git status && git add -A && git commit -m "feat(module): desc" && git push origi --- -> 📅 最后同步: 2026-06-06 11:11 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` +> 📅 最后同步: 2026-06-06 11:19 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` diff --git a/.qwenrules b/.qwenrules index c4000163b..30e38545c 100644 --- a/.qwenrules +++ b/.qwenrules @@ -78,6 +78,16 @@ - 这是诚实原则,不是效率问题 +**铁律9: 开发前必须审核原有代码(P0 — 铁律)** +- **任何新功能开发前,必须先搜索项目中是否已有相关代码** +- 搜索路径:Controller / AppService / Service / Mapper / Entity / 前端页面 / API接口 +- 如果已有部分功能 → 在原有代码基础上**升级优化完善**,禁止另起炉灶 +- 如果已有接口但前端缺失 → 只补前端,不重复建后端 +- 如果已有前端但后端缺失 → 只补后端,不重写前端 +- 搜索命令:`rg -l "关键词" healthlink-his-server/ healthlink-his-ui/src/` +- 禁止:不看代码就新建模块、重复实现已有功能、废弃原有代码另写一套 + + **铁律12: 设计文档确认后自主开发(铁律)** - 设计文档(如 `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md`)一旦确认,后续开发**必须按文档自主执行** - **禁止反复询问"是否继续""下一步做什么""是否开始"**——直接按计划推进 @@ -486,4 +496,4 @@ git status && git add -A && git commit -m "feat(module): desc" && git push origi --- -> 📅 最后同步: 2026-06-06 11:11 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` +> 📅 最后同步: 2026-06-06 11:19 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` diff --git a/.windsurfrules b/.windsurfrules index 5c4df8653..91668a839 100644 --- a/.windsurfrules +++ b/.windsurfrules @@ -78,6 +78,16 @@ - 这是诚实原则,不是效率问题 +**铁律9: 开发前必须审核原有代码(P0 — 铁律)** +- **任何新功能开发前,必须先搜索项目中是否已有相关代码** +- 搜索路径:Controller / AppService / Service / Mapper / Entity / 前端页面 / API接口 +- 如果已有部分功能 → 在原有代码基础上**升级优化完善**,禁止另起炉灶 +- 如果已有接口但前端缺失 → 只补前端,不重复建后端 +- 如果已有前端但后端缺失 → 只补后端,不重写前端 +- 搜索命令:`rg -l "关键词" healthlink-his-server/ healthlink-his-ui/src/` +- 禁止:不看代码就新建模块、重复实现已有功能、废弃原有代码另写一套 + + **铁律12: 设计文档确认后自主开发(铁律)** - 设计文档(如 `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md`)一旦确认,后续开发**必须按文档自主执行** - **禁止反复询问"是否继续""下一步做什么""是否开始"**——直接按计划推进 @@ -486,4 +496,4 @@ git status && git add -A && git commit -m "feat(module): desc" && git push origi --- -> 📅 最后同步: 2026-06-06 11:11 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` +> 📅 最后同步: 2026-06-06 11:19 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` diff --git a/AGENTS.md b/AGENTS.md index 98c81eb5c..861d754e0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -79,6 +79,16 @@ - 这是诚实原则,不是效率问题 +**铁律9: 开发前必须审核原有代码(P0 — 铁律)** +- **任何新功能开发前,必须先搜索项目中是否已有相关代码** +- 搜索路径:Controller / AppService / Service / Mapper / Entity / 前端页面 / API接口 +- 如果已有部分功能 → 在原有代码基础上**升级优化完善**,禁止另起炉灶 +- 如果已有接口但前端缺失 → 只补前端,不重复建后端 +- 如果已有前端但后端缺失 → 只补后端,不重写前端 +- 搜索命令:`rg -l "关键词" healthlink-his-server/ healthlink-his-ui/src/` +- 禁止:不看代码就新建模块、重复实现已有功能、废弃原有代码另写一套 + + **铁律12: 设计文档确认后自主开发(铁律)** - 设计文档(如 `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md`)一旦确认,后续开发**必须按文档自主执行** - **禁止反复询问"是否继续""下一步做什么""是否开始"**——直接按计划推进 @@ -487,4 +497,4 @@ git status && git add -A && git commit -m "feat(module): desc" && git push origi --- -> 📅 最后同步: 2026-06-06 11:11 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` +> 📅 最后同步: 2026-06-06 11:19 | 源文件: RULES.md | 重新同步: `bash scripts/sync-ai-rules.sh` diff --git a/MD/specs/IRON_RULES.md b/MD/specs/IRON_RULES.md index f93248310..8ccf7f7dd 100644 --- a/MD/specs/IRON_RULES.md +++ b/MD/specs/IRON_RULES.md @@ -20,7 +20,8 @@ | #6 | 测试通过后才提交 | P0 | 代码提交 | | #7 | 前后端API路径对齐 | P0 | 接口开发 | | #8 | 铁律和规范文档放MD目录 | P1 | 规范文档 | -| #9 | 设计文档必须包含UI设计和调用流程 | P0 | 设计文档/前端开发 | +| #9 | 开发前必须审核原有代码 | P0 | 全量开发 | +| #10 | 设计文档必须包含UI设计和调用流程 | P0 | 设计文档/前端开发 | --- @@ -270,7 +271,45 @@ npm run lint --- -### 铁律 #9: 设计文档必须包含UI设计和调用流程 +--- + +### 铁律 #9: 开发前必须审核原有代码 + +**任何新功能开发前,必须先搜索项目中是否已有相关代码。** + +#### 搜索清单 + +| 搜索目标 | 搜索路径 | 命令 | +|---------|---------|------| +| 后端Controller | `healthlink-his-server/**/controller/` | `rg -l "关键词" ...` | +| AppService | `healthlink-his-server/**/appservice/` | 同上 | +| Service/ServiceImpl | `healthlink-his-server/**/service/` | 同上 | +| Mapper | `healthlink-his-server/**/mapper/` | 同上 | +| Entity/Domain | `healthlink-his-server/**/domain/` | 同上 | +| 前端页面 | `healthlink-his-ui/src/views/` | 同上 | +| 前端API | `healthlink-his-ui/src/api/` | 同上 | +| 数据库表 | Flyway迁移脚本 | `rg "CREATE TABLE" ...` | + +#### 判定规则 + +| 情况 | 处理方式 | +|------|---------| +| 后端+前端都已有 | 审查现有实现,找出缺陷/遗漏,在原基础上优化 | +| 只有后端,前端缺失 | 只补前端页面,调用现有API | +| 只有前端,后端缺失 | 只补后端接口,前端API对齐 | +| 前端壳子存在但功能不完整 | 分析壳子现有逻辑,补充完善 | +| 后端接口存在但业务逻辑不完整 | 在原Service基础上扩展,不新建 | +| 完全没有 | 从零开发,但先检查是否有可复用的组件/工具类 | + +#### 禁止行为 +- ❌ 不看代码就新建Controller/Service +- ❌ 已有功能重复实现 +- ❌ 废弃原有代码另写一套 +- ❌ 创建与现有模块功能重叠的新模块 + +--- + +### 铁律 #10: 设计文档必须包含UI设计和调用流程 **所有新模块/页面的设计文档必须包含以下要素,缺一不可:** diff --git a/RULES.md b/RULES.md index 6984622fc..587412308 100644 --- a/RULES.md +++ b/RULES.md @@ -72,6 +72,16 @@ - 这是诚实原则,不是效率问题 +**铁律9: 开发前必须审核原有代码(P0 — 铁律)** +- **任何新功能开发前,必须先搜索项目中是否已有相关代码** +- 搜索路径:Controller / AppService / Service / Mapper / Entity / 前端页面 / API接口 +- 如果已有部分功能 → 在原有代码基础上**升级优化完善**,禁止另起炉灶 +- 如果已有接口但前端缺失 → 只补前端,不重复建后端 +- 如果已有前端但后端缺失 → 只补后端,不重写前端 +- 搜索命令:`rg -l "关键词" healthlink-his-server/ healthlink-his-ui/src/` +- 禁止:不看代码就新建模块、重复实现已有功能、废弃原有代码另写一套 + + **铁律12: 设计文档确认后自主开发(铁律)** - 设计文档(如 `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md`)一旦确认,后续开发**必须按文档自主执行** - **禁止反复询问"是否继续""下一步做什么""是否开始"**——直接按计划推进