rlsbl v0.40.1 /rlsbl monorepo
On this page

Manage a monorepo workspace of independently-versioned projects: init, add or remove projects, sync CI, list, lint, and compute release order.

#rlsbl 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 10 monorepo subcommands and supports all 14 release targets in a single workspace.toml.

#monorepo init

Create a new monorepo workspace by generating the .rlsbl-monorepo directory and an empty workspace.toml configuration file at the current directory. This must be run at the repository root before adding individual projects with the add subcommand. Each workspace tracks multiple independently-versioned projects that share a single git repository.

#Flags

Flags
NameShortTypeDefaultEnvDescription
--no-commitboolSkip auto-commit of workspace.toml

#monorepo add

Register a project directory in the monorepo workspace.toml configuration. The path argument specifies the project's location relative to the repo root. Optionally set a display name, target registry for publishing, glob patterns for change detection, a subtree remote URL for split publishing, inter-project dependencies, and a library flag to mark shared code packages.

#Flags

Flags
NameShortTypeDefaultEnvDescription
--namestrProject name (defaults to directory name)
--targetstrTarget registry
--watchstrComma-separated glob patterns to watch
--subtree-remotestrSubtree remote URL
--depends-onstrComma-separated dependency project names
--librarystrMark as library (true/false)
--no-commitboolSkip auto-commit of workspace.toml and suppress commits from auto-triggered scaffold/sync

#Arguments

Arguments
NameRequiredDescription
pathyesPath to the project directory

#monorepo remove

Unregister a project from the monorepo workspace.toml by its path. This removes the project entry from the workspace configuration file but does not delete any files, directories, or git history on disk. The project's code remains intact and can be re-added later with the add subcommand if needed.

#Arguments

Arguments
NameRequiredDescription
pathyesPath to the project to remove

#monorepo list

Display all projects registered in the monorepo workspace.toml file. For each project, shows the project name, relative path from the repo root, target registry for publishing, and any configured options such as watch patterns, subtree remotes, inter-project dependencies, and whether the project is marked as a library.

#monorepo sync

Copy and merge CI workflow files from each project's individual scaffold into the shared .github/workflows directory at the repository root. This ensures that every project in the workspace has its publish and test pipelines properly configured as GitHub Actions workflows, even when projects use different target registries or have custom workflow steps.

#Flags

Flags
NameShortTypeDefaultEnvDescription
--no-commitboolSkip auto-commit of synced workflow files

#monorepo status

Show the current version, last release tag, and number of unreleased commits for every project in the monorepo workspace. Provides a quick overview of which projects have pending changes and are ready for their next release. Projects with zero unreleased commits are shown as up-to-date.

#monorepo check-names

Check package name availability on a target registry for all projects in the monorepo workspace. Queries the registry API for each project name and reports whether it is available or already taken. Supports optional prefix and suffix arguments to test naming conventions like scoped packages, with a configurable delay between registry queries to avoid rate limiting.

#Flags

Flags
NameShortTypeDefaultEnvDescription
--targetstrTarget registry (npm, pypi, or go)
--prefixstrPrefix to prepend to project names
--suffixstrSuffix to append to project names
--delaystr200Delay between checks in ms

#monorepo release-order

Compute and display the topological release order for all projects in the monorepo workspace based on their declared depends-on relationships. Projects with no dependencies are listed first, followed by projects that depend on them, ensuring each project is released only after its dependencies. Detects and reports circular dependency errors.

#monorepo outdated

Scan all projects in the monorepo workspace for intra-workspace dependencies that reference older versions than what is currently available in the workspace. Lists each outdated dependency with the referenced version and the latest available version, helping identify which downstream projects need a version bump after upstream releases.

#monorepo lint

Detect unregistered projects and stale workspace entries in your monorepo. Scans first-level directories for recognized project manifests across all 14 supported targets (npm, PyPI, Go, Cargo, etc.) and compares against workspace.toml. Reports unregistered projects on disk and registered entries pointing to missing directories. Exits non-zero if issues are found, suitable for CI gating.