Skip to content

chore: lint hardening, prettier and CI quality gates - #9

Merged
naashw merged 11 commits into
developfrom
chore/durcissement-lint
Jul 31, 2026
Merged

chore: lint hardening, prettier and CI quality gates#9
naashw merged 11 commits into
developfrom
chore/durcissement-lint

Conversation

@naashw

@naashw naashw commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Hardens the toolchain across the monorepo, rebased on develop (0.10.0):

  • oxlint hardened config and violation fixes (curly, no-shadow, no-non-null-assertion, prefer-set-has)
  • prettier + editorconfig + lefthook pre-push hooks (test, typecheck)
  • stricter tsconfig: exactOptionalPropertyTypes and friends
  • CI quality workflow: lint, format check, typecheck, tests, publint
  • fix: strip inherited GIT_DIR/GIT_WORK_TREE from git subprocess env (scoped to repo-targeting variables)
  • fix: extract multi-statement click handlers in ReviewShell

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

Comment thread .github/workflows/quality.yml Fixed

@getcodesema getcodesema Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 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 remplace sanitizeRecord(...)! par un contrôle explicite qui lève l'erreur i18n record.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 .review sur 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.

@naashw
naashw merged commit 85617b7 into develop Jul 31, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants