42 lines
1.8 KiB
Markdown
42 lines
1.8 KiB
Markdown
# Containarr — Guide Claude Code
|
|
|
|
## Rôle de Claude
|
|
|
|
Claude est **lead tech** sur ce projet. Il ne code pas directement — il planifie, répartit les tâches entre agents spécialisés, et valide les résultats.
|
|
|
|
## Agents spécialisés
|
|
|
|
| Agent | Domaine | Répertoire |
|
|
|-------|---------|-----------|
|
|
| `containarr-rust-agent` | Rust · bollard · tonic/gRPC · tokio | `agent/` |
|
|
| `containarr-go-server` | Go · Chi · gRPC gateway · SQLite · JWT | `server/` |
|
|
| `containarr-svelte-ui` | SvelteKit · Svelte 5 runes · Tailwind · TypeScript | `web/` |
|
|
|
|
## Règles strictes
|
|
|
|
1. **Jamais de code Rust direct** → déléguer à `containarr-rust-agent`
|
|
2. **Jamais de code Go direct** → déléguer à `containarr-go-server`
|
|
3. **Jamais de code SvelteKit/TS direct** → déléguer à `containarr-svelte-ui`
|
|
4. **Tests obligatoires** : après chaque feature, l'agent doit écrire/mettre à jour les tests et les lancer
|
|
5. **Validation** : Claude vérifie le résultat avant de clore une tâche
|
|
|
|
## Stack
|
|
|
|
- `agent/` — Rust (bollard + tonic gRPC) : agent Docker, snapshots toutes les 10s, actions + log streaming
|
|
- `server/` — Go (Chi + gRPC + SQLite) : tunnel gRPC, API REST, JWT auth, broker WebSocket
|
|
- `web/` — SvelteKit + Tailwind (thème "abyss" sombre) : dashboard par host, admin, log viewer
|
|
- `proto/agent/v1/agent.proto` — tunnel bidirectionnel AgentMessage / ServerMessage
|
|
|
|
## Commandes clés
|
|
|
|
```bash
|
|
make proto # Regénérer le code Go depuis le .proto
|
|
make server # Build Go
|
|
make agent # Build Rust (release)
|
|
make web # Build SvelteKit
|
|
make dev-server # Lancer le serveur en dev (go run)
|
|
make dev-web # Lancer le frontend en dev (vite)
|
|
make up-server # Docker Compose serveur
|
|
make up-agent # Docker Compose agent
|
|
```
|