Commandes CLI
ferrflow release
Section intitulée « ferrflow release »Lance le pipeline complet de release : bump des versions, mise à jour des changelogs, commit, tag, push et création de la release.
ferrflow release [OPTIONS]| Option | Description |
|---|---|
--dry-run | Prévisualiser tous les changements sans écrire, committer ou pousser |
--force | Autoriser les floating tags à reculer vers une version inférieure |
--force-version <VERSION> | Forcer une version spécifique, sans analyser les commits. Format : VERSION (repo simple) ou NAME@VERSION (monorepo) |
--verbose, -v | Afficher la sortie détaillée incluant les hashes de commits et les diffs de fichiers |
Ce que ça fait :
- Scanne les commits depuis le dernier tag pour chaque package
- Détermine l’incrément de version à partir des Conventional Commits
- Met à jour tous les
versionedFilesavec la nouvelle version - Ajoute la nouvelle section au
CHANGELOG.md - Crée un commit git, ouvre une PR, ou passe (selon
releaseCommitMode) - Crée et pousse le tag git
- Crée une release GitHub/GitLab avec le changelog comme notes
ferrflow check
Section intitulée « ferrflow check »Prévisualiser ce que ferrflow release ferait sans effectuer de changements. Équivalent à ferrflow release --dry-run.
ferrflow checkferrflow changelog
Section intitulée « ferrflow changelog »Générer ou mettre à jour CHANGELOG.md uniquement, sans bumper les versions ni créer de tags.
ferrflow changelog [OPTIONS]| Option | Description |
|---|---|
--dry-run | Afficher l’entrée du changelog sans écrire sur le disque |
ferrflow init
Section intitulée « ferrflow init »Générer un fichier de configuration pour le repository courant. Détecte les fichiers de version existants (Cargo.toml, package.json, etc.) et génère la configuration appropriée.
ferrflow init [OPTIONS]| Option | Description |
|---|---|
--format <FORMAT> | Format du fichier de configuration : json, json5 ou toml |
ferrflow status
Section intitulée « ferrflow status »Afficher la version actuelle de chaque package et si une release serait déclenchée.
ferrflow status [OPTIONS]| Option | Description |
|---|---|
--output <FORMAT> | Format de sortie : text (défaut) ou json |
Exemple de sortie :
api 1.2.3 minor bump pending (1 feat commit)site 0.4.1 no release (only chore commits)ferrflow version
Section intitulée « ferrflow version »Afficher la version actuelle d’un ou de tous les packages. Utile dans les scripts CI.
ferrflow version [PACKAGE] [OPTIONS]| Option | Description |
|---|---|
--json | Sortie au format JSON |
Retourne la version depuis le dernier tag git correspondant au modèle de tag du package.
ferrflow tag
Section intitulée « ferrflow tag »Afficher le dernier tag pour un ou tous les packages.
ferrflow tag [PACKAGE] [OPTIONS]| Option | Description |
|---|---|
--json | Sortie au format JSON |
Options globales
Section intitulée « Options globales »Ces options fonctionnent avec toutes les commandes :
| Option | Description |
|---|---|
--config <PATH> | Chemin vers un fichier de configuration personnalisé (défaut : auto-détecté). Accepte aussi la variable d’environnement FERRFLOW_CONFIG. |
--version | Afficher la version de FerrFlow et quitter |
--help, -h | Afficher l’aide |