SynergyBuilder

Conventions

Comment travailler sur le repo sans se prendre les pieds dans le tapis.

Tests

On teste uniquement la logique pure de lib/ : filtres, geo, search, synergies, admin, validation d’input.

  • Fichiers colocalisés : *.test.ts
  • Runner : bun test
  • Style : describe / test / expect (bun:test)

Nouvelle feature : extraire validation / dérivation / merge dans lib/, couvrir par un test, laisser routes et JSX de côté.

Git

Le repo utilise GitButler.

  • Commit : but commit -m "message" (pas git commit)
  • Push : but push
  • PR : gh pr create (pas but pr)
  • Pas de ligne Co-Authored-By ni d’attribution IA dans les commits

Migrations

Drizzle applique toute entrée du journal dont le when est au-dessus du watermark (max(created_at)), lu une seule fois. Il ne compare pas les hashes.

Ne jamais modifier le when d’une migration déjà appliquée quelque part. Ça la rejoue sur un schéma où elle existe déjà, et drizzle-kit migrate sort en exit 1 sans message utile.

  • Générer une migration : OK
  • L’appliquer en preview pour valider : OK
  • L’appliquer en prod : seulement sur demande explicite

Auth, en une phrase

requireLicensedUser → puis, si on touche un établissement, guardCompanyAccess. Les modules interdits aux agents territoire passent par requireNonTerritoryUser.

On this page