pi-kage 0.3.4 → 0.3.6

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 (3) hide show
  1. package/README.md +20 -5
  2. package/bin/kage.mjs +690 -620
  3. package/package.json +13 -3
package/README.md CHANGED
@@ -47,8 +47,8 @@ can't check out the same branch twice, you share stash/refs, and you get a *fres
47
47
  npm install -g pi-kage # then use `kage` anywhere
48
48
  npx pi-kage # or run without installing
49
49
 
50
- # pnpm (use @latest so a stale metadata cache doesn't pin you to an old version)
51
- pnpm add -g pi-kage@latest
50
+ # pnpm
51
+ pnpm add -g pi-kage
52
52
  pnpm dlx pi-kage # or run without installing
53
53
 
54
54
  # or install script (no npm needed — kage is a single, zero-dependency Node script)
@@ -62,7 +62,7 @@ From source:
62
62
 
63
63
  ```bash
64
64
  git clone https://github.com/kid7st/kage
65
- cd kage && npm link
65
+ cd kage && npm install && npm link # `npm install` builds bin/kage.mjs from src/ (TypeScript)
66
66
  ```
67
67
 
68
68
  Requires **git**, [**pi**](https://github.com/earendil-works), and **Node ≥ 18** on your `PATH`.
@@ -168,9 +168,24 @@ pass `--push` / `--pr` / `--force`.
168
168
 
169
169
  ## Development
170
170
 
171
+ The CLI and its tests are written in TypeScript and compiled with `tsc`:
172
+
173
+ - `src/kage.mts` → `bin/kage.mjs` — a single, zero-runtime-dependency file (the only thing the
174
+ install script + npm package ship).
175
+ - `test/kage.test.mts` → `dist/kage.test.mjs` — black-box `node:test` smoke tests that spawn the
176
+ built CLI (compiled to `dist/` so they run on every Node in CI, no TS loader needed).
177
+
178
+ `bin/` and `dist/` are build artifacts — both gitignored. `bin/` is produced on `npm install`
179
+ (via `prepare`), so `npm link` from a clone just works.
180
+
181
+ Linting/formatting is handled by [Biome](https://biomejs.dev) — a dev-only dependency that never
182
+ ships in the package, so the zero-runtime-dependency artifact is unaffected.
183
+
171
184
  ```bash
172
- npm run lint # syntax check
173
- npm test # node:test smoke tests (temp repos, no network)
185
+ npm run build # tsc: src/kage.mts -> bin/kage.mjs
186
+ npm run format # biome: auto-format + safe lint fixes
187
+ npm run lint # biome (lint + format check) + tsc type check (src + test)
188
+ npm test # build CLI + tests, then run node:test smoke tests (temp repos, no network)
174
189
  ```
175
190
 
176
191
  Releases publish automatically: bump `version` in `package.json`, then