Add development guide with setup instructions
This commit is contained in:
parent
04e6c062a5
commit
b65d42aaf0
136
DEVELOPMENT.md
Normal file
136
DEVELOPMENT.md
Normal file
@ -0,0 +1,136 @@
|
||||
# Development Guide
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Node.js 18+ installed
|
||||
- npm or yarn package manager
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
agora-ai/
|
||||
├── frontend/ # Vue.js 3 + Vite application
|
||||
├── backend/ # Node.js + Express API server
|
||||
├── LICENSE # MIT License
|
||||
└── README.md # Project documentation
|
||||
```
|
||||
|
||||
## Getting Started
|
||||
|
||||
### 1. Backend Setup
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
|
||||
# Install dependencies
|
||||
npm install
|
||||
|
||||
# Create .env file (copy from .env.example)
|
||||
cp .env.example .env
|
||||
|
||||
# Edit .env and add your Mistral API key
|
||||
# MISTRAL_API_KEY=your_key_here
|
||||
|
||||
# Start the backend server
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The backend will run on `http://localhost:3000`
|
||||
|
||||
### 2. Frontend Setup
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
|
||||
# Install dependencies
|
||||
npm install
|
||||
|
||||
# Create .env file (copy from .env.example)
|
||||
cp .env.example .env
|
||||
|
||||
# Start the development server
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The frontend will run on `http://localhost:5173`
|
||||
|
||||
## Available Scripts
|
||||
|
||||
### Backend
|
||||
|
||||
- `npm start` - Start the server
|
||||
- `npm run dev` - Start the server with auto-reload (Node.js --watch)
|
||||
|
||||
### Frontend
|
||||
|
||||
- `npm run dev` - Start development server with HMR
|
||||
- `npm run build` - Build for production
|
||||
- `npm run preview` - Preview production build
|
||||
|
||||
## API Endpoints
|
||||
|
||||
### Health Check
|
||||
```
|
||||
GET /api/health
|
||||
```
|
||||
|
||||
### Create Debate
|
||||
```
|
||||
POST /api/debate
|
||||
Body: { "prompt": "Your project description" }
|
||||
```
|
||||
|
||||
### Get Debate
|
||||
```
|
||||
GET /api/debate/:id
|
||||
```
|
||||
|
||||
### Add Response
|
||||
```
|
||||
POST /api/debate/:id/response
|
||||
Body: { "agentRole": "architect", "content": {...} }
|
||||
```
|
||||
|
||||
## WebSocket Connection
|
||||
|
||||
The backend supports WebSocket connections for real-time updates. Connect to:
|
||||
```
|
||||
ws://localhost:3000
|
||||
```
|
||||
|
||||
## Database
|
||||
|
||||
The project uses SQLite for data storage. The database file is automatically created at:
|
||||
```
|
||||
backend/data/agora.db
|
||||
```
|
||||
|
||||
Schema:
|
||||
- `debates` - Stores project prompts and debate metadata
|
||||
- `responses` - Stores AI agent responses for each debate
|
||||
|
||||
## Technology Stack
|
||||
|
||||
### Frontend
|
||||
- Vue.js 3 (Composition API)
|
||||
- Vite
|
||||
- Pinia (State Management)
|
||||
- Radix Vue (Headless UI Components)
|
||||
- Mermaid.js (Diagrams)
|
||||
- VueUse (Utilities)
|
||||
|
||||
### Backend
|
||||
- Node.js + Express
|
||||
- WebSocket (ws)
|
||||
- SQLite (better-sqlite3)
|
||||
- Helmet (Security)
|
||||
- CORS
|
||||
- Express Rate Limit
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. Implement Mistral AI integration for agent responses
|
||||
2. Add WebSocket real-time communication
|
||||
3. Implement Mermaid diagram rendering
|
||||
4. Add voting and consensus mechanisms
|
||||
5. Create export functionality (JSON, Markdown, PDF)
|
||||
Loading…
x
Reference in New Issue
Block a user