chore: lint hardening, prettier and CI quality gates - #9
Conversation
There was a problem hiding this comment.
🤖 Codesema Code Review — ✅ Approuvé
MR de type "chore" : mise en place de l'outillage qualité (oxlint, prettier + tri des imports, lefthook, publint) et d'un workflow CI "Quality", suivie du reformatage mécanique de tout le paquet CLI. Les changements sont massifs mais uniformes et sans risque (accolades curly, retours à la ligne, tri des imports, sort()→toSorted(), suppression des assertions non-null). Trois modifications réellement comportementales, toutes des améliorations : purge des variables GIT_* de localisation dans git.ts (avec test dédié), gestion d'erreur explicite dans record.ts, et flatMap défensif dans fix.ts. Aucune déviation de convention ; le MR améliore même C3 en ajoutant git.test.ts. Réserve : le diff est tronqué (~200 Ko) et la fin de serve.ts n'est pas visible — à confirmer, mais le changement visible y est un simple ré-ordonnancement d'imports.
2 points relevés
- INFO
packages/cli/src/git.ts:21— subprocessEnv retire exactement les 8 variables GIT_* qui redirigent la localisation du dépôt (GIT_DIR, GIT_WORK_TREE, GIT_INDEX_FILE, …) tout en préservant les réglages utilisateur légitimes (GIT_SSH_COMMAND, GIT_AUTHOR_/GIT_COMMITTER_, GIT_CONFIG_GLOBAL). C'est exactement la bonne défense au moment où ce MR ajoute des hooks lefthook : sans elle, un hook englobant ferait pointer chaque appel git hors du cwd. Le comportement est couvert par git.test.ts (redirection purgée, réglages conservés, défaut sur process.env). - INFO
packages/cli/src/record.ts:83— buildRecord remplacesanitizeRecord(...)!par un contrôle explicite qui lève l'erreur i18nrecord.invalidJson: une sortie d'agent au JSON invalide produit désormais un message clair et localisé au lieu d'un crash cryptique en aval (accès.reviewsur undefined).
🤝 MR approuvée par @getCodesema[bot].
👉 Voir la review complète (diff annoté + explications)
Review générée automatiquement par l'agent Codesema.
Hardens the toolchain across the monorepo, rebased on develop (0.10.0):
Merge with develop resolved by taking develop's 0.9/0.10 code and re-deriving the mechanical hardening (prettier, oxlint --fix, strict signatures). Local run: lint 0 errors, typecheck 0 errors, 376 tests pass.
🤖 Generated with Claude Code