# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Overview HZHub (汇智中台) is an enterprise-level business platform built on HZHub-AI, integrating AI capabilities with ERP data adaptation. It consists of multiple frontend portals, a backend AI service, an ERP service, and a gateway, orchestrated via Docker Compose. ## Commands ### Docker Deployment (Production-like) ```bash # Start all services (recommended for integration testing) cd hzhub-deploy docker-compose up -d # View service status docker-compose ps # View logs docker-compose logs -f hzhub-ai docker-compose logs -f hzhub-admin # Restart services docker-compose restart hzhub-ai # Stop all services docker-compose down ``` ### Backend Development (Spring Boot) ```bash # Run AI service locally (foreground) cd hzhub-ai mvn spring-boot:run -Dspring-boot.run.profiles=dev # Run AI service locally (background) cd hzhub-ai ./start.sh # Start service in background ./status.sh # Check service status ./logs.sh # View logs ./stop.sh # Stop service ./restart.sh # Restart service # Build all modules cd hzhub-ai mvn clean package # Build specific module cd hzhub-ai/hzhub-modules/hzhub-chat mvn clean package # Run tests mvn test ``` **πŸ’‘ Tip:** For background service management, see [SERVICE_MANAGEMENT.md](../SERVICE_MANAGEMENT.md) ### Frontend Development (Vue 3 + Vben Admin) ```bash # Admin portal development cd hzhub-admin pnpm install # Install dependencies pnpm dev # Start dev server (foreground) ./start.sh # Start dev server (background) ./status.sh # Check service status ./logs.sh # View logs pnpm build # Build all packages pnpm --filter=@vben/web-antd build:prod # Build admin frontend # Employee portal development cd hzhub-portal-employee pnpm install pnpm dev # Start dev server (foreground) ./start.sh # Start dev server (background) ./status.sh # Check service status ./logs.sh # View logs # Dealer portal development cd hzhub-portal-dealer pnpm install pnpm dev ``` **πŸ’‘ Tip:** For background service management (start/stop/restart/status/logs), see [SERVICE_MANAGEMENT.md](../SERVICE_MANAGEMENT.md) ## Architecture ### Multi-Service Structure ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Frontend Layer β”‚ β”‚ hzhub-admin | hzhub-portal-employee β”‚ β”‚ | hzhub-portal-dealer β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ hzhub-gateway β”‚ (API Gateway - planned) β”‚ Spring Cloud β”‚ Auth, routing, rate limiting β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ hzhub-ai β”‚ hzhub-erp β”‚ β”‚ (AI Service) β”‚ (Planned) β”‚ β”‚ Spring Boot β”‚ JDBC to β”‚ β”‚ 3.5.8 β”‚ SQL Serverβ”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ### Backend Module Organization **hzhub-ai** is organized as a multi-module Maven project: - **hzhub-admin**: Main application entry point (`HZHubAIApplication.java`), configuration files - **hzhub-common**: Shared utilities (core, redis, mybatis, security, satoken, oss, chat, etc.) - **hzhub-modules**: Business modules - **hzhub-chat**: Chat/AI conversation functionality - **hzhub-system**: System management, users, roles, permissions - **hzhub-workflow**: Workflow engine (Flowable-based) - **hzhub-aiflow**: AI workflow orchestration - **hzhub-generator**: Code generator - **hzhub-extend**: Extensions (monitoring, job scheduling) ### Frontend Architecture **hzhub-admin** uses a monorepo structure with pnpm + turbo: ``` hzhub-admin/ β”œβ”€β”€ apps/ β”‚ └── web-antd/ # Main admin application (Ant Design Vue) β”‚ β”œβ”€β”€ src/ β”‚ β”‚ β”œβ”€β”€ api/ # API calls β”‚ β”‚ β”œβ”€β”€ views/ # Page components β”‚ β”‚ β”œβ”€β”€ router/ # Vue Router config β”‚ β”‚ └── store/ # Pinia stores β”‚ └── package.json β”œβ”€β”€ packages/ # Shared packages └── package.json # Root monorepo config ``` **Portal applications** (hzhub-portal-employee, hzhub-portal-dealer) are Vue 3 apps with: - Composition API (`