Contribuer
Le guide complet est .github/CONTRIBUTING.md, et c’est lui qui fait référence. Cette page présente les grandes étapes, pour que vous sachiez à quoi vous attendre avant de cloner le dépôt. Le code, les commentaires et la documentation s’écrivent en anglais ; l’interface existe en français et en anglais, le français étant la langue d’origine.
Pour une question plutôt qu’une modification, passez par les Discussions, de même si vous n’arrivez pas à installer Badlen. Le gestionnaire d’issues accueille les bugs reproductibles et les demandes de fonctionnalité ; Obtenir de l’aide indique à qui adresser chaque type de demande.
Faire tourner le projet
Section intitulée « Faire tourner le projet »Il vous faut Node, pnpm et Docker pour le PostgreSQL local. Le dépôt fixe les versions :
le champ engines de package.json donne la version minimale de Node, et packageManager
celle de pnpm, que Corepack installe pour vous.
-
pnpm install, puisdocker compose -f docker-compose.dev.yml up -dpour la base de données. Cette pile tourne sous son propre projet compose : elle peut cohabiter avec une instance auto-hébergée. -
Copiez
apps/api/.env.exampleversapps/api/.envet renseignez ses secrets, sans quoi l’étape suivante échoue sur une URL de base de données vide. -
pnpm --filter @badlen/shared build, avant toute vérification de types : l’API utilise ce paquet sous sa forme compilée. -
pnpm --filter @badlen/api exec prisma migrate devpour le schéma, puispnpm dev, qui sert l’API sur:3001et l’application web sur:5173.
L’espace de travail compte huit paquets : apps/api (NestJS, Prisma), apps/web
(React, Vite, Tailwind), apps/demo (la démo en ligne), packages/shared (les types du
domaine, le schéma d’import, les montants en Decimal), packages/mcp, docs (Astro et
Starlight), c’est-à-dire ce site, site, la page d’accueil de badlen.fr, et
packages/brand, ce que ces deux-là partagent ; à côté, tools/ contient les balayages à
lancer sur une instance en service.
Ce site vit dans le même dépôt que le code qu’il documente. Ses pages sont les fichiers
Markdown de docs/src/content/docs/, leur version française ceux de
docs/src/content/docs/fr/, et pnpm --filter @badlen/docs dev sert
l’ensemble. L’anglais fait foi et le français suit ; pnpm translations indique quelles
pages ont pris du retard. Le guide détaille le reste, dans la section The documentation
site.
Les contrôles
Section intitulée « Les contrôles »Une seule commande, depuis la racine du dépôt :
pnpm checkElle lance format:check, lint, typecheck, test, build et knip, dans le même
ordre que le job check de la CI, s’arrête au premier qui échoue et le nomme sur la
dernière ligne : check failed at: pnpm <step>.
Les suites qui ont besoin d’un vrai PostgreSQL ne s’exécutent pas pendant cette commande,
et la CI vérifie qu’aucune n’a été sautée chez elle. Pour les lancer comme la CI, sur un
port à vous : PG_PORT=55613 pnpm live.
Ouvrir une pull request
Section intitulée « Ouvrir une pull request »Un changement de schéma s’accompagne de sa migration générée, dans
apps/api/prisma/migrations ; toute nouvelle chaîne visible par l’utilisateur doit
exister à la fois dans locales/fr et dans locales/en, avec les mêmes clés ; et aucun
vrai chiffre, numéro de compte ou secret ne doit figurer dans le diff. Les messages de
commit sont courts et à l’impératif, par exemple Add cost basis to positions view.
Rédigez en anglais, sans tirets, et n’ajoutez aucune ligne de co-auteur.
Les contributions sont publiées sous licence AGPL-3.0. Vous gardez vos droits d’auteur sur ce que vous écrivez, et vous accordez en plus au mainteneur le droit, non exclusif, de distribuer votre contribution sous d’autres licences, y compris commerciales, pour qu’une offre hébergée reste possible ; Badlen restera disponible sous une licence libre. Le code de conduite s’applique. Un problème de sécurité se signale via SECURITY.md, jamais par une pull request publique.