Aller au contenu

Onboarder un arrivant sur un dépôt

Faire concevoir par le modèle un cours d'accueil sur une zone du code, le faire relire par un expert, le suivre, et le garder à jour.

Un nouveau développeur rejoint l’équipe sur un dépôt de grande taille. Vous faites concevoir par le modèle 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. Un bloc [lecture du code] est une interprétation du modèle, dite comme telle. Les citations sont attachées par le code, pas par le modèle : un bloc dont les références sont inconnues est rétrogradé en lecture du code.

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 — 41 blocs sourcés, 12 en lecture du code

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.

Le cours est construit par lecture des fichiers de la zone et de l’historique du dépôt, à la demande : aucun index du code n’est constitué (livre blanc sécurité V3, section 11.3). Une fois dans le dépôt, le fichier du cours est un contenu de la copie de travail comme un autre : le tuteur le lit comme une donnée, et ce qu’il contient n’ajoute aucun outil ni aucun droit à la session (livre blanc sécurité V3, section 5.2).

Le modèle rédige ; un membre de l’équipe qui connaît la zone corrige :

Fenêtre de terminal
lemni onboard review

Les questions posées par les arrivants (voir §3) passent en premier : votre réponse est intégrée au chapitre concerné et sert à 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 du modèle restant lisible dessous), r rejette avec un motif, et Entrée passe. 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, familiarité avec le domaine, partie du code 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 :

  • une ligne qui commence par ? 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. Cette commande est inscrite dans le fichier du cours, donc lue dans le dépôt : elle passe par la politique de commandes du projet comme toute autre, libre si l’administrateur l’a listée, soumise à votre validation sinon, et s’exécute dans le bac à sable de la session (livre blanc sécurité V3, section 5.1) ;
  • chaque chapitre se clôt par une restitution : l’arrivant explique avec ses mots, le modèle compare aux attendus et corrige. La réponse n’est pas stockée ;
  • q quitte en sauvegardant.

Le chapitre final est une contribution réelle, 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 », 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 à la passerelle ; le modèle n’est sollicité qu’aux restitutions et aux questions au tuteur.