Install the CLI
The seal CLI is a single static Go binary. It runs locally and in CI with no external dependencies.
The source lives at github.com/SamyGhannad/seal-cli.
Option 1: go install
Section titled “Option 1: go install”Requires Go on PATH. For repeatable installs, pin a release tag:
go install github.com/SamyGhannad/seal-cli/cmd/seal@v1.1.1For local experimentation, @latest installs the newest published release.
The binary lands in $GOBIN (or $GOPATH/bin). Make sure that directory is on your PATH:
export PATH="$(go env GOPATH)/bin:$PATH"seal --versionOption 2: Build from source
Section titled “Option 2: Build from source”git clone https://github.com/SamyGhannad/seal-cli.gitcd seal-climake build./bin/seal --versionmake build stamps the binary with git describe --tags --always --dirty so local builds report a useful version string.
To install into $GOBIN:
make installTo cross‑compile the five release targets (linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64) into bin/:
make release-snapshotThe release‑snapshot flags mirror the GitHub Actions release workflow, so local smoke tests catch flag‑related regressions before tagging.
Option 3: Prebuilt binaries
Section titled “Option 3: Prebuilt binaries”A GitHub Actions release workflow builds static binaries on git tag v* for:
linux-amd64linux-arm64darwin-amd64darwin-arm64windows-amd64
Each release attaches the binaries and one .sha256 sidecar per binary. Pinning to a specific tag is recommended for CI:
SEAL_VERSION=v1.1.1curl -L -o seal-linux-amd64 \ "https://github.com/SamyGhannad/seal-cli/releases/download/${SEAL_VERSION}/seal-linux-amd64"curl -L -o seal-linux-amd64.sha256 \ "https://github.com/SamyGhannad/seal-cli/releases/download/${SEAL_VERSION}/seal-linux-amd64.sha256"shasum -c seal-linux-amd64.sha256chmod +x seal-linux-amd64./seal-linux-amd64 --versionAdjust the asset name for your OS/arch, and check the releases page for newer published tags.
Verify the install
Section titled “Verify the install”seal --helpYou should see four subcommands:
init: bootstrapseal.jsonin the current directorypin: pin or re‑pin bundles intoseal.jsonverify: verifyseal.jsonagainst the on‑disk stateupgrade: update the CLI to the latest published release
Upgrade later
Section titled “Upgrade later”seal upgrade --checkseal upgradeseal upgrade handles both install methods. Go-installed binaries are refreshed with go install ...@latest; prebuilt release binaries are replaced after downloading the matching GitHub Release asset and verifying its .sha256 sidecar.
Next: the quickstart walks through init → pin → verify on a real project.