# Veza Monorepo **Version cible** : v0.101 (stabilisation en cours). Voir [docs/V0_101_RELEASE_SCOPE.md](docs/V0_101_RELEASE_SCOPE.md) pour le périmètre. ## Project Structure - **`apps/web`**: The main frontend application (React + Vite). **This is the single source of truth for the UI.** - **`veza-desktop`**: A thin Electron wrapper that loads `apps/web`. It creates the native desktop experience. - **`veza-backend-api`**: Main Go API service. - **`veza-stream-server`**: Rust streaming server. - **`veza-chat-server`**: Rust chat server. ## Development Setup (v0.9.3) Prerequisites: Node 20 (see `.nvmrc`), Go, Rust, Docker. Configure `.env` from `.env.example`. ```bash # Verify environment make doctor ./scripts/validate-env.sh development # Install dependencies make install-deps # Option A — Backend in Docker + Web local make dev # Option B — All apps local with hot reload (infra from docker-compose.dev.yml) make dev-full # Option C — Infra only, then run services manually docker compose -f docker-compose.dev.yml up -d make dev-web # or make dev-backend-api, make dev-stream-server ``` See [docs/ENV_VARIABLES.md](docs/ENV_VARIABLES.md) for required variables. `make build` builds all services. ## Quick Start ### Frontend ```bash cd apps/web npm install npm run dev ``` ### Desktop (Optional) Requires `apps/web` to be running. ```bash cd veza-desktop npm install npm run dev ``` ## Docker Production **Canonical production compose file**: `docker-compose.prod.yml` ```bash docker compose -f docker-compose.prod.yml up -d ``` **Deprecated** (use docker-compose.prod.yml): - `docker-compose.production.yml` — legacy, may be removed - `config/docker/docker-compose.production.yml` — legacy config See `make/config.mk` for COMPOSE_PROD and deployment docs. ## Documentation - **[Developer Onboarding](docs/ONBOARDING.md)** — Setup, architecture, conventions, troubleshooting - **[Documentation index](docs/README.md)** — Index complet de la documentation - See `docs/` for detailed architecture and development guides. Older audits and reports are archived in `docs/archive/`.