Contribuer
Standards de code
À quoi le code doit ressembler et comment il doit se comporter dans ce repo.
Outillage
- bun fmt formate et bun lint analyse le code, avec Biome pour les règles que bun lint n'a pas (a11y et quelques autres). Lance
bun run lint:checketbun run format. - Mode strict TypeScript.
anyest autorisé mais signalé par un avertissement. Les variables/imports inutilisés sont des erreurs. - Pas de débat tabulations vs espaces : bun fmt impose les tabulations et une largeur de ligne de 120 caractères (
bunfig.toml).
Conventions
- Préfère les exports nommés aux exports par défaut
- Colocalise les tests avec la source :
foo.ts+foo.test.ts - Les hooks vont dans
hooks/, les composants danscomponents/, les fichiers de routes dansroutes/ - Le code côté serveur n'importe jamais depuis des chemins client uniquement (et vice versa)
Quoi va où
- Logique vraiment partagée →
packages/core - Logique web uniquement →
apps/web/src - Logique API uniquement →
apps/api/src - Tout ce qui est conscient de la plateforme (stockage d'authentification, fetch) →
packages/api-client/{web,mobile}
À éviter
- N'ajoute pas de
console.logdans le code committé ; utilise leloggerde@routess/core - N'introduis pas de nouvelle bibliothèque d'état ; Zustand et React Query suffisent
- N'ajoute pas de bibliothèque CSS-in-JS ; nous avons Tailwind v4 + design tokens