ferrflow release
Run the full release pipeline: bump versions, update changelogs, commit, tag, push, and create a release.
ferrflow release [OPTIONS]
| Flag | Description |
|---|---|
--dry-run |
Preview all changes without writing, committing, or pushing |
--verbose, -v |
Show detailed output including commit hashes and file diffs |
What it does:
- Scans commits since the last tag for each package
- Determines the version bump from Conventional Commits
- Updates all
versioned_fileswith the new version - Appends the new section to
CHANGELOG.md - Creates a git commit with the version bump changes
- Creates and pushes the git tag (
{name}@v{version}) - Creates a GitHub/GitLab release with the changelog as notes
ferrflow check
Preview what ferrflow release would do without making any changes. Equivalent to ferrflow release --dry-run.
ferrflow check
ferrflow changelog
Generate or update CHANGELOG.md only, without bumping versions or creating tags.
ferrflow changelog [OPTIONS]
| Flag | Description |
|---|---|
--dry-run |
Print the changelog entry without writing to disk |
ferrflow init
Scaffold a ferrflow.toml config file for the current repository. Detects existing version files (Cargo.toml, package.json, etc.) and generates the appropriate config.
ferrflow init
ferrflow status
Show the current version of each package and whether a release would be triggered.
ferrflow status [OPTIONS]
| Flag | Description |
|---|---|
--json |
Output in JSON format for scripting |
Example output:
api 1.2.3 minor bump pending (1 feat commit)
site 0.4.1 no release (only chore commits)
Global flags
These flags work with all commands:
| Flag | Description |
|---|---|
--config <PATH> |
Path to a custom config file (default: ferrflow.toml) |
--version |
Print the FerrFlow version and exit |
--help, -h |
Print help |