@cerebral-work/lizard
v0.1.1
Published
Installer for lizard, the estate onboarding and control TUI. Downloads the release binary with your own gh login and verifies its SHA-256.
Readme
@cerebral-work/lizard
Installs lizard, the estate onboarding and control TUI, from its GitHub releases.
npx @cerebral-work/lizard # the latest release, into ~/.local/bin
npx @cerebral-work/lizard --release v0.5.0 # a specific release
npx @cerebral-work/lizard --bin-dir ~/bin # somewhere else
npx @cerebral-work/lizard --dry-run # show what would happen
npx @cerebral-work/lizard status # installed vs latest; exit 1 if they differThen run lizard.
From code
The @cerebral-work/install wizard imports this package rather than running
it. install() and status() return the same { lines, conflicts } report as
@cerebral-work/skills. Both are async, so a caller can keep its UI moving
during a download, and both reject with InstallError, whose message is meant
to be shown as is.
import { install, status } from "@cerebral-work/lizard";
await status({ home }); // conflicts: 1 if missing or out of date
await install({ home, dryRun: true }); // { lines: ["would install lizard v0.5.0 ..."], conflicts: 0 }
await install({ home }); // also takes release and binDirTypes ship in lib/lizard-install.d.ts.
Who can install it
This package is public, but lizard is not. The installer downloads the release
with your own gh login, so it works only if that login can read
unsigned-gg/lizard. Without access, nothing is installed.
What it does
- Picks the build for this machine: Linux x86_64, macOS Intel or macOS Apple Silicon. On native Windows, run it from WSL. aarch64 Linux has no build yet.
- Checks that
ghis logged in, then reads the release. - Downloads the tarball and checks its SHA-256 against the digest GitHub publishes for that file. A mismatch, or a release with no digest, stops the install before anything is written.
- Installs
lizardinto the bin directory, replacing an older copy, and runslizard --versionfrom there.
LIZARD_VERSION and LIZARD_BIN_DIR work the same as --release and
--bin-dir, and match scripts/install-lizard.sh.
Requirements
Node 22 or later, gh, and tar.
Publishing
Not automated yet. This package is versioned separately from lizard:
release-please skips commits that touch only npm/. A PR that also touches
other files is counted by its merge commit, so give it a title that doesn't
bump the version, such as build(npm): .... To ship a change, bump version in
package.json, check the file list with npm pack --dry-run, then run
npm publish from npm/.
