Build pack : coder Vivra avec Claude Code
Les autres parties de ce GitBook disent quoi construire. Cette partie dit comment le faire construire par Claude Code, ticket par ticket, avec des critères de fin vérifiables par commande.
Les pages pour l'IA (CLAUDE.md, conventions, tickets) sont en anglais : c'est la langue du code, et ça évite les ambiguïtés entre le texte et les noms de fichiers ou de fonctions. Le reste de la doc reste en français et fait foi pour les règles produit.
Ce que contient le pack#
| Page | Rôle |
|---|---|
| CLAUDE.md | Le fichier à poser à la racine du repo de code. Contexte, stack figée, commandes, règles non négociables. |
| Conventions | Structure des dossiers, nommage, erreurs, tests, sécurité, format des PR. |
| M0 · Fondations | Monorepo, base de données, chaîne, API, workers. |
| M1 · Analyse des projets | Lecture on-chain d'un token soumis, cible, sécurité, score de reprise, back-office. |
| M2 · Agents | Client LLM, runner, outils, orchestrateur, file de validation, les 6 agents. |
| M3 · On-chain et argent | Contrat BuybackBurner, Buyback Bot, trésorerie, registre, suivi du CTO Pons. |
| M4 · Produit | Connexion email, cycles et vote, dapp, landing, posts automatiques. |
| M5 · Lancement | Alertes, répétition d'un cycle complet sur fork, check-list de lancement. |
Chaque ticket a le même format :
- Goal : le résultat en une phrase.
- Depends on : les tickets à finir avant.
- Read first : les pages de la spec à lire avant de coder.
- Build : les fichiers à créer ou modifier.
- Steps : les étapes dans l'ordre, avec les interfaces exactes.
- Done when : la liste de contrôle, chaque point vérifiable par une commande ou un test.
- Out of scope : ce qu'il ne faut pas faire dans ce ticket.
Mise en place (une fois)#
- Créer le repo du code
vivra(privé), et cloner les deux repos côte à côte :mkdir vivra-workspace && cd vivra-workspace git clone git@github.com:sonnyHQ/vivra-doc.git git clone git@github.com:<org>/vivra.git - Copier
CLAUDE.template.mddansvivra/CLAUDE.mdet le commiter. - Créer
vivra/.envà partir de.env.example(ticket T00) avec les clés de l'annexe F. Jamais commité. - Lancer Claude Code dans
vivra/:claude.
La boucle de travail (pour chaque ticket)#
Ouvrir une session Claude Code dans
vivra/et lui donner ce prompt, en changeant le numéro :Implement ticket T14 from ../vivra-doc/build-m1.md. Read the ticket and every page listed in "Read first" before writing code. Start by writing your plan (files, functions, tests). Then implement it, run the "Done when" checks, and open a PR named "T14: <title>" with the checklist ticked. If anything in the spec is unclear or contradictory, stop and ask me.Relire le plan avant qu'il code. C'est là qu'on rattrape 90 % des erreurs.
Quand Claude a fini : relancer soi-même
pnpm lint && pnpm typecheck && pnpm testet les vérifications du ticket.Relire la PR, merger, passer au ticket suivant.
Règles simples qui évitent les dérapages :
- Un ticket par session. Une nouvelle session pour chaque ticket garde le contexte propre.
- L'ordre compte. Les tickets d'un jalon dépendent souvent des précédents (champ « Depends on »).
- Les tickets marqués 🔒 touchent à l'argent ou aux clés. Relecture humaine ligne par ligne, et tests sur testnet avant tout merge.
- Les tickets marqués ⚠️ Pons dépendent d'une ABI ou d'une réponse de Pons pas encore confirmée (questions ouvertes). Claude doit s'arrêter sur ces points et demander.
Jalons et portes de sortie#
| Jalon | Tickets | Porte de sortie |
|---|---|---|
| M0 | T00 à T04 | pnpm dev démarre tout en local, migrations OK, CI verte |
| M1 | T10 à T16 | une adresse testnet soumise donne une analyse complète en moins de 10 min |
| M2 | T20 à T29 | une opération complète simulée sur un token testnet, toutes les sorties dans la file de validation |
| M3 | T30 à T33 | 23 tranches exécutées et brûlées sur testnet, registre exact au wei près |
| M4 | T40 à T44 | un cycle complet sur testnet : publication, vote email, clôture, opération créée |
| M5 | T50 à T52 | répétition d'un cycle entier sur fork mainnet sans incident bloquant |