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
| Type | Usage |
|---|---|
feat | New feature |
fix | Bug fix |
refactor | Code restructuring without behavior change |
style | Formatting only, no logic change |
docs | Documentation only |
test | Add or update tests |
chore | Maintenance, dependencies, build config |
perf | Performance improvement |
revert | Revert 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.
| Pied | Effet |
|---|---|
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 migrateCes 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.