feat:rename subtree from frontend-vue to frontend
This commit is contained in:
95
frontend/CLAUDE.md
Normal file
95
frontend/CLAUDE.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Development Commands
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
|
||||
# Development server with hot reload
|
||||
pnpm dev
|
||||
|
||||
# Build for production
|
||||
pnpm build
|
||||
|
||||
# Type checking
|
||||
pnpm type-check
|
||||
|
||||
# Lint and fix code
|
||||
pnpm lint
|
||||
|
||||
# Format code
|
||||
pnpm format
|
||||
|
||||
# Run unit tests
|
||||
pnpm test:unit
|
||||
```
|
||||
|
||||
## Project Architecture
|
||||
|
||||
This is a **Multi-Agent Coordination Platform** (多智能体协同平台) built with Vue 3, TypeScript, and Vite. The application enables users to create and manage AI agents with specialized roles and coordinate them to complete complex tasks through visual workflows.
|
||||
|
||||
### Tech Stack
|
||||
- **Vue 3** with Composition API and TypeScript
|
||||
- **Vite** for build tooling and development
|
||||
- **Element Plus** for UI components
|
||||
- **Pinia** for state management
|
||||
- **Tailwind CSS** for styling
|
||||
- **Vue Router** for routing (minimal usage)
|
||||
- **JSPlumb** for visual workflow connections
|
||||
- **Axios** for API requests with custom interceptors
|
||||
|
||||
### Key Architecture Components
|
||||
|
||||
#### State Management (`src/stores/modules/agents.ts`)
|
||||
Central store managing:
|
||||
- Agent definitions with profiles and icons
|
||||
- Task workflow data structures (`IRawStepTask`, `TaskProcess`)
|
||||
- Search functionality and current task state
|
||||
- Raw plan responses with UUID generation for tasks
|
||||
|
||||
#### Request Layer (`src/utils/request.ts`)
|
||||
Custom Axios wrapper with:
|
||||
- Proxy configuration for `/api` -> `http://localhost:8000`
|
||||
- Response interceptors for error handling
|
||||
- `useRequest` hook for reactive data fetching
|
||||
- Integrated Element Plus notifications
|
||||
|
||||
#### Component Structure
|
||||
- **Layout System** (`src/layout/`): Main application layout with Header and Main sections
|
||||
- **Task Templates** (`src/layout/components/Main/TaskTemplate/`): Different task types including AgentRepo, TaskSyllabus, and TaskResult
|
||||
- **Visual Workflow**: JSPlumb integration for drag-and-drop agent coordination flows
|
||||
|
||||
#### Icon System
|
||||
- SVG icons stored in `src/assets/icons/`
|
||||
- Custom `SvgIcon` component with vite-plugin-svg-icons
|
||||
- Icon categories include specialist roles (doctor, engineer, researcher, etc.)
|
||||
|
||||
### Build Configuration
|
||||
|
||||
#### Vite (`vite.config.ts`)
|
||||
- Element Plus auto-import and component resolution
|
||||
- SVG icon caching with custom symbol IDs
|
||||
- Proxy setup for API requests to backend
|
||||
- Path aliases: `@/` maps to `src/`
|
||||
|
||||
#### Docker Deployment
|
||||
- Multi-stage build: Node.js build + Caddy web server
|
||||
- API proxy configured via Caddyfile
|
||||
- Environment variable support for different deployment modes
|
||||
|
||||
### Data Models
|
||||
Key interfaces for the agent coordination system:
|
||||
- `Agent`: Name, Profile, Icon
|
||||
- `IRawStepTask`: Individual task steps with agent selection and inputs
|
||||
- `TaskProcess`: Action descriptions with important inputs
|
||||
- `IRichText`: Template-based content formatting with style support
|
||||
|
||||
### Development Notes
|
||||
- Uses pnpm as package manager (required by package.json)
|
||||
- Node version constraint: ^20.19.0 or >=22.12.0
|
||||
- Dark theme enabled by default in App.vue
|
||||
- Auto-imports configured for Vue APIs
|
||||
- No traditional Vue routes - uses component-based navigation
|
||||
Reference in New Issue
Block a user