one binary, five commands
the cli.
Everything the API does, from the place you already live. Quiet on success, loud on failure, exit codes you can trust in a script.
install
Single static binary, no runtime, no dependencies. Windows folks: it runs fine under WSL; a native build is on the list.
commands
| command | does |
|---|---|
| shortner new <url> | Create a link. --slug to choose the address, --expires and --fallback for lifecycle. |
| shortner ls | List every link on your key, newest first. |
| shortner edit <slug> | Repoint with --url, or change --status / --expires / --fallback. |
| shortner stats <slug> | Totals and a 14-day sparkline, right in the terminal. |
| shortner rm <slug> | Delete (30-day polite fallback applies, same as the API). |
a normal day with it
in ci
The CLI reads SHORTNER_KEY from the environment, so minting a short link for every release is a one-liner in your pipeline:
That's the pattern this tool was born for: the address in your app's "What's new" button never changes; what's behind it does, on every ship.
bulk import
The importer paces itself under the rate limit and resumes cleanly if interrupted — a 400-link migration shouldn't require babysitting.
No key yet? The CLI is useless without one, and keys go out by email while onboarding runs in batches. Ask for one — mention you're a terminal person and we'll like you more.