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

78 lines
3.9 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.
# 代码与提交规范 (通用规则)
> 本文件包含适用于所有项目的通用编码规范
---
## 1. 基础规范
- **使用 TypeScript**;禁止 any必要场景以 TODO 标注并跟进)
- **文件命名**小写短横线TypeScript 类型与接口使用大驼峰
- **分支命名**feature/, fix/, docs/, chore/;提交信息以动词开头,中文或英文均可
- **变更前**必须通过构建与基础校验脚本npm run check
- **注释要求**:中文注释,紧贴代码语句,描述意图而非过程;禁止冗长段落
---
## 2. Lint 与格式化
- **ESLint**:插件启用 ESLintReact+TS后端暂不强制 ESLint
- **代码风格**:统一缩进 2 空格UTF-8换行 LF末尾换行
- **编辑器**:建议在本地启用编辑器保存时格式化(遵循 .editorconfig
---
## 3. TypeScript 约束
- **Strict 模式**extension/ tsconfigstrict 开启paths 使用 @/*
- **类型安全**server/ tsconfig保持严格类型避免 any 与隐式 any
---
## 4. API 约定
- **响应结构**:所有响应统一结构:{ success: boolean, data?: any, error?: string }
- **错误处理**错误码与信息需清晰、可定位4xx 为入参错误5xx 为服务异常
- **CORS**:白名单通过环境变量 ALLOWED_ORIGINS 配置
- **速率限制**:通过 RATE_LIMIT_REQUESTS 与 RATE_LIMIT_WINDOW_MS 配置
---
## 5. 安全与保密
- **密钥管理**:严禁提交任何密钥或私密配置;环境变量由 .env 管理并忽略提交
---
## 6. 提交前校验
- **严禁全量构建**:为节省服务器/本机开销,日常开发流程中**严禁运行** `npm run build`
- **强制自我审计**开发者AI必须在交付代码前通过 `Read``GetDiagnostics` 进行逻辑自查与类型校验
- **逻辑自查标准**:代码必须细致到“部署即运行”,业务链路必须闭环(如:新增字段必须在 API 响应中体现,且在 Service 中有对应处理)
- **禁止跨 AI 审计**:每个窗口仅负责自身代码的业务完整性,无需等待其他 AI 审计,直接交付
---
## 7. Todo 列表执行规范
- **任务同步**:必须通过 `TodoWrite` 工具同步任务进度;每次对话开始时应优先规划或更新任务列表
- **任务管理**:在任务列表中所有 `pending``in_progress` 的任务未处理完成或未记录明确阻塞原因前,严禁主动终止对话回合或将控制权交还给用户
- **阻塞处理**如果任务被阻塞BlockedAI 必须在 Todo 或看板中清晰列举出当前遇到的“自我问题”,并遵循 **RCA 强制模板**
- `[CATEGORY]`(Context Missing / Logic Conflict / API Hallucination / Env Issue)
- `[ROOT_CAUSE]`(具体原因,如:.env 缺少某 Key)
- `[MITIGATION]`(修复建议或 Fallback 路径,如:手动在 .env 补充该 Key 或使用模拟数据)
- **流程闭环**:必须遵循“规划 -> 执行 -> 验证 -> 归档”的完整闭环,单次执行应尽可能覆盖多个关联任务以提高效率
- **任务描述**:必须使用中文,并清晰定义“核心/架构/业务/UI”等模块属性
---
## 8. AI 可读性优先原则
- **标准命名**:禁止任何语义不明的缩写。变量名与函数名必须具备强描述性,以最大化 IDE 自动补全的预测准确度
- **JSDoc 驱动**:在实现逻辑前,必须编写详尽的 JSDoc`@param`, `@returns`, `@throws`)。这不仅是文档,更是为 Autocomplete 提供精准的上下文先验知识
- **小函数原则**:单个函数逻辑控制在 30 行以内。函数越短Autocomplete 的补全信心指数越高,从而减少人工手动输入的 Dollar Usage 成本
- **函数命名**:必须表达业务意图(禁止缩写语义漂移),同类逻辑必须复用统一 Service
---
*本文件为通用编码规范,项目特定规则请参考 project-specific-rules.md*\n