Contribuer
Les issues et les pull requests sont les bienvenues. Cette page résume
l’installation locale et les contrôles qualité ; la source canonique, toujours à
jour, est le fichier
CONTRIBUTING.md
du dépôt.
Installation locale
Section intitulée « Installation locale »PosterPilot est une application SvelteKit qui s’exécute avec Bun.
bun installcp .env.example .env # fill PLEX_URL / PLEX_TOKEN / TMDB_KEY (or use the Settings UI)bun run db:generate # generate SQL migrations from the Drizzle schema (already committed)bun run dev # http://localhost:5173Les migrations s’appliquent automatiquement au démarrage du serveur.
Contrôles qualité
Section intitulée « Contrôles qualité »Chaque changement doit passer ces contrôles avant relecture — la CI exécute les mêmes :
bun run check # svelte-check type checkingbun run test # vitest unit testsbun run lint # prettier --check (run `bun run format` to auto-fix)Le projet suit le développement piloté par les tests pour la logique serveur —
écrivez d’abord un test qui échoue, puis l’implémentation. Gardez la logique
pure et testable exempte d’imports $env / $app afin qu’elle puisse être
testée unitairement de manière isolée (voir les tests existants pour le modèle à
suivre).
Messages de commit
Section intitulée « Messages de commit »Le projet utilise les Conventional Commits. Le préfixe de type pilote le changelog automatisé et l’incrément de version via release-please :
feat:— une nouvelle fonctionnalité (incrément mineur)fix:— une correction de bug (incrément de correctif)docs:,chore:,refactor:,test:,ci:— pas de publication à eux seulsfeat!:/ un pied de messageBREAKING CHANGE:— incrément majeur
Exemple : feat(library): add genre filter.
Pull requests
Section intitulée « Pull requests »- Créez une branche à partir de
main. - Faites des changements ciblés ; limitez le diff à une seule préoccupation.
- Vérifiez que
check,testetlintpassent au vert. - Ouvrez une pull request en utilisant le modèle et liez toute issue associée.
Changements pilotés par les specs
Section intitulée « Changements pilotés par les specs »Les fonctionnalités plus importantes sont planifiées avec
OpenSpec sous openspec/changes/. Pour
un changement conséquent, proposez d’abord une spec, puis implémentez selon ses
tâches. Les specs de capacités se trouvent sous openspec/specs/.
Traduction
Section intitulée « Traduction »Aucune compétence en programmation n’est requise pour aider à traduire l’interface — voir Traduction pour le flux de travail Weblate.
PosterPilot is an independent project, not affiliated with or endorsed by Plex, Jellyfin, Emby, MediUX, Fanart.tv, TMDB, ThePosterDB, or Kometa. Trademarks belong to their respective owners. This product uses the TMDB API but is not endorsed or certified by TMDB.

