# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Development Commands ### Build Commands - `npm run build` - Build both client and server - `npm run build:client` - Build client only - `npm run build:server` - Build server only ### Development Commands - `npm run dev` - Start development server (port 8080) - `npm run dev:stock` - Development with backend debug logging - `npm run dev:socket` - Development with socket debug logging - `npm run start` - Start production server ## Architecture Overview This is a full-stack TypeScript application using: - **Frontend**: React 19 + Vite + Tailwind CSS - **Backend**: Hono.js framework with Express-style routing - **Database**: TypeORM with MySQL - **Real-time**: Socket.IO for WebSocket communication - **Authentication**: JWT-based auth with middleware ### Key Directories - `src/client/` - Frontend React components and pages - `src/server/` - Backend API routes, middleware, and services - `src/server/api/` - Hono.js API route definitions - `src/server/modules/` - Business logic modules (users, auth, etc.) - `src/server/middleware/` - Authentication and custom middleware - `src/share/` - Shared types and utilities ### Database & ORM - Uses TypeORM with MySQL2 driver - Entity files in `src/server/modules/*/*.entity.ts` - Database configuration in `src/server/data-source.ts` ### Real-time Features - Socket.IO integration for real-time communication - Socket middleware for authentication - Socket handlers in `src/server/socket/` ### Authentication System - JWT-based authentication - User roles: TEACHER, STUDENT, TRAINEE - Trainee expiration system with automatic status updates - Middleware in `src/server/middleware/` ## Project Standards & Rules - @.roo/rules/01-general.md - 通用开发规范 - @.roo/rules/02-typescript.md - TypeScript规范 - @.roo/rules/03-modules.md - 模块化规范 - @.roo/rules/04-api.md - API开发规范 - @.roo/rules/05-database.md - 数据库规范 - @.roo/rules/06-service-di.md - 服务与依赖注入规范 - @.roo/rules/07-openapi.md - OpenAPI规范 - @.roo/rules/08-rpc.md - RPC调用规范 - @.roo/rules/09-logging.md - 日志规范 - @.roo/rules/10-entity.md - 实体定义规范 - @.roo/rules/11-admin-frontend.md - 管理前端规范 - @.roo/rules/11-custom-crud.md - 自定义CRUD规范 - @.roo/rules/11-entity-creation.md - 实体创建规范 - @.roo/rules/11-home-frontend.md - 首页前端规范 - @.roo/rules/11-standard-crud.md - 标准CRUD规范 - @.roo/rules/12-generic-crud.md - 通用CRUD规范 - @.roo/rules/14-crud-filtering.md - CRUD筛选规范 - @.roo/rules/15-user-tracking.md - 用户追踪规范 ## Development Notes - Uses pnpm as package manager - Vite for both dev server and production builds - SSR (Server-Side Rendering) setup with Hono.js - Environment variables via `.env` file - Port 8080 for development and production ## Claude Code - Always response in Chinese