@donezone/cli
v0.1.41
Published
The Done CLI is being rebuilt from the ground up. The four commands described in [`SPEC.md`](./SPEC.md) (`init`, `build`, `deploy`, `dev`) are already exposed via Commander, but they intentionally exit with "not implemented" messages until their full beha
Readme
Done CLI (Spec-first Stub)
The Done CLI is being rebuilt from the ground up. The four commands described in SPEC.md
(init, build, deploy, dev) are already exposed via Commander, but they intentionally exit with
"not implemented" messages until their full behaviour lands.
Use this package as a starting point when implementing the new workflow—wire each command to the
logic outlined in the spec, add supporting modules under src/, and extend the tests accordingly.
Binary releases
Single-file binaries for @donezone/cli are built automatically via the
cli-build job inside .github/workflows/npm-publish.yml. Every publishable tag uploads archives for Linux
(glibc only, x64 + arm64), macOS (arm64 + x64), and Windows (x64). Each release also includes a manifest.json
file used by the installer. After each release, the workflow mirrors all binaries + manifest to the public
mccallofthewild/done-cli-binaries repository so install.sh can pull them without authenticating.
To install the latest CLI binary without cloning this repo, run:
curl -fsSL https://raw.githubusercontent.com/mccallofthewild/cw-js/main/packages/done-cli/install.sh | bashPass an explicit tag or version (bash install.sh v0.1.4) to install a historical build. Set
DONECLI_BIN_DIR to override the installation directory. Point DONECLI_RELEASE_REPO at your own public
releases repository if you mirror binaries elsewhere.
Publishing binaries
Push a tag named vX.Y.Z (or run the workflow manually) to build and publish a new set of multi-platform
binaries (Linux glibc, macOS, Windows) plus the manifest file. The .github/workflows/npm-publish.yml workflow
(jobs cli-build/cli-release) runs automatically for each such tag push and mirrors artifacts to the public
mccallofthewild/done-cli-binaries releases (requires a CLI_RELEASES_TOKEN PAT secret so the workflow can
publish to that repository).
Make sure the mirror repository has been initialised (e.g. add an empty README and push a main branch) before
running the workflow; GitHub's release API rejects uploads to entirely empty repositories with HTTP 422.
Run bun bump-cli [patch|minor|major] from the repo root to bump the CLI version, stamp the release commit,
and create the tag in one step.
