chore: update existing rule docs with AI output schema
This commit is contained in:
1
01 - Knowledge & Prompts/AI Prompts/P1_生成项目蓝图.md
Normal file
1
01 - Knowledge & Prompts/AI Prompts/P1_生成项目蓝图.md
Normal file
@@ -0,0 +1 @@
|
||||
提取需求,梳理用户角色与核心用例,确定前后端与数据库技术栈选型,输出 project_blueprint.md。
|
||||
3
01 - Knowledge & Prompts/AI Prompts/P2_生成数据库设计.md
Normal file
3
01 - Knowledge & Prompts/AI Prompts/P2_生成数据库设计.md
Normal file
@@ -0,0 +1,3 @@
|
||||
读取项目蓝图,进行数据库表结构设计。按规定格式输出实体关系图和数据字典。
|
||||
|
||||
@02 - Design Standard/2.3 数据库与存储设计规范.md
|
||||
4
01 - Knowledge & Prompts/AI Prompts/P3_生成基础脚手架.md
Normal file
4
01 - Knowledge & Prompts/AI Prompts/P3_生成基础脚手架.md
Normal file
@@ -0,0 +1,4 @@
|
||||
读取蓝图确认技术栈,生成标准分层目录树结构、依赖包文件(如 requirements.txt)及基础配置。
|
||||
|
||||
@03 - Coding & Frameworks/01 - Language Coding Specification/Python 编码与开发规范.md
|
||||
@03 - Coding & Frameworks/02 - Framework Development Specification/Django_DRF开发规范.md
|
||||
4
01 - Knowledge & Prompts/AI Prompts/P4_生成核心业务代码.md
Normal file
4
01 - Knowledge & Prompts/AI Prompts/P4_生成核心业务代码.md
Normal file
@@ -0,0 +1,4 @@
|
||||
为指定模块编写核心逻辑与 API。必须遵守严格的分层原则和统一的接口响应格式。
|
||||
|
||||
@03 - Coding & Frameworks/02 - Framework Development Specification/Django_DRF开发规范.md
|
||||
@02 - Design Standard/2.2 API 接口设计规范.md
|
||||
3
01 - Knowledge & Prompts/AI Prompts/P5_生成自动化测试.md
Normal file
3
01 - Knowledge & Prompts/AI Prompts/P5_生成自动化测试.md
Normal file
@@ -0,0 +1,3 @@
|
||||
读取刚生成的业务代码,编写单元测试。必须包含完整的行为排列与外部依赖 Mock。
|
||||
|
||||
@04 - Quality & Review/4.1 自动化测试规范.md
|
||||
4
01 - Knowledge & Prompts/AI Prompts/P6_执行代码审查与修复.md
Normal file
4
01 - Knowledge & Prompts/AI Prompts/P6_执行代码审查与修复.md
Normal file
@@ -0,0 +1,4 @@
|
||||
作为严苛的架构师,扫描当前变更代码的安全与架构漏洞,打回违规代码并直接提供修复代码块。
|
||||
|
||||
@04 - Quality & Review/4.2 代码审查规范.md
|
||||
@04 - Quality & Review/4.3 安全编码规范.md
|
||||
3
01 - Knowledge & Prompts/AI Prompts/P7_生成部署流水线.md
Normal file
3
01 - Knowledge & Prompts/AI Prompts/P7_生成部署流水线.md
Normal file
@@ -0,0 +1,3 @@
|
||||
读取项目依赖,生成多环境隔离的容器化构建脚本与 CI/CD 流水线配置文件。
|
||||
|
||||
@05 - Collaboration & Delivery/5.2 CI_CD 与环境部署规范.md
|
||||
@@ -76,3 +76,7 @@
|
||||
* **防腐层设计 (ACL \- Anti-Corruption Layer):**
|
||||
* 在对接老旧的遗留系统或不可控的第三方外部 API(如支付网关、SaaS 接口)时,必须在系统边界建立防腐层(Adapter/Facade)。
|
||||
* *实践:* 将外部混乱的数据模型在防腐层转换为系统内部干净的标准模型,防止外部概念“污染”我们的核心业务代码。外部接口升级时,只需修改防腐层即可。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:默认采用模块化单体架构,除非明确要求否则禁止过度微服务拆分;强制遵循下层不可反向依赖上层的单向依赖流。
|
||||
@@ -153,3 +153,7 @@ API 是前后端、微服务之间沟通的**核心契约**。优秀的 API 设
|
||||
* 50000: 服务器内部错误通配。
|
||||
|
||||
*规约:如果决定使用错误码,则禁止在代码中硬编码(如 return new Response(40102, "被冻结")),必须统一定义在 ErrorCodeEnum 枚举类中集中管理。*
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:接口文档必须输出为 OpenAPI 3.0 YAML 格式;所有 HTTP 接口的响应体必须强制包裹在统一的 `{code, msg, data}` JSON 结构中。
|
||||
@@ -86,3 +86,7 @@ Redis 虽然快,但不当的使用会导致内存泄漏和严重的并发故
|
||||
* **对策:** 即使数据库返回 Null,也要把这个 Null 值缓存进 Redis(设置一个较短的 TTL,如 5 分钟);或者引入布隆过滤器 (Bloom Filter) 提前拦截。
|
||||
* **防范缓存击穿 (Cache Breakdown):** \* **问题:** 某一个“极其热点”的 Key 突然过期的一瞬间,上万个并发请求发现缓存未命中,同时去查询 DB 并尝试重写缓存,导致 DB 崩溃。
|
||||
* **对策:** 使用分布式锁(如 Redisson)控制,只让一个线程去查询 DB 并重建缓存,其他线程等待;或针对极度热点的数据设置“逻辑过期”而非物理过期。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:强制输出两部分内容:1. Mermaid 格式的 ER 图;2. 包含 [表名、字段名、类型、是否为空、默认值、索引说明] 的标准 Markdown 表格。
|
||||
@@ -126,3 +126,7 @@ def process\_large\_file(filename: str):
|
||||
|
||||
\# Assert
|
||||
assert user.name \== "Test"
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:生成的 Python 代码必须 100% 包含 Type Hints(类型注解);禁止输出废话解析,直接输出带规范中文注释的可用代码块。
|
||||
|
||||
@@ -81,3 +81,7 @@ View 层仅作为路由调度、参数校验和权限决策的枢纽,绝不可
|
||||
|
||||
* **后端绝对阻断**:绝对禁止依靠前端“不显示该列表”或“隐藏入口”来做数据隔离防护。
|
||||
* **规范落实**:不同租户(组织、用户)的数据隔离,必须通过重写 View 的 get\_queryset() 进行彻底的 QuerySet 过滤来实现。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:严格执行 Fat Service 模式。models.py 仅定义数据,services.py 处理所有核心业务逻辑,views.py 仅负责路由接客,绝对禁止在 View 中写复杂业务查询。
|
||||
@@ -75,3 +75,7 @@
|
||||
* **本地提交前拦截**:推荐使用 Git pre-commit 钩子,在本地 Commit 前执行快速的单元测试。
|
||||
* **CI 自动化阻断**:任何合并到主干分支(如 main, develop)的 Pull Request/Merge Request,必须触发 CI 流水线。
|
||||
* 如果自动化测试失败(红灯),或者核心代码覆盖率跌破基准线,代码审查工具必须**硬性阻断**合并按钮,不允许任何特权绕过。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:强制使用 pytest 框架;测试用例内部必须使用注释显式划分为 `# Arrange`, `# Act`, `# Assert` 三个标准区块。
|
||||
@@ -90,3 +90,7 @@ Reviewer 在审查时,应当自顶向下,先看架构,再看逻辑,最
|
||||
\- \[x\] 本地单测全部通过。
|
||||
\- \[x\] 没有遗留的 \`print\` 和注释掉的死代码。
|
||||
\- \[x\] 已补充对应的 OpenAPI 文档注解。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:提供安全漏洞与架构越权的排查 Checklist。规定 AI 必须逐项回复检查结果(True/False),一旦发现违规必须输出重构后的安全代码。
|
||||
|
||||
@@ -70,3 +70,7 @@
|
||||
* 对于发送短信验证码、注册、登录等极易被黑客利用进行暴力破解或“薅羊毛”的接口,必须在网关层或应用层配置**频次限制**(如同一 IP 每分钟最多 5 次,同一手机号每天最多 10 次)。
|
||||
* **失败提示模糊化**:
|
||||
* 登录失败时,无论是因为“账号不存在”还是“密码错误”,**统一定义返回**:“账号或密码错误”。禁止明确告知攻击者账号是否存在,防止黑客进行“撞库”和账号枚举。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:提供安全漏洞与架构越权的排查 Checklist。规定 AI 必须逐项回复检查结果(True/False),一旦发现违规必须输出重构后的安全代码。
|
||||
@@ -83,3 +83,7 @@
|
||||
* **门禁规则 (人工卡点)**:
|
||||
* 生产环境的部署**绝对禁止全自动触发**。
|
||||
* 在 Jenkins 流水线的 Deploy to Prod 阶段前,必须设置一个 input() 审批节点。只有具备 Release 权限的运维工程师或技术 TL 在 Jenkins 界面点击“同意确认”后,才会真正触发生产环境的镜像替换。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:生成的 Dockerfile 必须采用多阶段构建 (Multi-stage Build) 并锁定基础镜像版本;必须配套输出标准的 `.env.example` 环境变量清单。
|
||||
19
append_rules.py
Normal file
19
append_rules.py
Normal file
@@ -0,0 +1,19 @@
|
||||
import os
|
||||
|
||||
appends = {
|
||||
"02 - Design Standard/2.1 系统架构设计原则.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:默认采用模块化单体架构,除非明确要求否则禁止过度微服务拆分;强制遵循下层不可反向依赖上层的单向依赖流。\n",
|
||||
"02 - Design Standard/2.2 API 接口设计规范.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:接口文档必须输出为 OpenAPI 3.0 YAML 格式;所有 HTTP 接口的响应体必须强制包裹在统一的 `{code, msg, data}` JSON 结构中。\n",
|
||||
"02 - Design Standard/2.3 数据库与存储设计规范.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:强制输出两部分内容:1. Mermaid 格式的 ER 图;2. 包含 [表名、字段名、类型、是否为空、默认值、索引说明] 的标准 Markdown 表格。\n",
|
||||
"03 - Coding & Frameworks/01 - Language Coding Specification/Python 编码与开发规范.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:生成的 Python 代码必须 100% 包含 Type Hints(类型注解);禁止输出废话解析,直接输出带规范中文注释的可用代码块。\n",
|
||||
"03 - Coding & Frameworks/02 - Framework Development Specification/Django_DRF开发规范.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:严格执行 Fat Service 模式。models.py 仅定义数据,services.py 处理所有核心业务逻辑,views.py 仅负责路由接客,绝对禁止在 View 中写复杂业务查询。\n",
|
||||
"04 - Quality & Review/4.1 自动化测试规范.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:强制使用 pytest 框架;测试用例内部必须使用注释显式划分为 `# Arrange`, `# Act`, `# Assert` 三个标准区块。\n",
|
||||
"04 - Quality & Review/4.2 代码审查规范.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:提供安全漏洞与架构越权的排查 Checklist。规定 AI 必须逐项回复检查结果(True/False),一旦发现违规必须输出重构后的安全代码。\n",
|
||||
"04 - Quality & Review/4.3 安全编码规范.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:提供安全漏洞与架构越权的排查 Checklist。规定 AI 必须逐项回复检查结果(True/False),一旦发现违规必须输出重构后的安全代码。\n",
|
||||
"05 - Collaboration & Delivery/5.2 CI_CD 与环境部署规范.md": "\n\n## 🤖 [附加] AI 助手执行协议 (AI Output Schema)\n\n**绝对红线**:生成的 Dockerfile 必须采用多阶段构建 (Multi-stage Build) 并锁定基础镜像版本;必须配套输出标准的 `.env.example` 环境变量清单。\n",
|
||||
}
|
||||
|
||||
for path, content in appends.items():
|
||||
with open(path, "a", encoding="utf-8") as f:
|
||||
f.write(content)
|
||||
|
||||
print("Appended rules successfully.")
|
||||
Reference in New Issue
Block a user