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, section_key='packages')Render a package/releasable 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.
#_collect_releasable_targets
def _collect_releasable_targets(releasable_name, member_projects, workspace_root)Collect targets for a releasable.
Delegates to collect_releasable_targets in rlsbl.targets. Kept as a thin wrapper for backward compatibility with existing callers that import this private name.
#_cmd_batch_release_init
def _cmd_batch_release_init(project_root, packages=None)Create .rlsbl-monorepo/releases/unreleased.toml with per-package or per-releasable sections.
In explicit mode (workspace has [[releasables]]), scaffolds [releasables. sections grouped by releasable. In implicit mode, scaffolds [packages. sections per package.
Iterates over all releasable units (skipping non-releasable projects), detects targets for each, and scaffolds sections with empty bump/description and the detected include list.
Items with zero unreleased commits are included as commented-out sections.
Args:
project_root: Path to the project root directory.packages: Optional comma-separated string of names to include.
In explicit mode these are releasable names; in implicit mode, package names.
#_scaffold_releasable_sections
def _scaffold_releasable_sections(workspace_root, projects, batch_path, filter_names)Scaffold [releasables.
#_scaffold_package_sections
def _scaffold_package_sections(workspace_root, projects, batch_path, filter_names)Scaffold [packages.