For files, sites, docs, and everything else

Put anything
on the internet

plint deploys any directory to a global CDN. Sites, documents, reports, artifacts — if it's a file, it's live in seconds.

~/report

A command, not a platform.

You have files. You want them online. That shouldn't require a platform account, a config file, or a build pipeline. plint is one command. No dashboard. No YAML. No middleman.

>_

Any file. Any directory. One command.

Point plint at a folder or a file. It's live on a global CDN. No config. No build step. No dashboard.

Smart sync — only what changed

Re-deploys take seconds. Unchanged files stay put. SHA-256 diffing.

Infrastructure creates itself

First deploy auto-provisions storage and CDN. No setup steps. No portal.

Pennies, not platforms

Pay for what you use — storage at $0.01/GB/mo, bandwidth at $0.01/GB. No tiers. No per-seat pricing. No surprises.

Your key. Your cloud.

Bring your own Bunny.net API key. No plint account. No middleman. You own the infrastructure.

Agent-friendly by default

Stable --json output. No interactive prompts. Built for Codex, Claude Code, and CI.

Two steps. Seriously.

1

Log in

Save your Bunny.net API key. Stored locally, never sent to us.

plint login
2

Deploy

Point at a directory or file. CDN, caching, and SSL are automatic. You get a URL.

plint .

Works for you. Works for your agent.

You
terminal
plint .
Scanning ./dist (3 files)
Uploading 3 files...
3 uploaded · 0 deleted · 0 skipped
CDN cache purged
✓ Live at https://plint-a7f3x2.b-cdn.net
Your agent
agent
plint --json .
{
  "ok": true,
  "command": "deploy",
  "data": {
    "url": "https://plint-a7f3x2.b-cdn.net",
    "uploaded": 3, "deleted": 0
  }
}

Human-readable output at the keyboard. Stable JSON when your agent is driving. Same tool, same command — just add --json.

100+ edge nodes. Zero setup.

Your files are cached at 100+ points of presence worldwide. Fast for every visitor, everywhere. No CDN configuration required.

NA EU APAC SA AF OCE

Sites. Docs. Reports. Artifacts.

If it's a file, plint puts it on the internet. Same command, whatever you're deploying.

</>

Static sites

Portfolios, landing pages, blogs

plint ./dist
PDF

Documents

Proposals, reports, client deliverables

plint ./report

Dashboards

Generated HTML reports, data visualizations

plint ./dashboard

Build artifacts

Compiled assets, release bundles

plint ./build

Documentation

API docs, wikis, knowledge bases

plint ./docs

Any files

If it's a file, plint puts it online

plint .

plint is free. Bunny is pennies.

No plint account. No plint billing. You pay Bunny.net directly for storage and bandwidth — and new accounts get $25 free.

plint

$0

Open source. Free forever.

  • Unlimited deploys
  • Smart file diffing
  • Auto-provisioning
  • --json agent output
  • All 9 commands
  • No account needed

Bunny.net

Pay as you go

Your infrastructure. Your billing.

  • Storage at $0.01/GB/mo
  • Bandwidth at $0.01/GB
  • 100+ global edge nodes
  • Free SSL certificates
  • No minimum commit
  • No per-seat pricing
$25 free New Bunny.net accounts get $25 in credits — enough to host for months.

Small surface.
Full lifecycle.

Every command supports --json. Nine commands. That's it. See all commands on GitHub →

  • plint <path> Deploy a directory or file
  • plint login Save your Bunny API key
  • plint doctor Diagnose auth and connectivity
  • plint purge Purge CDN cache manually
  • plint destroy Tear down storage and CDN

Put something on the internet.

One line. Five seconds. You're live.

$ curl -fsSL https://plint.cloud/install.sh | sh CLICK TO COPY