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.
- package/README.md +13 -11
- 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
|
|
30
|
+
rlsbl release init # scaffold .rlsbl/releases/unreleased.toml
|
|
31
31
|
# ... edit bump type, targets ...
|
|
32
|
-
rlsbl 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
|
|
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
|
-
|
|
159
|
+
30 project checks organized by tag:
|
|
158
160
|
|
|
159
161
|
| Tag | Checks | Description |
|
|
160
162
|
|-----|--------|-------------|
|
|
161
|
-
| `project` |
|
|
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` |
|
|
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) |
|
|
168
|
+
| (untagged) | 4 | Layer violations, dependency validation (unused/undeclared/stale) |
|
|
167
169
|
|
|
168
170
|
```
|
|
169
|
-
rlsbl check --all # run all
|
|
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
|
```
|