d824d16eedd94c0da1d74d509b6a1ca310d52e45
Compose de prod docker-compose.prod.yml (GitOps, sans env_file, réseau proxy réel, certresolver letsencrypt) + runbook docs/deploy.md (Phase 1, users chlova restreints Portainer/n8n). Surface Telegram rendue optionnelle pour un déploiement UI-only ; garde assertHasSurface fail-closed. Typecheck + 78 tests verts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016w5jRe87MGdd6AMvXQcHNi
CHLOVA
Assistant personnel (style Jarvis). Couche d'orchestration au-dessus d'un homelab Debian + Docker + Traefik existant. Le cerveau est un LLM en boucle tool-calling qui agit via des outils MCP (n8n, Portainer) et parle aux modèles Ollama cloud.
Voir
CLAUDE.mdpour l'architecture et les règles non négociables.
État
- Phase 0 — socle (en cours) : structure, sécurité, conventions, compose.
- Phase 1 — cerveau lecture seule : orchestrateur + MCP read-only + texte.
- Phases 2+ : non implémentées (écriture, need-review, voix, auto-extension).
Structure
| Dossier | Rôle |
|---|---|
docs/ |
Architecture, sécurité, versioning, paliers de risque, gabarit d'asset |
infra/ |
docker-compose de la stack + socket-proxy + notes réseau |
orchestrator/ |
Le cerveau (TypeScript/Node, Fastify) + API |
web/ |
UI web/PWA (React/Vite/Tailwind) — chat, review, voix |
mobile/ |
App mobile (React Native / Expo) — chat, review |
workflows-n8n/ |
Exports JSON des workflows (le dépôt fait foi) |
Démarrage (dev)
À compléter en fin de Phase 1. Pré-requis : Node 22, Docker. Copier
.env.example → .env, renseigner les secrets (jamais commités).
Sécurité
Seul le backend CHLOVA est exposé. Ollama/n8n/Portainer restent sur le réseau
Docker interne. Secrets via env/coffre uniquement. Voir [docs/security.md].
Description
Languages
TypeScript
97.9%
Dockerfile
1.2%
CSS
0.7%
HTML
0.2%