Workflow Git et GitHub
Remote : origin = https://github.com/TTT-b/stremio-ai-translator. Branche par défaut : main. Commandes Windows PowerShell.
Début de travail
git status -sbetgit fetch origin.- Si l'arbre de travail est propre :
git pull --ff-only. Sinon, arrêtez-vous et dites à l'utilisateur ce qui est modifié.
Pendant le travail
- Travaillez sur une branche pour tout ce qui n'est pas trivial :
git switch -c <nom-court>. Les petites corrections sûres peuvent aller directement surmainuniquement si l'utilisateur le dit. - Commitez des changements petits et ciblés. Message :
vX.Y.Z : résumé courtpour les releases, sinontype : résumé court(fix:,feat:,docs:,test:,chore:). - Stagiez les fichiers par nom (
git add <fichier>), jamaisgit add .ou-Aaveuglément. Vérifiez d'abordgit diff --staged. - Ne commitez jamais
.env,settings.json,data/,logs/,node_modules/,dist-electron/,release/, tokens ou clés API. Si un secret a été commité, arrêtez-vous et dites à l'utilisateur de le révoquer. - Exécutez
npm run checkavant chaque commit. Ne commitez pas tant qu'il échoue.
Pousser
- Poussez uniquement lorsque l'utilisateur le demande. Push normal :
git push. Jamais--forcesurmain. Si un force push est vraiment nécessaire sur une branche personnelle, utilisez--force-with-leaseet demandez d'abord. - Releases : mettez à jour
versiondanspackage.json, mettez à jour README/TROUBLESHOOTING si le comportement a changé, commitez, puisgit tag vX.Y.Zetgit push --follow-tagsuniquement après confirmation de l'utilisateur. Chaque tag doit pointer vers son propre commit.
Vérifications de release (chaque release, pas seulement quand quelque chose semble anormal)
npm run checkréussit (il inclut le test queRELEASE_NOTESa les notes en he et en pour la version danspackage.json).- La version dans
package.jsonest supérieure au dernier tag publié (git tag --sort=-v:refname | Select-Object -First 1) ; le programme de mise à jour intégré ne propose que des versions plus récentes. - Construisez avec
npm run distet demandez à l'utilisateur de l'installer depuisrelease/d'abord ; attendez son accord avant de publier. - Après publication,
gh release view vX.Y.Zdoit lister le programme d'installation.exe, son.blockmapetlatest.yml. Sanslatest.yml, l'option « Rechercher les mises à jour » intégrée ne trouve rien. - Dites à l'utilisateur d'appuyer sur « Rechercher les mises à jour » dans la version précédente et de confirmer qu'elle propose la nouvelle.
Synchronisation avec l'ordinateur portable/le téléphone
- L'ordinateur de bureau est la machine de travail. Lorsque l'utilisateur dit que GitHub est mis à jour :
git fetch origin, affichezgit log --oneline HEAD..origin/main, puisgit pull --ff-only. Si ce n'est pas possible en fast-forward, montrez la divergence et demandez avant de fusionner ou rebaser.
Paramètres GitHub recommandés (l'utilisateur les définit dans l'interface Web)
Paramètres du dépôt -> Branches : protégez main (exigez une pull request, bloquez les force pushes, bloquez la suppression). Paramètres -> Sécurité du code : activez Secret scanning avec push protection, les alertes Dependabot et les mises à jour de sécurité Dependabot. Paramètres -> Général : activez « Supprimer automatiquement les branches de tête ». Compte : activez l'authentification à deux facteurs.