Files
makemd/.trae/rules/project-specific-rules.md
wurenzhi 136c2fa579 feat: 初始化项目结构并添加核心功能模块
- 新增文档模板和导航结构
- 实现服务器基础API路由和控制器
- 添加扩展插件配置和前端框架
- 引入多租户和权限管理模块
- 集成日志和数据库配置
- 添加核心业务模型和类型定义
2026-03-17 22:07:19 +08:00

132 lines
7.4 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.
# 项目特定规则 (Project-Specific Rules)
> 本文件包含 Crawlful Hub 项目的特定规则和配置
---
## 1. 数据与存储
- **表前缀**: 所有数据库表必须以 `cf_` 为前缀(如 `cf_product`, `cf_order`
- **金额字段**: 必须使用 `decimal(10,2)` 或更高精度,禁止使用 float/double
- **物理属性单位**: 长度(cm), 重量(kg), 体积(m3)
- **唯一约束**: `cf_product` 平台+productId 唯一约束;避免重复插入
- **JSON 字段**: images/skus/attributes 入库前序列化;出库解析
---
## 2. 核心业务规则
- **建议优先原则**: 后端 Agent 严禁在未经人工审核的情况下直接修改核心业务数据(如调价、退款、下单)
- **流程门禁**: 所有 Agent 决策必须遵循 `SUGGESTED -> PENDING_REVIEW -> EXECUTED/REJECTED` 状态机
- **Console 决策闭环**: Agent 仅负责生成“决策建议包”,必须由人工在 `Console` 端确认后方可执行
- **计价逻辑**: 必须收敛于 `PricingService`,禁止在 Controller 或前端硬编码公式
- **利润红线**: B2B 利润率 < 15% 禁止报价B2C 利润率 < 20% 触发风控预警
- **设备标记**: 所有设备必须标记Commercial Use Only, Non-Returnable
- **订单限制**: 严禁处理住宅地址订单轻B模式
---
## 3. 插件消息规范
- **消息类型**: 所有 message.type 统一在 `src/shared/types/messaging.ts` 声明
- **新增类型**: 必须在 background 与调用方同时适配,并补充最小冒烟测试
---
## 4. 安全与权限规范
- **权限模型**: RBAC (基于角色的访问控制) + 颗粒度权限点 (如 `order:read`)
- **预设角色**: ADMIN (全权), MANAGER (运营主管), OPERATOR (运营专员), FINANCE (财务主管), SOURCING (采购专家), LOGISTICS (物流专家), ANALYST (数据分析师)
- **权限校验**: 路由层必须通过 `authorize(permission)` 中间件进行拦截,禁止在 Controller 中硬编码 `role === 'ADMIN'`
- **数据隔离**: 非 ADMIN 用户在查询列表时必须根据 `parentId` 进行层级过滤,仅能看到自身及下属数据
---
## 5. AI生成代码规范 (AI-Generated Code)
### 核心原则
- **AI优先开发**: 99%代码由AI生成人工仅负责审核和微调
- **智能注释**: 每个服务类必须包含完整的JSDoc注释明确标识任务ID和功能描述
- **自动同步**: 代码生成自动更新协作看板,实现代码驱动看板
### 技术规范
- **服务类命名**: 统一使用`Service`后缀,避免`Manager`/`Helper`等后缀
- **代码结构**: 遵循标准服务类模式(表初始化 + 核心业务方法)
- **同步机制**: 使用`ai-sync-engine.js`实现自动同步
### 详细规范
> 详见:[AI生成代码规范](../docs/ai-generated-code-specification.md)
## 6. 架构与性能边界
### 基础设施配置
- **数据库**: 阿里云 RDS (MySQL 8.0);禁止在代码中执行 `DROP/TRUNCATE`;复杂查询必须通过 `EXPLAIN` 校验索引
- **缓存与队列**: 本地 Redis (服务器 6379 端口);所有异步任务通过 BullMQ 走本地 Redis
### 单机资源保护
- **内存管理**: 后端 Node.js 进程限制 `--max-old-space-size=4096`;图片处理 (Sharp) 必须开启 `sequentialRead`
- **并发控制**: API 速率限制必须基于本地 Redis 实现Worker 并发数严禁超过 10
### 边界隔离
- **Domain 间引用**: 禁止跨 Domain 直接操作数据库模型,必须通过 `Service` 暴露接口或 `EventBus` 异步通信
---
## 6. 1 (Brain) + 3 (Agents) 指挥与自省协议
- **角色定位**: 大脑 (Brain) 负责全局调度与决策Agent (AI-1, AI-2, AI-3) 负责原子任务包的闭环开发
- **Agent 问题显性化**: 必须在对话开始、执行中、交付前三个阶段明确上报“自我问题”
- **深度思考与文档反哺**: Agent 必须承担“架构思考者”的角色,在任务包闭环后主动更新相关文档
- **任务规格书驱动**: 复杂任务必须先在 `docs/governance/task-specifications.md` 定义原子化规格
- **收益优先原则**: 优先实现提升转化率与降低成本的任务
- **变更编年史**: 每次完成变更必须在看板追加记录
---
## 7. AI-First 代码库治理规范
- **补全优先编码**: 标准命名、JSDoc 驱动、小函数原则
- **前端方案强制性**: 后端 Agent 在完成任何 Service 或 API 逻辑后,必须在 `docs/blueprints/frontend-integration/` 下产出对应的详细前端实现方案
- **物理 Schema 唯一源**: `LegacyTableInitializer.ts` 是项目中**唯一的**物理表初始化入口
- **Schema 幂等性**: 所有建表语句必须使用 `db.schema.hasTable` 进行前置校验
- **契约驱动的数据库协作**: 新表未完成物理建表前,必须先定义 Zod Schema 作为“逻辑契约”
- **严禁 Mock 数据**: 严禁在生产级 Service 或前端 Page/Component 中使用硬编码的模拟数据
- **因果链强制性**: 每一个 AGI 建议必须通过 `DecisionExplainabilityEngine` 记录真实的因果叙述
- **部署即运行**: `completed` 的标志是:数据库表已初始化、核心逻辑已闭环、通过 `GetDiagnostics` 校验
- **影子测试**: AI-2 (Internal) 必须产出该功能的 **Shadow-Test**(最小冒烟测试)
- **目录职责固化**: 后端必须遵循 `core/ domains/ workers/ api/ shared` 分层,禁止跨层越权调用
- **状态机门禁**: 发布、审核、对账流程必须落入统一 FSM禁止散落在 Controller 中硬编码流程分支
- **追踪四元组必填**: 所有任务与日志必须携带 `tenantId/shopId/taskId/traceId`
---
## 8. TOB 与套利专项约束
- **套利口径统一**: 禁止仅用“售价-采购价”判断套利;必须使用净利公式(含平台费/物流/税费/汇率/售后/广告摊销)
- **利润红线强制执行**: B2B `<15%` 禁止放行B2C `<20%` 必须进入风控审核
- **无 API 执行约束**: 无 API 平台必须走 `No-API Bridge` + `PENDING_REVIEW`,禁止全自动直发
- **Win 节点隔离约束**: 一店一执行上下文profileDir/proxy/fingerprintPolicy同店任务严格串行
- **企业交付底线**: 上线前必须具备租户隔离、审计追责、配额治理、SLA 指标可观测四项能力
---
## 9. 文档管理规范
- **命名规范**: 文件名必须使用小写短横线kebab-case`global-business-blueprint.md`
- **分类存放**: `docs/blueprints/` (全局业务蓝图)、`docs/benchmarks/` (行业标杆)、`docs/quality/` (质量保障)、`docs/governance/` (协同看板)
- **引用闭环**: 文档内引用必须使用完整 Markdown 链接,并确保 `README.md``doc-index.md` 的导航同步更新
- **原子化更新**: 每次功能变更必须同步更新对应的标杆规格或蓝图,确保 AGI “先验知识”的实时性
---
## 10. 三AI同目录并行执行协议
- **一次性分发原则**: 每轮必须一次性下发完整任务包P0/P1/P2禁止仅下发单点任务
- **连续执行原则**: 每个 AI 在其任务包内必须连续执行到“完成或明确阻塞”才允许结束回合
- **停机条件白名单**: 仅允许外部依赖阻塞或已达到任务包验收标准并完成文档归档
- **文件占用锁**: 同目录协作时必须先声明文件归属,遵循“谁领取谁编辑”,避免并发覆盖
- **冲突处理**: 出现同文件冲突时,后写入方必须先 `Read` 最新内容并做增量合并,不得回滚他人变更
---
*本文件包含 Crawlful Hub 项目的特定规则,与通用编码规范分离管理。*