A Swiss Army Knife that installs the tools you actually use, with a single command:
curl -fsSL https://coody.app/install.sh | bashThis installs the SAK CLI to ~/.sak and adds it to your PATH. You can
also install a tool directly in one shot:
curl -fsSL https://coody.app/install.sh | bash -s -- install dockerCurrently supported: Debian-based Linux and macOS for sak itself and
the ops commands. Installing tools (sak install <tool>) requires
Debian-based Linux (Ubuntu, Debian, etc) — tool installers haven't been
ported to macOS package managers yet.
sak list # see available tools
sak install <tool> # install one, e.g. `sak install docker`
sak update # pull the latest sak + tool scripts
sak versionOne-shot maintenance tasks against a provider's API/CLI — credentials come from environment variables, never hardcoded:
sak cloudflare dns [tunnel-id] # delete DNS CNAMEs pointing at a tunnel
sak cloudflare ip [tunnel-id] # delete private network IP routes for a tunnel
sak cloudflare tunnels # list tunnels for the authenticated account
sak cloudflare mtls <domain> # issue an mTLS cert via acme.sh + Cloudflare DNS challenge
sak cloudflare worker-purge # bulk-delete non-production Cloudflare Pages deployments
sak gh prs [gh pr list args...] # list PRs for the current repo
sak gh purge-artifacts <user> [org] # bulk-delete GitHub Actions artifactsRun sak cloudflare or sak gh with no action to see the list of available
actions and which environment variables each one needs.
Drop a self-contained, idempotent script at apps/cli/src/<tool>/setup.sh.
It will show up automatically in sak list and run via sak install <tool>.
See apps/cli/src/docker/setup.sh for the existing example.
Run SAK straight from a checkout, without installing it:
./apps/cli/run.sh list
./apps/cli/run.sh install dockerThis is an Nx monorepo, mainly for nx affected-driven CI
across the few pieces below — there's no compiled code here, so Nx isn't
buying caching or codegen, just consistent lint/test/deploy targets.
apps/cli/— the SAK CLI itself (bin/,lib/,src/,ops/,run.sh).src/holds tool installers (sak install <tool>);ops/holds one-shot provider maintenance commands (sak <namespace> <action>).install.shstays at the repo root — it's fetched by a hardcoded URL from the Worker that servescoody.app/install.sh, and it extractsapps/cli/from the downloaded tarball into$SAK_HOME.apps/worker/— the Cloudflare Worker servingcoody.app/install.sh.apps/www/— the Vite + React + Tailwind + shadcn/ui site atsak.coody.app.test/cli/— bats tests forapps/cli/bin/sak.
apps/worker/ and apps/www/ use pnpm workspaces
(pnpm install from the repo root). apps/cli/ has no package.json — it's
plain bash, linted with shellcheck and tested with bats, no install step
needed.
coody.app/install.sh is served by a Cloudflare Worker (coody-sak-prd-01)
that proxies this repo's install.sh — see
apps/worker/README.md for the deploy runbook.
sak.coody.app is a static site served by a separate Worker
(coody-sak-www-prd-01) — see apps/www/README.md.
Bug reports and PRs are welcome — see CONTRIBUTING.md
for dev setup and how to add a tool. Please also read the
Code of Conduct. SAK is MIT licensed.
