@wirecat/cli-template 0.3.0 → 0.5.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.
@@ -9,4 +9,4 @@ permissions:
9
9
 
10
10
  jobs:
11
11
  changelog:
12
- uses: WireCatLabs/cli-base/.github/workflows/changelog-guard.yml@d8d32114a008109b9d0a8d04e729b20d81bc6122 # v0.57.0
12
+ uses: WireCatLabs/cli-base/.github/workflows/changelog-guard.yml@a9aa6915309bd4ef415053df8f1af9b127f084cc # v0.61.0
@@ -19,7 +19,7 @@ permissions:
19
19
 
20
20
  jobs:
21
21
  ci:
22
- uses: WireCatLabs/cli-base/.github/workflows/node-ci.yml@b2d2418af0e23ecc816f3117ae2b0c627917fca5 # v0.55.0
22
+ uses: WireCatLabs/cli-base/.github/workflows/node-ci.yml@a9aa6915309bd4ef415053df8f1af9b127f084cc # v0.61.0
23
23
  with:
24
24
  pack: ${{ inputs.pack || false }}
25
25
  bun-run: pnpm build && pnpm smoke:bun
@@ -22,7 +22,7 @@ jobs:
22
22
  contents: read
23
23
  actions: read
24
24
  security-events: write
25
- uses: WireCatLabs/cli-base/.github/workflows/release-checks.yml@b2d2418af0e23ecc816f3117ae2b0c627917fca5 # v0.55.0
25
+ uses: WireCatLabs/cli-base/.github/workflows/release-checks.yml@a9aa6915309bd4ef415053df8f1af9b127f084cc # v0.61.0
26
26
  with:
27
27
  dependencies: true
28
28
  languages: '["actions","javascript-typescript"]'
@@ -56,7 +56,7 @@ jobs:
56
56
  contents: read
57
57
  actions: read
58
58
  security-events: write
59
- uses: WireCatLabs/cli-base/.github/workflows/release-checks.yml@b2d2418af0e23ecc816f3117ae2b0c627917fca5 # v0.55.0
59
+ uses: WireCatLabs/cli-base/.github/workflows/release-checks.yml@a9aa6915309bd4ef415053df8f1af9b127f084cc # v0.61.0
60
60
 
61
61
  build:
62
62
  needs: [checks, validation]
package/CHANGELOG.md CHANGED
@@ -5,6 +5,48 @@ Notable changes to `@wirecat/cli-template`. One section per version, newest firs
5
5
 
6
6
  <!-- cspell:words katex smol whatsapp -->
7
7
 
8
+ ## 0.5.0 — 26.10.2026
9
+
10
+ ### Changed — may break callers
11
+
12
+ - **The skeleton runs on cli-core 0.442.0; cli-base stays at 0.59.0**, the only line cli-core 0.442 accepts. A CLI
13
+ with its own program that calls `recordRuns` now keeps the command line in its run records without passing the
14
+ typed words through `run()`, secrets hidden; the skeleton's commands record through cli-core and need nothing.
15
+
16
+ ### Security
17
+
18
+ - **A run record and a kept error message find a secret by what it looks like** (from cli-core 0.442.0): a token in
19
+ a known format, a `Bearer` or `Basic` credential, the value after a secret name such as `password=`, and a
20
+ random-looking string of 20 or more characters. `docs/security.md` says what is found and what is not.
21
+ - **A config that will not load no longer lets a run record keep the typed words** (from cli-core 0.442.0). The words
22
+ are masked, as `record_input false` would.
23
+
24
+ ### Added
25
+
26
+ - **`pnpm kit:e2e` checks that a token typed as a word is `[redacted]`** in the failed run's record.
27
+
28
+ ## 0.4.0 — 26.10.2026
29
+
30
+ ### Changed — may break callers
31
+
32
+ - **The skeleton runs on cli-core 0.440.0; cli-base stays at 0.59.0**, the only line cli-core 0.440 accepts. The
33
+ `--record` help now says what a run keeps: "keep this run, with the command as typed and secrets hidden;
34
+ record_input false leaves the typed words out", no longer "ids and timings, never content". `docs/commands.md`
35
+ changes with it, and a CLI that keeps help snapshots refreshes them once. A command a CLI records itself with
36
+ `recorded` or `startRecording` can keep its command line by passing `context: runContextOf(…)`; the skeleton's
37
+ commands record through cli-core and need nothing.
38
+
39
+ ### Security
40
+
41
+ - **A phone number no longer reaches a run record** (from cli-core 0.440.0). One written with its "+" and country
42
+ code, or 11 to 15 digits in a row, is `[redacted]` inside the word typed, so a long id of that length is hidden as
43
+ well. `docs/security.md` says so.
44
+
45
+ ### Fixed
46
+
47
+ - **`pnpm docs:spell` also checks `AGENTS.md`, `CLAUDE.md` and `skills/`.** `package.json` is copied once, so a CLI
48
+ adds them to its own `docs:spell` by hand.
49
+
8
50
  ## 0.3.0 — 26.10.2026
