# 开发规范 ## 版本信息 | 版本 | 日期 | 描述 | 作者 | |------|------|------|------| | 1.0 | 2025-09-28 | 从CLAUDE.md和.roo/rules迁移开发规范 | Claude Code | ## 开发环境说明 ### 多八多云端开发容器环境 - **Node.js版本**: 20.19.2 - **数据库**: MySQL 8 (默认数据库: d8dai) - **缓存**: Redis 7 - **对象存储**: MinIO (默认存储桶: d8dai) - **连接配置**: 所有服务使用默认参数连接,正式环境参数相同 - **网络访问**: 默认开放8080端口供外网访问 ## 项目标准和规范 本项目遵循以下开发规范,所有规范文件位于 `.roo/rules/` 目录中: ### 基础规范 - [通用开发规范](../.roo/rules/01-general.md) - 项目结构、技术栈、目录组织 - [TypeScript规范](../.roo/rules/02-typescript.md) - 严格模式、类型检查 - [模块化规范](../.roo/rules/03-modules.md) - 模块组织原则 ### API开发规范 - [API开发规范](../.roo/rules/04-api.md) - DTO定义、API响应格式 - [数据库规范](../.roo/rules/05-database.md) - 迁移管理、实体映射 - [服务与依赖注入规范](../.roo/rules/06-service-di.md) - 依赖注入原则 ### 高级开发规范 - [OpenAPI规范](../.roo/rules/07-openapi.md) - Hono OpenAPI集成规范 - [RPC调用规范](../.roo/rules/08-rpc.md) - 类型安全RPC调用 - [日志规范](../.roo/rules/09-logging.md) - 前后端统一日志管理 ### 实体和CRUD规范 - [实体定义规范](../.roo/rules/10-entity.md) - 数据库实体规范 - [管理前端规范](../.roo/rules/11-admin-frontend.md) - 管理后台页面开发 - [自定义CRUD规范](../.roo/rules/11-custom-crud.md) - 复杂业务逻辑CRUD - [实体创建规范](../.roo/rules/11-entity-creation.md) - 新实体创建流程 - [首页前端规范](../.roo/rules/11-home-frontend.md) - 前台页面开发 - [标准CRUD规范](../.roo/rules/11-standard-crud.md) - 简单数据模型CRUD - [通用CRUD规范](../.roo/rules/12-generic-crud.md) - 通用CRUD实现 - [CRUD筛选规范](../.roo/rules/14-crud-filtering.md) - 增强筛选功能 - [用户追踪规范](../.roo/rules/15-user-tracking.md) - 操作人ID字段配置 ## Claude Code开发工具配置 ### 包管理器 - 使用 `pnpm` 作为包管理器 ### 类型检查 - 检查类型错误直接用 `pnpm typecheck` 检查整个项目,不要单独检查单个文件 ### 数据库访问 - 数据库在同一容器组的另一个容器中,需要运行 `mysql -h 127.0.0.1 -u root` 来访问 ### 测试相关 - **Vitest配置**: 只有 `console.debug` 会显示,其他的都屏蔽了 - **Mock导入**: 用 `import` 来配合 `vi.mocked`,而不是 `require` - **E2E测试**: 平常只运行 `pnpm test:e2e:chromium` 就行 - **E2E调试**: 测试失败时先查看页面结构 `test-results/**/error-context.md` ### 前端开发 - 前端使用 `hono/client` 的 `hc` RPC 调用,不是直接 `fetch` ### 项目结构 - BMAD核心目录在 `.bmad-core` - 必须用中文回答