Aller au contenu

Onboarder un arrivant sur un dépôt

Un nouveau développeur rejoint l’équipe et le dépôt est grand. Plutôt que de lui tendre le README et un lien vers le code, vous faites concevoir par l’IA un cours d’accueil sur la zone où il va travailler : une carte du système, une histoire de bout en bout, des modules dans l’ordre des prérequis, et une première contribution réelle pour finir.

Chaque affirmation du cours affiche sa provenance. Un bloc [sourcé] s’appuie sur une preuve du dépôt — commit, passage de spec, commentaire de code — et la citation est affichée, vérifiable. Un bloc [lecture du code] est une interprétation du modèle, dite comme telle. Le modèle ne peut pas fabriquer une citation : c’est le code qui les attache, jamais lui.

Fenêtre de terminal
lemni onboard build core/facturation

La commande affiche d’abord ce qu’elle a trouvé — combien de fichiers lus, combien de preuves, et quelle commande de vérification elle a détectée pour la zone (le script de test de son manifeste) :

Zone : core/facturation (core/facturation)
Socle : 34 fichiers source lus, 87 preuves trouvées
Acte de vérification : `npm run vitest` dans `core` (déduit de core/package.json)
Conception du cours par <modèle>…
Cours écrit : .lemniscate/onboarding/core-facturation/cours.yaml — 7 chapitres, 15 leçons

Le cours est un fichier YAML versionné dans le dépôt : commitez-le. Il est relisible, diffable, et corrigeable à la main.

Si aucune commande de vérification n’est détectée, le cours ne promet aucune commande et ne contient pas d’exercices — un exercice invérifiable serait une lecture déguisée.

Le modèle rédige, un membre de l’équipe qui connaît la zone corrige — jamais de page blanche :

Fenêtre de terminal
lemni onboard review

Les questions posées par les arrivants (voir §3) passent en premier : votre réponse est retissée dans le chapitre concerné et servira à tous les suivants. Puis chaque leçon en brouillon défile : v valide, c ajoute une correction — un bloc signé de votre nom, le texte de l’IA restant lisible dessous — et r rejette avec un motif ; une leçon rejetée disparaît du parcours. Le cours est réécrit après chaque décision : une relecture interrompue n’en perd aucune.

Fenêtre de terminal
lemni onboard

La session est conversationnelle et reprend où elle s’était arrêtée. Elle commence par trois questions de profil (familiarité avec la stack, avec le domaine, zone de travail prévue) — rien de nominatif n’est stocké, et aucun échec n’est enregistré : la progression ne connaît que ce qui est vu et réussi.

Pendant la lecture :

  • ?suivi d'une question interroge le tuteur : il répond depuis le contenu du chapitre et ses citations. Ce qu’il ne peut pas fonder part dans la file vers l’expert, sans nom d’auteur.
  • Les micro-exercices sont vérifiés en lançant la commande de vérification de la zone — le verdict est son code de sortie, pas une opinion.
  • Chaque chapitre se clôt par une restitution : l’arrivant explique avec ses mots, le modèle compare aux attendus et corrige immédiatement. La réponse n’est stockée nulle part.
  • q quitte en sauvegardant.

Le chapitre final est une vraie contribution, cadrée. Il ne se clôt que sur une preuve composite : la zone a bougé et la commande de vérification passe.

Le code bouge ; le cours est ancré dedans. En CI ou à la main :

Fenêtre de terminal
lemni onboard check

Chaque leçon est ancrée sur des symboles du code avec une empreinte. Si un symbole a changé ou disparu, la leçon est rouverte « à revoir » — pas déclarée fausse — et la commande sort en code non nul : c’est un signal de relecture (lemni onboard review), pas un échec de build. Le même changement ne rouvre une leçon qu’une seule fois.

  • « aucun cours dans .lemniscate/onboarding/ » — lancez d’abord lemni onboard build <chemins...> et commitez le résultat.
  • « plusieurs cours disponibles » — précisez la zone : lemni onboard <zone>.
  • « aucun modèle trouvé » — le poste n’est pas routé vers une passerelle qui porte un modèle : suivez Router l’IDE vers la passerelle. Lire les leçons ne demande aucun appel réseau ; le modèle n’est sollicité qu’aux restitutions et aux questions au tuteur.