9
51
 
10
52
  ### Changed — may break callers
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.3.0";
1
+ export declare const VERSION = "0.5.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.3.0";
1
+ export const VERSION = "0.5.0";
2
2
  //# sourceMappingURL=version.js.map
package/docs/commands.md CHANGED
@@ -29,7 +29,7 @@ lists the profiles on this computer.
29
29
  | `--full` | found items with their whole text and every provider field. |
30
30
  | `--dry-run` | preview parsed arguments and permissions before running the action. |
31
31
  | `--yes` | go ahead without the question an ask level puts before a write. |
32
- | `--record` | keep this run — ids and timings, never content. |
32
+ | `--record` | keep this run, with the command as typed and secrets hidden; record_input false leaves the typed words out. |
33
33
  | `--no-record` | do not keep it, whatever the configuration says. |
34
34
 
35
35
  ## `clidev commands`
package/docs/security.md CHANGED
@@ -7,8 +7,16 @@ What WireCat CLIs share — the keyring, permissions, MCP and what never reaches
7
7
  to any service yet.
8
8
 
9
9
  A run record keeps the command line as you typed it, so `clidev runs show` tells you what was run. A secret is still
10
- stored as `[redacted]`: an option named like a token or password, a password in a link, a long opaque string. To
11
- keep none of the words you type, run `clidev personal config set record_input false`.
10
+ stored as `[redacted]`: an option named like a token or password, a password in a link, a long opaque string. A
11
+ phone number is replaced by `[redacted]` inside the word you typed, message text included: one written with its "+" and
12
+ country code, or 11 to 15 digits in a row, so a long id of that length is hidden as well. To keep none of the words
13
+ you type, run `clidev personal config set record_input false`.
14
+
15
+ A secret is also found by what it looks like, in a run record and in a kept error message: a token in a known
16
+ format (GitHub, OpenAI, Slack, AWS, Stripe, npm and the like), a `Bearer` credential, the value after a secret name
17
+ such as `password=` or `API_TOKEN=`, and a random-looking string of 20 or more characters. Some secrets look like
18
+ ordinary words and stay: a hex key in one case shorter than 40 characters, a short password typed without a secret
19
+ name before it, and a secret inside a link or a file path unless it is in a known format or after a secret name.
12
20
 
13
21
  `config.json` is saved readable by you only (`0600`), and its folder is created for you only (`0700`). A file or
14
22
  folder made by an older version may be open to other users of the computer: `clidev doctor` lists each under
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirecat/cli-template",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Start a new WireCat CLI: a working skeleton on cli-base and cli-core, copied by new and kept current by upgrade",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Viacheslav Ptsarev",
@@ -76,7 +76,7 @@
76
76
  "release:check": "pnpm standards:check && pnpm lint && pnpm typecheck && pnpm test:coverage && pnpm lint:commands && pnpm audit:commands && pnpm contracts:check && pnpm test:matrix:check && pnpm docs:check && pnpm generate:check && pnpm version:check && pnpm security:no-leak && pnpm package:check",
77
77
  "prepare": "lefthook install || true",
78
78
  "prepack": "pnpm build",
79
- "docs:spell": "cspell lint --config cspell.json --no-progress --no-summary README.md SECURITY.md CHANGELOG.md 'docs/*.md'",
79
+ "docs:spell": "cspell lint --config cspell.json --no-progress --no-summary README.md SECURITY.md CHANGELOG.md AGENTS.md CLAUDE.md 'docs/*.md' 'skills/**/*.md'",
80
80
  "kit:build": "tsc -p kit && node -e \"require('node:fs').copyFileSync('.gitignore', 'gitignore')\"",
81
81
  "kit:typecheck": "tsc -p kit/tsconfig.test.json",
82
82
  "kit:e2e": "bash kit/e2e.sh",
@@ -85,7 +85,7 @@
85
85
  "dependencies": {
86
86
  "@modelcontextprotocol/server": "2.4.0",
87
87
  "@wirecat/cli-base": "0.59.0",
88
- "@wirecat/cli-core": "0.439.0",
88
+ "@wirecat/cli-core": "0.442.0",
89
89
  "commander": "15.0.0"
90
90
  },
91
91
  "devDependencies": {
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = "0.3.0"
1
+ export const VERSION = "0.5.0"