development-workflow.md 2.8 KB

开发工作流

版本信息

版本 日期 描述 作者
2.4 2025-09-20 与主架构文档版本一致 Winston
2.5 2025-09-24 更新技术栈信息,修正数据库类型 Winston
2.6 2025-09-28 整合Claude Code开发工具配置 Claude Code

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/clienthc RPC 调用,不是直接 fetch

项目结构

  • BMAD核心目录在 .bmad-core
  • 必须用中文回答

实际开发命令

# 安装依赖
pnpm install

# 启动完整开发环境(前后端同时运行)
pnpm dev

# 运行测试
pnpm test                      # 运行API测试 (Vitest)
pnpm test:api                  # 运行API测试
pnpm test:components           # 运行组件测试
pnpm test:integration          # 运行集成测试 (同test:components)
pnpm test:e2e                  # 运行E2E测试
pnpm test:e2e:chromium         # 运行Chrome E2E测试
pnpm test:e2e:ui               # 运行E2E测试UI模式
pnpm test:e2e:debug            # 运行E2E调试模式

# 代码质量检查
pnpm lint                      # ESLint检查
pnpm typecheck                 # TypeScript类型检查
pnpm test:coverage             # 生成测试覆盖率报告

# 数据库相关
pnpm db:backup                 # 数据库备份
pnpm db:restore                # 数据库恢复
pnpm db:backup:list            # 列出备份文件
pnpm db:backup:latest          # 获取最新备份
pnpm db:backup:cleanup         # 清理旧备份
pnpm db:migrate                # 数据库迁移
pnpm db:seed                   # 数据库种子数据
pnpm db:reset                  # 重置数据库

环境配置

# 前端环境变量 (Vite)
VITE_API_BASE_URL=http://localhost:8080/api

# 后端环境变量 (多八多云端开发容器环境)
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=d8dai
DB_USERNAME=root
DB_PASSWORD=
JWT_SECRET=your-jwt-secret-key
NODE_ENV=development

# MinIO配置
MINIO_HOST=localhost
MINIO_PORT=9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BUCKET_NAME=d8dai
MINIO_USE_SSL=false

# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379