rlsbl 0.104.1 → 0.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +4 -23
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -41,7 +41,7 @@ All commands auto-detect targets (versioning) from project files (`package.json`
41
41
  | --- | --- |
42
42
  | `check` | Run project checks registered via the check framework and report results |
43
43
  | `status` | Display the current project version, branch, last release tag, unreleased commit count, and changelog coverage. Outputs plain text by default or structured JSON with the --json flag. |
44
- | `scaffold` | Generate or update CI/CD workflows, git hooks, changelog, and license files. Safe to run repeatedly -- merges template changes with your customizations. Use --force-overwrite to overwrite all files. |
44
+ | `scaffold` | Generate or update CI/CD workflows, git hooks, changelog, and license files. Safe to run repeatedly -- three-way merges template changes with your customizations. Existing files with no stored merge base are healed from their last scaffold commit before merging. |
45
45
  | `check-name` | Query npm, PyPI, crates.io, or other registries to check whether one or more package names are available. Accepts multiple names as positional arguments and respects a configurable delay between checks. |
46
46
  | `claim-name` | Claim a name on a package registry by publishing a minimal placeholder package. Runs check-name first, then publishes if available. |
47
47
  | `discover` | Search GitHub for repositories tagged with the rlsbl topic and list them. Use --mine to filter results to only your own repositories. Requires the gh CLI to be authenticated. |
@@ -52,7 +52,6 @@ All commands auto-detect targets (versioning) from project files (`package.json`
52
52
  | `unreleased` | List commits between the latest release tag and HEAD, and check whether each has a corresponding changelog entry. Outputs a coverage report in plain text or JSON to help prepare the next release. |
53
53
  | `targets` | List all release targets detected in the current project directory, showing which ecosystems (npm, PyPI, Go, Cargo, etc.) are active based on manifest files found. |
54
54
  | `record-gif` | Record an animated GIF demo of rlsbl commands using the vhs terminal recorder. Configurable width, height, font size, and duration for consistent, reproducible demo recordings. |
55
- | `migrate` | Run pending configuration migrations to update .rlsbl config files to the latest schema. Use --dry-run to preview changes without applying, or --status to see which migrations are pending. |
56
55
  | `deploy` | Run the configured deployment pipeline for the project. Supports named deploy targets and dry-run preview of what would be deployed. Branch restrictions are always enforced. |
57
56
  | `commit` | Commit one or more files with an Autogenerated trailer, marking the commit as machine-generated so it is automatically exempted from changelog coverage checks. |
58
57
  | **release** | Release orchestration commands. Provides 9 subcommands covering the full release lifecycle: run, resume, init, retry, edit, undo, deprecate, yank, and scrub. |
@@ -92,6 +91,7 @@ All commands auto-detect targets (versioning) from project files (`package.json`
92
91
  | **dev** | Developer utilities for locally working with rlsbl projects, including editable installs that mirror the project's release target (pypi -> uv tool install -e, npm -> npm link, go -> go install). |
93
92
  | `dev install` | Install the project locally for development using the detected target's editable install command. --global (default) installs system-wide across 8 supported targets (pypi, npm, go, cargo, zig, swift, deno, hex), while --venv installs into the project's local environment instead. In monorepo mode, pair with --all, --include, or --exclude. Use --uninstall to reverse a previous install. |
94
93
  | `dev sync` | Overlay local editable checkouts of sibling projects onto this project's locked environment. Reads dev-sources.toml.local-only for overlay entries, runs uv sync --inexact excluding overlaid packages, then uv pip install -e per entry. Requires UV_NO_SYNC=1 in the environment to prevent bare uv run from reverting overlays. |
94
+ | `dev status` | Report the state of local dev-sync overlays: for each package recorded in the dev-overlays sentinel, show its declared editable checkout path and version alongside the venv's actual install (editable at the expected path, WIPED back to a registry wheel, or missing entirely). Exits 1 if any overlay drifted so scripts and pre-run guards can detect a silent wipe by a bare uv sync or uv run; exits 0 when all overlays are intact or none are declared. |
95
95
 
96
96
  Global flags: `--help`, `--version`, `--dry-run`, `--yes`, `--quiet`.
97
97
 
@@ -167,11 +167,11 @@ See [docs/ci-customization.md](docs/ci-customization.md) for an example.
167
167
 
168
168
  ## Check system
169
169
 
170
- rlsbl includes 60 checks across 9 tags.
170
+ rlsbl includes 61 checks across 9 tags.
171
171
 
172
172
  | Tag | Checks | Description |
173
173
  |-----|--------|-------------|
174
- | `project` | 14 | Version, name, license, description consistency; config schema; private hook/workflow; npm mismatch; target/dunder version readability; selfdoc drift; scaffold conflicts |
174
+ | `project` | 14 | Version, name, license, description consistency; config schema; stale private hook; publish-mode workflow; npm mismatch; target/dunder version readability; selfdoc drift; scaffold conflicts |
175
175
  | `release` | 5 | Local/remote tag, GitHub Release, branch sync, scaffold conflicts |
176
176
  | `changelog` | 9 | Hash resolution, range, coverage, orphans, schema, user-facing, batch limits, entry |
177
177
  | `workspace` | 14 | CI router, CI sync, targets, unregistered, stale entries, dev-only/unversioned boundaries, dead packages, subtree remote, buildability, gitignore, root conflict, Go companion tags, workspace tests |
@@ -185,25 +185,6 @@ rlsbl check --tag changelog # run checks by tag
185
185
  rlsbl check --name lock # run a single check
186
186
  ```
187
187
 
188
- ## Config management
189
-
190
- Schema-driven configuration migration system for projects that ship user-facing config files.
191
-
192
- ```
193
- rlsbl migrate # run pending migrations
194
- rlsbl migrate --status # show migration status
195
- rlsbl migrate --dry-run # preview changes
196
- ```
197
-
198
- ### Library API
199
-
200
- ```python
201
- from rlsbl.lib import ConfigMigrator, load_schema, migrate
202
-
203
- # One-liner: load schema and run all pending migrations
204
- result = migrate(".") # returns {filename: was_written} or None
205
- ```
206
-
207
188
  ## Undo
208
189
 
209
190
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rlsbl",
3
- "version": "0.104.1",
3
+ "version": "0.106.0",
4
4
  "description": "Release orchestration and project scaffolding across package ecosystems",
5
5
  "license": "MIT",
6
6
  "bin": {