1# `@nzip/cli`23**Push a directory of HTML from the terminal. Get a four-character URL back.**45The command-line client for [nzip](https://github.com/FelineStateMachine/nzip), a personal,6self-hosted share tool. The CLI bundles a directory, uploads only the blobs your server hasn't seen,7and prints a tiny URL. The backend is your own Cloudflare Worker (R2 + D1); there is no public8service.910## Install1112Requires [Deno](https://docs.deno.com/runtime/) on your `PATH`.1314```sh15deno install -g -A -f -n nzip jsr:@nzip/cli16```1718Try it without installing:1920```sh21deno run -A jsr:@nzip/cli --help22```2324## Use2526```sh27nzip auth --server https://share.example.com # authenticate (prompts for the token)28nzip vault add work # register a named vault29nzip push ./site work:demo --ttl 30d # → https://share.example.com/12d830```3132Config is saved to `~/.config/nzip/config.json` (mode 0600), so later commands just work. On a second33machine, install from JSR and re-run `nzip auth` with the same server and token; every vault and site34is already there.3536## Commands3738```text39nzip auth [--server URL] [--token T] authenticate and save config40nzip vault add <name> [--slot N] register a vault (16 slots, 0x0–0xf)41nzip vault ls | default <name> list vaults / set the default42nzip push <dir|file> [target] [--ttl 14d|30d|forever]43nzip share <target> [--ttl …] [--password PW | --no-password]44nzip ls [vault] list sites45nzip where <target> print the local dir this machine pushed from46nzip rm <target> [--yes] delete a site47nzip status server + vault overview48nzip revert <target> [--to N] [--list] repoint to a previous push49```5051See the [project README](https://github.com/FelineStateMachine/nzip) for how addresses work,52self-hosting setup, and architecture. MIT licensed.