Commits

Format Conventional Commits, types autorisés, règles de rédaction et breaking changes.

Tous les messages de commit sont rédigés en anglais, au format Conventional Commits.

<type>(<scope>): <description courte>

Types

TypeUsage
featNew feature
fixBug fix
refactorCode restructuring without behavior change
styleFormatting only, no logic change
docsDocumentation only
testAdd or update tests
choreMaintenance, dependencies, build config
perfPerformance improvement
revertRevert a previous commit

Exemples

feat(auth): add OAuth2 login support
fix(api): handle null response from payment gateway
refactor(storage): extract upload logic into helper
docs(reference): document the crypto core
chore(deps): update dependencies
perf(db): cache user metadata on repeated reads
revert: revert "feat(auth): add OAuth2 login support"

Règles

  • Scope : facultatif, précise la zone touchée. auth, api, storage, ui, config, docs.
  • Description : en minuscules, sans point final, en anglais.
  • Un commit, une intention. Ne pas mélanger un correctif et une refonte : le premier doit rester révocable sans emporter le second.
  • Pas de wip, fix fix, oups, ni de message vide.

Documentation

Un changement de comportement et sa mise à jour de documentation vont dans le même commit. Une documentation mise à jour dans un commit séparé peut être révoquée indépendamment du code, ce qui produit exactement la dérive que la règle cherche à éviter.

Un commit docs: isolé est réservé à une correction ou à une réécriture qui n'accompagne aucun changement de code.

Breaking changes

Ajouter ! après le type et un pied de message BREAKING CHANGE:.

feat(api)!: remove legacy query parameter

BREAKING CHANGE: the `legacy` param is no longer accepted, use `version` instead.

Un breaking change impose une version majeure. Voir Publication.

Pieds propres à LRVO

Les notes de version sont générées depuis les messages de commit. Le générateur déduit seul l'essentiel : les variables d'environnement en comparant les clés déclarées à chaque borne, les gabarits depuis le diff de templates/, et les commandes à lancer depuis les fichiers touchés et le delta de variables.

Quatre pieds permettent de compléter cette déduction quand elle ne suffit pas.

PiedEffet
Lrvo-Action:Commandes à lancer après la mise à jour, séparées par des virgules.
Lrvo-Env-Added:Variables d'environnement ajoutées.
Lrvo-Env-Removed:Variables d'environnement retirées.
Lrvo-Template:Fichiers de gabarit modifiés.
feat(database): add versioned migration runner

Lrvo-Action: npx lrvo-db migrate

Ces pieds ne remplacent pas la déduction automatique, ils s'y ajoutent. C'est délibéré : un squash de pull request sous Gitea écrase les corps de commit, et le pied serait perdu. Voir Notes de version.

Sur cette page