mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 06:06:37 +03:00
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).
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.