@liteio/storage-cli
Files from
your terminal.
Upload, download, and share files with one command. Single binary. No dependencies.
Install
$
curl -fsSL https://storage.liteio.dev/cli/install.sh | sh
$ storage put demo.pdf docs/
PUT docs/demo.pdf 2.4 MB
$ storage ls docs/
demo.pdf 2.4 MB just now
readme.md 1.2 KB 2h ago
$ storage share docs/demo.pdf
https://storage.liteio.dev/s/k7x9m2
expires in 24h
PUT docs/demo.pdf 2.4 MB
$ storage ls docs/
demo.pdf 2.4 MB just now
readme.md 1.2 KB 2h ago
$ storage share docs/demo.pdf
https://storage.liteio.dev/s/k7x9m2
expires in 24h
Tutorial
Up and running in 60 seconds.
Install, authenticate, upload your first file.
01
Install the CLI
A single binary, no runtime needed. Works immediately after install.
$ curl -fsSL https://storage.liteio.dev/cli/install.sh | sh
02
Sign in
Opens your browser, confirms your identity, saves the token locally.
$ storage login
03
Upload something
Any file, any size. It's in your storage in seconds.
$ storage put report.pdf docs/
Command reference
Everything the CLI can do.
Every command supports --json for scripting and --quiet for silence.
File operations
put
aliases: upload, push
Upload a file or pipe from stdin. Streams directly to the edge — no temp files.
$ storage put photo.jpg images/
get
aliases: download, pull
Download a file to the current directory, or specify a destination path.
$ storage get images/photo.jpg
cat
aliases: read
Print file contents to stdout. Perfect for piping into other tools.
$ storage cat config.json | jq '.'
ls
aliases: list
List files and folders at a path. Shows name, size, and modified time.
$ storage ls docs/
mv
aliases: move, rename
Move or rename a file. Works across folders.
$ storage mv draft.md final.md
rm
aliases: delete, del
Delete one or more files. Folders too, with everything inside.
$ storage rm old-draft.md
Discovery
find
aliases: search
Search files by name across your entire storage. Multi-word queries with relevance scoring.
$ storage find "quarterly report"
stat
aliases: stats
See how much storage you're using. Shows file count and total bytes.
$ storage stat
share
aliases: sign
Create a temporary public link. Set a custom TTL or use the default (1 hour, max 7 days).
$ storage share report.pdf --ttl 86400
Authentication
login
Authenticate via your browser. Opens a browser tab, verifies your identity, saves the token to
~/.config/storage/token.
$ storage login
token
Show your current token and where it came from (flag, env, or file). Or set a new one.
$ storage token
key
aliases: keys
Create, list, or revoke API keys. Keys can be scoped to a path prefix for security.
$ storage key create deploy --prefix cdn/
Global flags
Works on every command.
Pass these to any command to control output and auth.
Flag
Short
What it does
--json-jOutput as JSON — pipe into
jq or any tool--quiet-qSuppress non-essential output
--token-tUse a specific token (overrides env and config file)
--endpointOverride the API base URL
--no-colorDisable colored output (also:
NO_COLOR=1)Recipes
Real-world workflows.
Copy-paste these into your terminal, CI config, or scripts.
CI / CD
Upload build artifacts
Set
STORAGE_TOKEN as a secret in your CI. Upload happens in one step.
$ storage put dist/app.js cdn/v1.2.0/
Backups
Stream from any command
Pipe directly into storage. No temp files, no disk space needed.
$ pg_dump mydb | storage put - backups/db.sql
Scripting
JSON output for automation
Every command supports
--json. Pipe into jq, fx, or your own scripts.
$ storage ls --json | jq '.[].name'
Scoped API key for a deploy pipeline
$ storage key create github-deploy --prefix cdn/
CREATED github-deploy
prefix: cdn/
token: sk_a8f3c7e2d1b9...4k2m
Add to your CI secrets:
STORAGE_TOKEN=sk_a8f3c7e2d1b9...4k2m
CREATED github-deploy
prefix: cdn/
token: sk_a8f3c7e2d1b9...4k2m
Add to your CI secrets:
STORAGE_TOKEN=sk_a8f3c7e2d1b9...4k2m
Share a file with a 24-hour link
$ storage share docs/report.pdf --ttl 86400
https://storage.liteio.dev/s/k7x9m2
expires in 24h
$ storage share photos/team.jpg
https://storage.liteio.dev/s/m2n8p4
expires in 1h
https://storage.liteio.dev/s/k7x9m2
expires in 24h
$ storage share photos/team.jpg
https://storage.liteio.dev/s/m2n8p4
expires in 1h
Authentication
Two ways to authenticate.
Browser login for your laptop. API keys for your scripts.
Interactive
Browser login
Opens your browser. No password needed. Token saved to
~/.config/storage/token.
$ storage login
Automation
API keys
For CI and scripts. Scope keys to a prefix for security. Set
STORAGE_TOKEN env var.
$ storage key create deploy --prefix cdn/
Token resolution order:
--token flag → STORAGE_TOKEN env → ~/.config/storage/token
> ready?
Try it now.
One command to install. Works on macOS, Linux, and Windows.
$
curl -fsSL https://storage.liteio.dev/cli/install.sh | sh