On this page
Project checks (tag: project).
#rlsbl.checks.project
#rlsbl.checks.project
Project checks (tag: project) validating version, name, license, and description consistency, config schema, and scaffold conflicts.
Checks: lock, version-consistency, name-consistency, license-consistency, description-consistency, private-hook-stale, config-schema, license-file, private-publish-workflow, npm-private-mismatch, target-version-readable, dunder-version-missing, selfdoc-version-drift, scaffold-conflicts.
#find_conflicted_scaffold_files
def find_conflicted_scaffold_files(project_root)Return (relpath, first_conflict_line) tuples for scaffold files with unresolved git merge conflict markers, sorted by path.
Scans three file sets (skipping files that don't exist):
- every file listed in
.rlsbl/managed-files.json(the
scaffold-managed registry; missing or malformed registry is skipped)
- all files under
.github/workflows/ - all files under
.rlsbl/(recursively)
A file is conflicted when it contains a line starting with '<<<<<<< ' AND a line starting with '>>>>>>> '. Requiring both avoids false positives on bare '=======' lines (e.g. setext heading underlines). first_conflict_line is the 1-based line number of the first '<<<<<<< ' marker in the file.
Shared by the scaffold-conflicts check and the pre-mutation guard in rlsbl release run.
#_get_releasable_version_for_project
def _get_releasable_version_for_project(ctx)Return the releasable version for the project in ctx, or None.
Returns a version string when ALL of the following hold:
- The project is inside a monorepo (ctx.workspace_root is not None)
- The workspace uses explicit releasable mode ([[releasables]] present)
- The current project has
releasable = "" (belongs to a releasable) - The releasable's version file exists and is non-empty
Returns None otherwise (implicit mode, non-releasable project, missing version file, or not in a monorepo). Callers should fall through to the standard per-target consistency check when None is returned.
#register_project_checks
def register_project_checks(app)Register project-tag checks on app.