On this page
Complete CLI reference for rlsbl — all available commands, subcommands, flags, arguments, and usage examples with detailed descriptions.
#rlsbl CLI Reference
Release orchestration and project scaffolding CLI. Automates version bumping, changelog validation, tagging, GitHub Releases, and CI/CD scaffolding. Ships 56 commands organized into 13 top-level commands and 6 command groups (release, changelog, monorepo, dev, rewrite, transition). Covers 17 release targets: npm, pypi, go, swift, swift-apple, spec, hex, deno, dart, docker, flutter, maven, native-android, native-ios, zig, pgdesign, plain.
Version: 0.121.6
#Commands
- check -- Run project checks registered via the check framework and report results
- status -- Display the current project version, branch, latest release, unreleased commit count, and changelog coverage. The latest release comes from the project's release archives and is annotated when this checkout does not contain it. Outputs plain text by default or structured JSON with the --json flag.
- scaffold -- Generate or update CI/CD workflows, git hooks, changelog, and license files. Safe to run repeatedly -- three-way merges template changes with your customizations. Existing files with no stored merge base are healed from their last scaffold commit before merging.
- check-name -- Query npm, PyPI, or other registries to check whether one or more package names are available. Accepts multiple names as positional arguments and respects a configurable delay between checks.
- claim-name -- Claim a name on a package registry by publishing a minimal placeholder package. Runs check-name first, then publishes if available.
- discover -- Search GitHub for repositories tagged with the rlsbl topic and list them. Use --mine to filter results to only your own repositories. Requires the gh CLI to be authenticated.
- watch -- Poll GitHub Actions CI workflow runs for a specific commit SHA and report pass or fail status. Defaults to HEAD if no SHA is provided. Useful after rlsbl release to monitor the publish pipeline.
- pre-push-check -- Removed. This command no longer performs any check: it always exits 1 with instructions. The pre-push hook now runs
rlsbl check --tag prepushinstead, so a repo whose hook still calls pre-push-check needsrlsbl scaffoldto regenerate it. - prs -- List all open pull requests for the current repository using the GitHub CLI. Shows PR number, title, author, and branch for a quick overview of pending work.
- unreleased -- List the commits between this checkout's nearest release commit and HEAD, and check whether each has a corresponding changelog entry. Outputs a coverage report in plain text or JSON to help prepare the next release.
- targets -- List all release targets detected in the current project directory, showing which ecosystems (npm, PyPI, Go, etc.) are active based on manifest files found.
- deploy -- Run the configured deployment pipeline for the project. Supports named deploy targets and dry-run preview of what would be deployed. Branch restrictions are always enforced.
- commit -- Commit one or more files with an Autogenerated trailer, marking the commit as machine-generated so it is automatically exempted from changelog coverage checks.
#Command Groups
- release -- Release orchestration commands covering the full release lifecycle. Provides 11 subcommands: run, resume, init, retry, edit, undo, deprecate, yank, scrub, backfill, reconcile.
- changelog -- Structured changelog management using JSONL entries, each typed feature, fix or breaking. Add and generate CHANGELOG.md from per-commit changelog entries stored in unreleased.jsonl for precise, auditable release notes.
- monorepo -- Manage monorepo workspaces with multiple independently-versioned projects. Initialize workspaces, add or remove projects, sync CI workflows, check name availability, and analyze dependency graphs. Provides 17 monorepo subcommands: init, add, remove, list, sync, status, check-names, outdated, snapshot, snapshot-check, mirror, graph, impact, extract, absorb, cleanup, rename-releasable. Plus 1 subgroup: release. Supports all 17 release targets in a single workspace.toml (the app help enumerates them).
- dev -- Developer utilities for locally working with rlsbl projects, including editable installs that mirror the project's release target (pypi -> uv tool install -e, npm -> npm link, go -> go install).
- rewrite -- Sweeping rewrites of the current working tree, each previewed before it is performed. Every command in this group observes the tree, reports a per-file plan with occurrence counts, and refuses to apply when a count moved between the preview and the write.
- transition -- Record the transition-record facts an operator states. Most events in a repository's transition record are written by the operation that performed them; the ones here are statements about a repository somebody read -- two that nothing can derive at all, and one whose command exists but which a rename performed by hand leaves unrecorded.
#Framework flags
These flags are owned by the strictcli framework, not by the app. No command may declare a flag with one of these names, and each is recognized anywhere on the command line.
| Flag | Effect |
|---|---|
--dry-run | Preview mode: no mutation runs. The framework prints a log of every effect the command would have performed. |
--approve-consequential | Skips the confirmation prompt a consequential command shows before it runs. |
--quiet | Hides informational output. Warnings, errors, structured data and the dry-run log are never suppressed. |
--verbose | Shows debug output. --quiet wins when both are passed. |
#Infrastructure
#Handshake variables
| Env var | Description |
|---|---|
RLSBL_PUSH_STDIN | Pre-push ref lines (<local ref> <local sha> <remote ref> <remote sha>) for rlsbl check --tag prepush, when the caller has already consumed git's hook stdin. |