Onboarder un nouveau client¶
Le parcours central du produit : partir de zéro et obtenir un contexte que ton agent applique correctement.
Compte une heure la première fois, dont la majeure partie à rassembler les sources. Les fois suivantes, quinze minutes.
Vue d'ensemble¶
flowchart LR
A[1. Créer] --> B[2. Alimenter]
B --> C[3. Extraire]
C --> D[4. Consolider]
D --> E[5. Réviser]
E --> F[6. Livrer]
F -.nouvelle source.-> B
1. Créer le client¶
L'assistant pose trois questions. La troisième compte plus que les autres.
| Question | Pourquoi |
|---|---|
| Identifiant court | Sert partout ensuite : acme, nordwind |
| Nom du client | Affichage |
| Ta mission chez eux | Oriente l'extraction |
Soigne la mission
Ce champ est injecté dans chaque appel d'extraction. « Développement backend Go sur le service de paiement et sa CI » produit un corpus nettement plus utile que « développement ». Le modèle s'en sert pour trancher entre ce qui mérite d'être extrait et ce qui est hors sujet.
Elle se corrige à tout moment ; relance simplement aim extract --force ensuite.
2. Alimenter¶
Tout ce qui est pertinent, sous n'importe quelle forme. AIM ne fait aucune différence entre cinq documents Word sur SharePoint, trente pages de wiki exportées et un site de documentation complet : tout arrive sous forme de fichiers, la conversion et la classification sont automatiques.
L'ordre qui rapporte¶
Si tu veux le maximum de valeur au minimum d'effort :
-
Le dépôt principal — environ 50 % de la valeur, et c'est un chemin à coller.
-
Le guide d'onboarding et le guide de développement — environ 25 %. C'est là que vivent les conventions non devinables.
-
Les pages d'architecture et de livraison — environ 15 %.
-
Les instructions reçues par mail ces trois derniers mois — environ 10 %, mais souvent les 10 % qui évitent les erreurs les plus coûteuses : un mail corrige fréquemment une documentation restée en l'état.
--no-extract sert à tout déposer d'abord et n'extraire qu'une fois, à la fin.
Ce que fait AIM d'un dépôt¶
Un dépôt est la source la plus fiable et la plus volumineuse. AIM n'ingère pas le code ligne à ligne : il en extrait six signaux de structure.
| Signal | Ce qu'il révèle |
|---|---|
profile |
Découpage des dossiers, langages, volumes |
dependencies |
Technos et versions qui font foi |
delivery |
CI, Dockerfile, Makefile, pipelines |
docs |
READMEs, ADRs, guides internes du dépôt |
conventions |
Échantillon de chemins réels, configuration de lint |
history |
120 derniers messages de commit, branches, contributeurs |
Tu peux donc pointer un monorepo de 500 000 lignes sans exploser les coûts.
Le code du client ne quitte pas ta machine
Ces signaux sont calculés localement, par le CLI. Seuls les résumés partent vers la plateforme. C'est un argument utile en comité de sécurité côté client.
Ce qu'il ne faut pas donner¶
Le système part du principe que tu ne lui donnes que du pertinent et du à jour. Il ne trie pas mille pages pour en garder douze.
Écarte : les documents périmés, les comptes-rendus sans décision, les pages de projet sans conséquence technique, la documentation d'outils standards.
Quand un pack devient bruyant, la réponse est presque toujours retirer une source, pas régler l'extraction.
3. Extraire¶
L'extraction tourne côté serveur et diffuse sa progression en direct.
Extraction des faits…
✓ guide-dev-backend — 15 faits
✓ architecture-paiements — 8 faits
✓ 2026-05-02 - politique de branches — 5 faits
✓ conventions — 4 faits
…
58 faits créés, 0 corroborés, 0 dédoublonnés (0 documents inchangés).
Compte environ une minute pour une dizaine de documents.
Idempotence
Un document dont le contenu n'a pas changé n'est jamais réextrait. Relancer
aim extract après avoir ajouté une seule source ne coûte que cette source.
--force passe outre.
4. Consolider¶
Fusionne les redites entre sources et signale les contradictions sans les trancher.
stack : 2 fusionnés, 0 en conflit
convention : 5 fusionnés, 0 en conflit
architecture : 2 fusionnés, 0 en conflit
9 faits absorbés, 0 marqués en conflit.
Sur un corpus typique, attends-toi à perdre 20 à 30 % des faits — c'est le signe que plusieurs sources se recoupaient, pas une perte d'information : les provenances sont conservées et la confiance monte.
5. Réviser¶
Un fait à la fois, avec sa provenance sous les yeux :
1/41 constraint 0.95
Ne jamais modifier un script de migration Flyway déjà mergé sur main.
portée : db/migration/**
← guide-dev-backend.md : « Ne modifie jamais un script de migration déjà mergé »
[a]pprouver · [r]ejeter · [e]diter · [s]auter · [q]uitter
Cette étape est facultative au premier passage — les faits candidate entrent dans
le pack — mais c'est elle qui fait la différence entre un contexte correct et un
contexte dont tu es sûr.
Priorise : commence par aim review --type constraint, puis convention. Le
glossaire peut attendre.
6. Livrer¶
Ouvre CLAUDE.md et lis-le en entier. C'est le meilleur contrôle qualité qui soit :
tu sauras en deux minutes si l'extraction a compris le client.
Et ensuite¶
Le contexte n'est pas figé. Chaque fois que tu découvres quelque chose :
Deux commandes, quelques secondes, et l'agent est à jour.
Si le résultat déçoit¶
| Symptôme | Cause probable | Remède |
|---|---|---|
| Peu de faits | Sources trop descriptives, pas normatives | Ajouter un guide de développement, un dépôt |
| Faits génériques | Mission trop vague | Préciser la mission, aim extract --force |
| Règles fausses | Source périmée | Retirer le document, aim extract --force |
| Pack bruyant | Trop de sources | En retirer, ou baisser max_lines |
| Règles jamais appliquées par l'agent | Portées inventées | Voir Limites connues |