Skip to content
rlsbl rewrite
On this page

Sweeping rewrites of the current working tree, each previewed per file first, with the preview's occurrence counts re-derived before anything is written.

#rlsbl 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.

#rewrite go-module-path

Rename a Go module path across the repository. Rewrites the module-path tokens in every go.mod (the module directive plus any require, replace, exclude or retract reference from a nested module) and every Go import site under the old path, located by the tree-sitter import scanner and rewritten line-scoped. Containment is boundary-aware, so a neighbouring module whose path merely begins with the same letters is left alone. Comments, non-Go files and vendored trees are never touched. Use --dry-run to print the per-file plan with occurrence counts.

Effect: mutating

#Flags

Flags
NameShortTypePresenceEnvDescription
--from-modulestrrequiredThe Go module path being renamed away from. It need not be DECLARED here: a repository that only references the module is a consumer following an upstream move, and the plan reports that as a fact while rewriting the references. What is required is that something references it -- a path with zero occurrences anywhere in the repository is a hard error, because the overwhelmingly likely cause is a typo.
--to-modulestrrequiredThe Go module path to rename to. It is written into every go.mod token naming the old path and into every import site under it, so it must be the module path consumers will resolve after the move -- not a directory, and not a package path inside the module.

#rewrite uv-path-sources

Convert path- and workspace-sourced Python dependencies into registry constraints floored at the version uv.lock resolves. Covers [project].dependencies, every [project.optional-dependencies] extra and every PEP 735 [dependency-groups] group, and deletes the matching [tool.uv.sources] entry so it stops overriding the new constraint. Each converted name is added to internal_dep_floors in .rlsbl/config.json. A locked version that is not published on PyPI is a hard error naming the remedy (release that dependency first), and so is a registry probe that fails to answer. Use --dry-run to print the per-dependency plan with entry counts.

Effect: mutating

Search