rlsbl 0.11.1 → 0.11.3
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 +26 -19
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -38,17 +38,18 @@ All commands auto-detect registries from project files (`package.json`, `pyproje
|
|
|
38
38
|
| `release [patch\|minor\|major]` | Bump version, commit, tag, push, create GitHub Release |
|
|
39
39
|
| `scaffold [--force] [--update]` | Scaffold CI/CD, hooks, and release infrastructure |
|
|
40
40
|
| `status` | Show version, branch, last tag, changelog coverage, CI presence |
|
|
41
|
-
| `check <name>` | Check name availability on npm/PyPI (parallel variant queries) |
|
|
41
|
+
| `check <name>` | Check name availability on npm/PyPI/GitHub (parallel variant queries) |
|
|
42
42
|
| `config [show\|init\|migrate\|status]` | Manage project configuration and schema migrations |
|
|
43
43
|
| `undo [--yes]` | Revert the last release (tag, commit, GitHub Release) |
|
|
44
44
|
| `discover [--mine]` | List rlsbl ecosystem projects via GitHub topic search |
|
|
45
|
-
| `watch [<sha>]` | Monitor CI runs for a commit (parallel polling), notify on completion |
|
|
45
|
+
| `watch [<sha>]` | Monitor CI runs for a commit (parallel polling), print workflow audit summary, notify on completion |
|
|
46
46
|
| `unreleased [--json]` | List commits since last tag, report changelog coverage |
|
|
47
47
|
| `prs` | List open pull requests for the current repo |
|
|
48
|
+
| `targets` | List available release targets with detection status |
|
|
48
49
|
| `record-gif` | Record a demo GIF with vhs |
|
|
49
50
|
| `pre-push-check` | Verify CHANGELOG entry exists for the current version |
|
|
50
51
|
|
|
51
|
-
Global flags: `--help`, `--version`, `--
|
|
52
|
+
Global flags: `--help`, `--version`, `--target <npm|pypi|go>`, `--registry <npm|pypi|go>` (deprecated alias for `--target`), `--no-tag`.
|
|
52
53
|
|
|
53
54
|
## Release flow
|
|
54
55
|
|
|
@@ -56,22 +57,28 @@ When you run `rlsbl release [patch|minor|major]`:
|
|
|
56
57
|
|
|
57
58
|
1. Verifies `gh` CLI is installed and authenticated
|
|
58
59
|
2. Checks working tree is clean
|
|
59
|
-
3.
|
|
60
|
-
4.
|
|
61
|
-
5.
|
|
62
|
-
6.
|
|
63
|
-
7.
|
|
64
|
-
8.
|
|
65
|
-
9.
|
|
66
|
-
10.
|
|
67
|
-
11.
|
|
68
|
-
12.
|
|
69
|
-
13.
|
|
70
|
-
14.
|
|
71
|
-
15.
|
|
72
|
-
16.
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
3. Fetches origin and verifies local branch is not behind remote (use `--skip-remote-check` for offline releases)
|
|
61
|
+
4. Reads the current version from the primary project file
|
|
62
|
+
5. Computes the new version; confirms the tag does not already exist
|
|
63
|
+
6. Validates `CHANGELOG.md` contains a `## <new-version>` section
|
|
64
|
+
7. Runs `.rlsbl/hooks/pre-release.sh` if present (non-zero exit aborts; receives `RLSBL_VERSION`)
|
|
65
|
+
8. Acquires advisory lockfile (`.rlsbl/lock`) to prevent concurrent operations
|
|
66
|
+
9. Writes the new version to all detected project files and `.rlsbl/version`
|
|
67
|
+
10. Adds `rlsbl` keyword to manifests if ecosystem tagging is enabled
|
|
68
|
+
11. Verifies no unexpected files were modified (race condition guard)
|
|
69
|
+
12. Commits the version bump (uses `safegit` if available)
|
|
70
|
+
13. Tags and pushes to `origin`
|
|
71
|
+
14. Creates a GitHub Release with the changelog entry as notes
|
|
72
|
+
15. Adds `rlsbl` topic to the GitHub repo (if tagging enabled)
|
|
73
|
+
16. Runs secondary release targets (e.g., docs via selfdoc); use `--include`/`--exclude` to control
|
|
74
|
+
17. Runs `.rlsbl/hooks/post-release.sh` if present (non-fatal; receives `RLSBL_VERSION`)
|
|
75
|
+
18. Prints `Watch CI: rlsbl watch <sha>`
|
|
76
|
+
|
|
77
|
+
Use `--dry-run` to preview without changes. Use `--yes` for non-interactive mode (CI, AI agents). Use `--skip-remote-check` for offline releases.
|
|
78
|
+
|
|
79
|
+
**Multi-target releases:** Secondary targets (e.g., docs) run automatically during release. Control which targets run with `--include <target>` and `--exclude <target>` (comma-separated). Configure defaults in `.rlsbl/config.json` via the `release_targets` list. Use `rlsbl targets` to see all available targets.
|
|
80
|
+
|
|
81
|
+
**Documentation:** Use [selfdoc](https://github.com/smm-h/selfdoc) for documentation generation. rlsbl auto-triggers selfdoc during releases when `selfdoc.json` is detected.
|
|
75
82
|
|
|
76
83
|
First release: if the current version has never been tagged, `release` publishes it as-is (bump type is ignored).
|
|
77
84
|
|