veza/README.md
2026-03-05 23:03:43 +01:00

2.4 KiB

Veza Monorepo

CI

Version cible : v0.101 (stabilisation en cours). Voir 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.

# 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 for required variables. make build builds all services.

Quick Start

Frontend

cd apps/web
npm install
npm run dev

Desktop (Optional)

Requires apps/web to be running.

cd veza-desktop
npm install
npm run dev

Docker Production

Canonical production compose file: docker-compose.prod.yml

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.

CI/CD

  • Badge : CI status above. Set SLACK_WEBHOOK_URL (Incoming Webhook) in repo secrets to receive Slack notifications on failure.

Documentation

  • Developer Onboarding — Setup, architecture, conventions, troubleshooting
  • Documentation index — Index complet de la documentation
  • See docs/ for detailed architecture and development guides. Older audits and reports are archived in docs/archive/.