Aller au contenu
FerrFlow

Reference / Commandes CLI

Commandes CLI

Lance le pipeline complet de release : bump des versions, mise à jour des changelogs, commit, tag, push et création de la release.

Fenêtre de terminal
ferrflow release [OPTIONS]
OptionDescription
--dry-runPrévisualiser tous les changements sans écrire, committer ou pousser
--forceAutoriser 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, -vAfficher la sortie détaillée incluant les hashes de commits et les diffs de fichiers

Ce que ça fait :

  1. Scanne les commits depuis le dernier tag pour chaque package
  2. Détermine l’incrément de version à partir des Conventional Commits
  3. Met à jour tous les versionedFiles avec la nouvelle version
  4. Ajoute la nouvelle section au CHANGELOG.md
  5. Crée un commit git, ouvre une PR, ou passe (selon releaseCommitMode)
  6. Crée et pousse le tag git
  7. Crée une release GitHub/GitLab avec le changelog comme notes

Prévisualiser ce que ferrflow release ferait sans effectuer de changements. Équivalent à ferrflow release --dry-run.

Fenêtre de terminal
ferrflow check

Générer ou mettre à jour CHANGELOG.md uniquement, sans bumper les versions ni créer de tags.

Fenêtre de terminal
ferrflow changelog [OPTIONS]
OptionDescription
--dry-runAfficher l’entrée du changelog sans écrire sur le disque

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.

Fenêtre de terminal
ferrflow init [OPTIONS]
OptionDescription
--format <FORMAT>Format du fichier de configuration : json, json5 ou toml

Afficher la version actuelle de chaque package et si une release serait déclenchée.

Fenêtre de terminal
ferrflow status [OPTIONS]
OptionDescription
--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)

Afficher la version actuelle d’un ou de tous les packages. Utile dans les scripts CI.

Fenêtre de terminal
ferrflow version [PACKAGE] [OPTIONS]
OptionDescription
--jsonSortie au format JSON

Retourne la version depuis le dernier tag git correspondant au modèle de tag du package.


Afficher le dernier tag pour un ou tous les packages.

Fenêtre de terminal
ferrflow tag [PACKAGE] [OPTIONS]
OptionDescription
--jsonSortie au format JSON

Ces options fonctionnent avec toutes les commandes :

OptionDescription
--config <PATH>Chemin vers un fichier de configuration personnalisé (défaut : auto-détecté). Accepte aussi la variable d’environnement FERRFLOW_CONFIG.
--versionAfficher la version de FerrFlow et quitter
--help, -hAfficher l’aide