@wirecat/cli-base 0.51.0 → 0.51.1
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/CHANGELOG.md +10 -0
- package/dist/standards/flags-how.js +6 -0
- package/docs/standards/README.md +1 -1
- package/docs/standards/new-cli.md +2 -2
- package/docs/standards/releases.md +10 -22
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,16 @@ Versions before 0.8.0 are in the [git tags](https://github.com/WireCatLabs/cli-b
|
|
|
8
8
|
Every entry says what changed as a caller sees it, why, and what to watch for — the rules are
|
|
9
9
|
[`docs/dev/CONVENTIONS.md`](docs/dev/CONVENTIONS.md#the-changelog).
|
|
10
10
|
|
|
11
|
+
## 0.51.1 — 24.10.2026
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- The shared vocabulary recognizes `--draft` as a switch that saves text for review without sending. Enabling an adapter’s draft capability no longer creates an unknown-option-role lint failure.
|
|
16
|
+
|
|
17
|
+
### Removed
|
|
18
|
+
|
|
19
|
+
- **No wait between releases and no weekly limit on breaking changes** (`WC-REL-8`, [Releases](docs/standards/releases.md)). A messenger CLI no longer waits two hours after its last version, and a shared library may ship a change that makes the CLIs change their code at any time. `WC-REL-9` is merged into `WC-REL-8`. The release lock stays. Nothing changes in code.
|
|
20
|
+
|
|
11
21
|
## 0.51.0 — 24.10.2026
|
|
12
22
|
|
|
13
23
|
### Added
|
|
@@ -291,6 +291,12 @@ export const HOW_FLAGS = [
|
|
|
291
291
|
type: "duration",
|
|
292
292
|
meaning: "how old a stored snapshot may be and still count as fresh",
|
|
293
293
|
},
|
|
294
|
+
{
|
|
295
|
+
name: "--draft",
|
|
296
|
+
role: "mode",
|
|
297
|
+
type: "switch",
|
|
298
|
+
meaning: "save text for the owner to review and send, without sending a message",
|
|
299
|
+
},
|
|
294
300
|
{ name: "--md", role: "mode", type: "switch", meaning: "the text is the messenger's Markdown" },
|
|
295
301
|
{ name: "--no-backup", role: "mode", type: "switch", meaning: "do not back the file up before deleting it" },
|
|
296
302
|
{ name: "--no-input", role: "mode", type: "switch", meaning: "never prompt or open an interactive login" },
|
package/docs/standards/README.md
CHANGED
|
@@ -39,7 +39,7 @@ rules it keeps. A new CLI is ready for its first release when every check under
|
|
|
39
39
|
| [Security](security.md) | `SECR` | 20 | Secrets, logs, keyring, argv, error text, untrusted text, scanners, workflow hardening, reporting |
|
|
40
40
|
| [Documents](docs.md) | `DOC` | 20 | User pages and developer pages, generated pages, current facts, changelog |
|
|
41
41
|
| [Comparisons](comparisons.md) | `CMP` | 11 | Which tools a comparison page lists, rows as user tasks, agents and safety, where others are better, proof of marks |
|
|
42
|
-
| [Releases](releases.md) | `REL` |
|
|
42
|
+
| [Releases](releases.md) | `REL` | 15 | `bin/release`, the release lock, versions, release reports, trusted publishing |
|
|
43
43
|
| [CI](ci.md) | `CI` | 12 | Hooks, the pull request budget, full validation, monthly runs |
|
|
44
44
|
| [Time](time.md) | `TIME` | 6 | UTC in the store and in answers, the zone at input and display edges, date-only filters, tests in another zone |
|
|
45
45
|
| [Style](style.md) | `STYLE` | 10 | Comments, TypeScript habits, commit messages |
|
|
@@ -92,8 +92,8 @@ whatsapp-cli is the worked example: it has every file below. Compare with it whe
|
|
|
92
92
|
8. **`SECURITY.md`**: how to report a vulnerability, linking cli-testing's security method. See
|
|
93
93
|
[Security](security.md).
|
|
94
94
|
9. **`bin/release`**, **`release.yml`** and a release skill, copied from the nearest CLI. `bin/release` takes the
|
|
95
|
-
release lock (WC-REL-3) and npm's trusted publisher settings name `release.yml`. A messenger CLI also
|
|
96
|
-
|
|
95
|
+
release lock (WC-REL-3) and npm's trusted publisher settings name `release.yml`. A messenger CLI also checks a signed
|
|
96
|
+
release report (WC-REL-10). See [Releases](releases.md).
|
|
97
97
|
10. **`src/version.ts`** kept in step with `package.json`. Proved by: `pnpm version:check`.
|
|
98
98
|
|
|
99
99
|
## Done when
|
|
@@ -88,29 +88,17 @@ on the [CI](ci.md) page.
|
|
|
88
88
|
- **Exceptions:** a pre-release version (`0.41.0-rc.1`) is chosen by hand.
|
|
89
89
|
- **Applies to:** all CLIs and shared libraries. **Since:** cli-base 0.41.0. **Rulings:** none.
|
|
90
90
|
|
|
91
|
-
### WC-REL-8 ·
|
|
91
|
+
### WC-REL-8 · Any package may release at any time
|
|
92
92
|
|
|
93
|
-
- **Why:** a
|
|
94
|
-
|
|
95
|
-
- **Enforced by:**
|
|
96
|
-
- **Example:** tg-cli,
|
|
97
|
-
|
|
98
|
-
- **Exceptions:**
|
|
99
|
-
- **Applies to:**
|
|
100
|
-
|
|
101
|
-
### WC-REL-9 ·
|
|
102
|
-
|
|
103
|
-
- **Why:** the limit keeps the CLIs from chasing versions; a change that no CLI has to follow gives them nothing to
|
|
104
|
-
chase.
|
|
105
|
-
- **Enforced by:** `cli-core: parity.yml` (it decides which changes count; review keeps the week).
|
|
106
|
-
- **Example:** cli-core's parity jobs build tg-cli, max-cli and whatsapp-cli from their `main` against every pull
|
|
107
|
-
request. A change to a stable export counts unless all three jobs pass with each CLI's `main` unchanged; its
|
|
108
|
-
changelog still lists it under "Changed — may break callers" for outside users. It counts when a job fails, when it
|
|
109
|
-
passes only against a CLI branch made for the change, and when it compiles but changes behaviour that any CLI must
|
|
110
|
-
adapt to. Parity cannot see that last case, so when in doubt the change counts. Gather the changes that count into
|
|
111
|
-
one release a week, and bump the library in every CLI that uses it on the same day.
|
|
112
|
-
- **Exceptions:** none.
|
|
113
|
-
- **Applies to:** shared libraries. **Since:** cli-base 0.41.0. **Rulings:** NEED-473, NEED-1552.
|
|
93
|
+
- **Why:** a wait between releases or a weekly limit on breaking changes only delays a fix; the owner removed both
|
|
94
|
+
limits on 2026-10-24.
|
|
95
|
+
- **Enforced by:** review only.
|
|
96
|
+
- **Example:** tg-cli can release an hour after its last version, and cli-core can ship a breaking change on the same
|
|
97
|
+
day as the previous one. Bump the library in every CLI that uses it on the day it ships.
|
|
98
|
+
- **Exceptions:** none. The release lock (WC-REL-3) still keeps two releases on one machine from running at once.
|
|
99
|
+
- **Applies to:** all CLIs and shared libraries. **Since:** cli-base 0.52.0. **Rulings:** NEED-1741.
|
|
100
|
+
|
|
101
|
+
### WC-REL-9 · Merged into [WC-REL-8](#wc-rel-8--any-package-may-release-at-any-time)
|
|
114
102
|
|
|
115
103
|
### WC-REL-10 · A messenger CLI is released only with a release report the owner signed for that commit
|
|
116
104
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/cli-base",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.1",
|
|
4
4
|
"description": "The parts every command line tool needs: output modes, terminal rendering, error model, exit codes, credentials, clocks",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|