sick, in your terminal
One file, no dependencies, for Node 20 or later. It works on one workspace through that workspace's link: pull and push files, read and set its secrets, and start a sandbox with its terminal right in yours.
Get it
curl -fsSL https://sick.cat/cli/sick.mjs -o sick.mjs && node sick.mjs help
Check that what you downloaded is this version, byte for byte (on Linux, sha256sum -c instead):
echo "0de0ff11fb0467372fa32a12f2d043ca46a3889ef00f32e136edd2972efde5a9 sick.mjs" | shasum -a 256 -c
Put it on your PATH (no npm needed)
mkdir -p ~/.local/bin && mv sick.mjs ~/.local/bin/sick && chmod +x ~/.local/bin/sick
If sick is then not found, add export PATH="$HOME/.local/bin:$PATH" to your shell's profile and open a new terminal. Then log in with a workspace's link (copy it from the workspace page): sick login <link>. The link is stored in ~/.config/sick/config.json, readable by you alone, and never printed back.
Used it as venice before? That name still works: the same file is served at https://sick.cat/cli/venice.mjs, ln -s sick ~/.local/bin/venice keeps the old command, and a link venice login saved is still read.
This version
- Version
- 1.1.0
- sha256
0de0ff11fb0467372fa32a12f2d043ca46a3889ef00f32e136edd2972efde5a9- Size
- 49.8 KB
- This version, always
- https://sick.cat/cli/sick-1.1.0.mjs
Commands
sick login <link> | store a workspace link (write link, or read-only link) for the other commands |
sick logout | forget the stored link |
sick whoami | the workspace, what the link may do, and (write link) the balance |
sick ls | list the workspace's files |
sick pull [dir] [--yes] | download the files into dir (default: here); a file you changed here, or a new dotfile (.env, .github/…), is kept back unless --yes; nothing is ever written into .git |
sick push [dir] [--yes] | upload what changed in dir (default: here); shows the change list first, --yes uploads it. Respects .gitignore and .sickignore |
sick cat <path> | print one file |
sick rm <path> | delete one file (to Recently deleted, for 24 hours) |
sick env ls [--show] | env set NAME VALUE|- [--var] | env rm NAME | the workspace's secrets and variables (VALUE - reads it from stdin, out of your shell history); values are not printed unless --show (a variable's; a secret's is never sent back) |
sick engines | the sandbox engines and what each costs an hour |
sick run [--engine pico] | start a sandbox and open its terminal here (Ctrl-] detaches; the sandbox keeps running) |
sick attach [--session N] | open the terminal of a running sandbox (the newest, unless --session) |
sick stop [--session N | --all] [--yes] | stop a sandbox; with changes not yet pulled back it asks for sync first, or --yes |
sick sync [--session N] [--yes] [--delete] | list what changed in a sandbox; --yes brings it into the workspace (a file deleted there only with --delete) |
sick open [--link] | print the workspace's address (--link: the whole link, with its key) |
sick help [command] | this help, or one command's |
sick version | this command line's version |
A read-only link reads (whoami, ls, pull, cat, open); everything that changes the workspace or starts a sandbox needs the write link. Every refusal says what to do next.