On this page
Scaffold a batch release file for all workspace projects, auto-detecting targets and commenting out packages with no unreleased commits.
#rlsbl.commands.monorepo.batch_release_init
#rlsbl.commands.monorepo.batch_release_init
Scaffold a batch release file for all workspace projects, auto-detecting targets and commenting out packages with no unreleased commits.
#_get_unreleased_commit_count
def _get_unreleased_commit_count(proj, workspace_root)Return the number of unreleased commits touching a project's files.
Uses the project's monorepo tag glob to find the last version tag, then counts commits since that tag that touch files within the project's path or watch globs. Returns (count, last_tag) where last_tag is the tag string or None if no tags exist.
#_build_pkg_section
def _build_pkg_section(proj, workspace_root, target_names)Build a tomlkit table for a single package section.
#_render_commented_section
def _render_commented_section(name, target_names, reason)Render a package section as TOML comments.
Returns a string of comment lines (each prefixed with '# ') that represent the section the user would uncomment if they want to include it.
#_cmd_batch_release_init
def _cmd_batch_release_init(project_root, packages=None)Create .rlsbl-monorepo/releases/unreleased.toml with per-package sections.
Iterates over all workspace projects (skipping dev_node projects), detects targets for each, and scaffolds a [packages.
Packages with zero unreleased commits are included as commented-out sections with a note explaining why.
Args:
project_root: Path to the project root directory.packages: Optional comma-separated string of package names to include.
If provided, only these packages are scaffolded.