Scaffold the config
Run
ferrflow initat the root of your repository. It detects your version files and writes aferrflow.toml:ferrflow initFor a Rust project this produces:
[workspace] remote = "origin" branch = "main"[[package]] name = "my-app" path = "." changelog = "CHANGELOG.md"
[[package.versioned_files]] path = "Cargo.toml" format = "toml"Preview what would happen
Before touching anything, run a dry-run to see what FerrFlow would do:
ferrflow checkOutput:
Scanning . ... → feat: add user authentication → fix: correct pagination offsetBump my-app 0.1.0 → 0.2.0 Tag my-app@v0.2.0Run the release
ferrflow releaseFerrFlow will:
- Update
Cargo.tomlto0.2.0 - Append to
CHANGELOG.md - Commit the changes
- Create and push
my-app@v0.2.0 - Create a GitHub release (if
GITHUB_TOKENis set)
- Update
Next steps
- Set up GitHub Actions to run releases automatically on push to
main - Configure a monorepo if you have multiple packages
- Review the full config reference