rlsbl 0.41.7 → 0.42.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 +13 -11
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -27,9 +27,9 @@ npm i -g rlsbl
27
27
  ```
28
28
  rlsbl scaffold # set up CI/CD, hooks, changelog
29
29
  # ... develop, commit ...
30
- rlsbl release-init # scaffold .rlsbl/releases/unreleased.toml
30
+ rlsbl release init # scaffold .rlsbl/releases/unreleased.toml
31
31
  # ... edit bump type, targets ...
32
- rlsbl release # bump, tag, push, create GitHub Release
32
+ rlsbl release run # bump, tag, push, create GitHub Release
33
33
  rlsbl watch <sha> # monitor CI for that release
34
34
  ```
35
35
 
@@ -40,8 +40,6 @@ All commands auto-detect registries from project files (`package.json`, `pyproje
40
40
  | Command | Description |
41
41
  | --- | --- |
42
42
  | `check` | Run project checks |
43
- | `release` | Bump the project version, validate the changelog, commit, tag, push, and create a GitHub Release. Reads bump type and target selection from .rlsbl/releases/unreleased.toml (create with rlsbl release-init). Supports dry-run preview and non-interactive mode for CI. |
44
- | `release-init` | Scaffold a .rlsbl/releases/unreleased.toml file by auto-detecting project targets. The generated file contains a default bump type (patch), an include list of all detected targets, and per-target configuration sections for Flutter targets. |
45
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. |
46
44
  | `scaffold` | Generate or update CI/CD workflows, git hooks, changelog, and license files for the detected release target. Use --update for three-way merge preserving customizations, or --force to overwrite all files. |
47
45
  | `check-name` | Query npm, PyPI, 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. |
@@ -58,6 +56,10 @@ All commands auto-detect registries from project files (`package.json`, `pyproje
58
56
  | `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. |
59
57
  | `deploy` | Run the configured deployment pipeline for the project. Supports named deploy targets, dry-run preview of what would be deployed, and a --force flag to override branch restrictions. |
60
58
  | `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. |
59
+ | **release** | Release orchestration commands. |
60
+ | `release run` | Bump version, validate changelog, commit, tag, push, and create a GitHub Release. Reads bump type from .rlsbl/releases/unreleased.toml (create with rlsbl release init). |
61
+ | `release init` | Scaffold a .rlsbl/releases/unreleased.toml file by auto-detecting project targets. The generated file contains a default bump type (patch), an include list of all detected targets, and per-target configuration sections for Flutter targets. |
62
+ | `release retry` | Re-create a GitHub Release to re-trigger CI/CD workflows. Deletes the existing release and re-creates it with the same changelog notes, firing a new release:published event. Re-uploads assets if configured. Falls back to gh workflow run if no CI runs appear. |
61
63
  | **changelog** | Structured changelog management using JSONL entries. Add and generate CHANGELOG.md from per-commit changelog entries stored in unreleased.jsonl for precise, auditable release notes. |
62
64
  | `changelog add` | Append a structured changelog entry to the project's unreleased.jsonl file. Each entry includes a human-readable description, an entry type (feature, fix, or breaking), and optional commit hashes linking it to specific changes. The file is auto-committed unless --no-commit is passed. Use --no-user-facing to mark internal changes that should not appear in the published changelog. |
63
65
  | `changelog generate` | Compile all validated JSONL changelog entries into a formatted CHANGELOG.md file. Groups entries by type (features, fixes, breaking changes) under the appropriate version heading, preserving existing changelog content for previous releases. Use --dry-run to preview the generated Markdown output without writing to disk, which is useful for reviewing before committing. |
@@ -83,7 +85,7 @@ Global flags: `--help`, `--version`, `--dry-run`, `--yes`, `--quiet`.
83
85
 
84
86
  ## Release flow
85
87
 
86
- When you run `rlsbl release`:
88
+ When you run `rlsbl release run`:
87
89
 
88
90
  1. Reads `.rlsbl/releases/unreleased.toml` for bump type (patch/minor/major) and target selection
89
91
  2. Verifies `gh` CLI is installed and authenticated
@@ -107,7 +109,7 @@ When you run `rlsbl release`:
107
109
 
108
110
  Use `--dry-run` to preview without changes. Use `--yes` for non-interactive mode (CI, AI agents).
109
111
 
110
- Create the release file with `rlsbl release-init`, which auto-detects project targets and scaffolds the TOML file.
112
+ Create the release file with `rlsbl release init`, which auto-detects project targets and scaffolds the TOML file.
111
113
 
112
114
  First release: if the current version has never been tagged, `release` publishes it as-is (bump type is ignored).
113
115
 
@@ -154,19 +156,19 @@ See [docs/ci-customization.md](docs/ci-customization.md) for an example.
154
156
 
155
157
  ## Check system
156
158
 
157
- 28 project checks organized by tag:
159
+ 30 project checks organized by tag:
158
160
 
159
161
  | Tag | Checks | Description |
160
162
  |-----|--------|-------------|
161
- | `project` | 5 | Version, name, license, description consistency; lockfile presence |
163
+ | `project` | 7 | Version, name, license, description consistency; lockfile presence; private hook staleness; config schema |
162
164
  | `release` | 4 | Local/remote tag, GitHub Release, branch sync |
163
- | `changelog` | 8 | Hash resolution, range, coverage, orphans, schema, batch limits, entry |
165
+ | `changelog` | 9 | Hash resolution, range, coverage, orphans, schema, user-facing, batch limits, entry |
164
166
  | `workspace` | 5 | CI router, CI sync, targets, unregistered, stale entries |
165
167
  | `quality` | 1 | Library lint |
166
- | (untagged) | 5 | Layer violations, dependency validation (unused/undeclared/stale) |
168
+ | (untagged) | 4 | Layer violations, dependency validation (unused/undeclared/stale) |
167
169
 
168
170
  ```
169
- rlsbl check --all # run all 28 checks
171
+ rlsbl check --all # run all 30 checks
170
172
  rlsbl check --tag changelog # run checks by tag
171
173
  rlsbl check --name lock # run a single check
172
174
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rlsbl",
3
- "version": "0.41.7",
3
+ "version": "0.42.0",
4
4
  "description": "Release orchestration and project scaffolding for npm, PyPI, and Go",
5
5
  "license": "MIT",
6
6
  "bin": {