Repository navigation
Développement
Docker 27 ou supérieur avec les plugins compose 2.35 et buildx. Node.js et pnpm aux versions du README. Les fichiers d'environnement apps/*/.env.docker et apps/*/.env.integ sont décrits dans ENVIRONMENTS.md du dépôt.
Une contribution part toujours d'un ticket. Le ticket porte le besoin, le périmètre, les critères d'acceptation et les impacts connus. Une pull request ne contient que les changements de son ticket. Les contributions purement documentaires sont les seules dispensées de ticket.
Installez puis construisez :
pnpm install
pnpm db:generate
pnpm buildTrois modes de lancement existent : local plus services distants avec pnpm run dev, full containerisé avec pnpm run docker:dev, intégration avec pnpm run docker:integ.
Avant toute soumission : pnpm lint, pnpm test, et pnpm playwright:test si un parcours utilisateur est touché. Le pre-push husky exécute les tests unitaires. Une pull request respecte le template du dépôt et reste en draft jusqu'à la fin des gates.
Le backend cible est apps/server-nestjs. Le backend historique apps/server est gelé : ne le modifiez pas, corrections comprises.
Le découpage d'un module suit trois fichiers : le contrôleur, les requêtes, les utilitaires. Tout appel Prisma passe par le fichier de requêtes du module. La configuration est injectée de manière namespacée. Les factories de test utilisent mockDeep et faker ; n'appelez pas de mock dans le scope d'un describe.
Les flags de plugin valent 'enabled' ou 'disabled' via @cpn-console/hooks.
La migration de apps/server vers apps/server-nestjs se rejoue événement par événement. Avant d'approuver une bascule :
- Comparez chaque
eventEmitter.emitAsync('<entity>.<verb>')émis avec les consommateurs@OnEventet les anciens appelshook.<entity>. Un événement sans consommateur fait perdre la synchronisation Keycloak ou GitLab au pontcapturePluginResult. Demandez des changements dans ce cas. - Vérifiez que l'ordre événement-transaction préserve la parité.
- Un import mort dans
main.module.tsest un échafaudage à retirer. - Énoncez la sévérité entre l'état vivant et l'état à la bascule.
Auteur : identité déclaré par la team. Signature SSH. Trailer de co-paternité pour l'assistance agent :
Co-authored-by: Automata <automata@shikanime.studio>
Message de commit en anglais ; issues, discussions et PR en français.
Console Cloud Pi Native