Files
pbakaus_impeccable/cli/platform-packages/README.md
T
Paul Bakaus 6dd16d21ef CLI: turn the impeccable npm package into a platform-binary shim
cli/engine, cli/lib, and cli/bin/commands are gone; their behavior lives in
the engine binary. cli/bin/cli.js now resolves the binary from IMPECCABLE_BIN,
the @impeccable/cli-<os>-<arch> optional dependency (templates under
cli/platform-packages/, published by the engine release), the
~/.impeccable/bin/<version>/ cache, or a checksum-verified download, and
execs it. package.json drops the engine dependencies and the library
exports; puppeteer moves to devDependencies for the icon scripts.
README.npm.md describes the shim.

Prepared with AI assistance (Claude Code).
2026-08-31 19:57:42 -07:00

16 lines
775 B
Markdown

# Platform packages
Templates for the `@impeccable/cli-<os>-<arch>` packages the `impeccable` npm
shim (`cli/bin/cli.js`) declares as `optionalDependencies`. npm installs only
the one matching the host (`os` / `cpu` fields), and the shim resolves
`<package>/bin/impeccable[.exe]` from it before falling back to the user cache
or a download.
They are **published by the engine release**, not from this repo: the release
pipeline copies each template, sets `version` to the engine version, drops the
built binary at `bin/impeccable[.exe]` (executable), and publishes it under
`@impeccable`. The version pinned in this repo's `package.json`
`optionalDependencies` must equal `ENGINE_VERSION`.
Targets: `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `windows-x64`.