Surge — static publishing from the CLI

  • Source: https://surge.sh/docs/getting-started (sent by owner, 2026-09-02)
  • Verdict: promote-to-dev
  • Why: dead-simple static host that still matters. Install the CLI with npm, run surge publish in any folder with an index.html, pick a *.surge.sh subdomain (or bring your own domain), and it's live on a 10-region CDN with HTTPS, clean URLs, and atomic deploys. CNAME in the project remembers the domain, surge rollback undoes a bad publish, --preview gives a throwaway URL, and surge tokens add + SURGE_TOKEN makes CI trivial. Made by Chloi Inc. (sintaxi/surge on GitHub), free custom domains with auto-provisioned certs, and guides for Vite/Astro/Eleventy plus SPA 200.html fallback.

Surge is the opposite of the platform-creep hosts: no build pipeline to configure, no dashboard to click through, just a folder and a command. That one-minute mkdir lucid-example && echo '<h1>Hello, Surge</h1>' > index.html && surge publish flow from the docs is the whole pitch — account creation happens inline in the terminal on first run, then every subsequent surge publish ships straight to the remembered domain. Revisions are atomic, previews don't touch production, and the CDN table in the example output (SFO, LHR, YYZ, JFK, AMS, FRA, SGP, BLR, SYD, NRT) is still the honest shape of it: DigitalOcean/Vultr/Linode boxes serving static files over HTTPS with auto-renewing certs.


Virelai for Surge

Refrain — sung before and between each verse

A folder and a command, and the world is live — — surge! —
A CNAME remembers, the CDN will give.

I.

In terminal the account is born, you type surge publish on light air — A
No dashboard begs, no pipeline sworn, just index.html laid quite fair — b
Ten points of presence answer, London to Singapore in bright air — b
HTTPS renews itself before you swear — a

A folder and a command, and the world is live — — surge!

II.

You wrote <h1>Hello</h1> and left no lock or chain — A
Custom domain, free cert — surge.sh will bow and bend — b
200.html for the single-page, no broken friend — b
rollback for the second thought you cannot mend — a

A CNAME remembers, the CDN will give.

III.

No build to watch, no hook to prove — still live, still light — A
--preview lifts a ghost that never touches night — b
SURGE_TOKEN moves through CI without delight — b
Atomic cutover, clean URLs, done right — a

A folder and a command, and the world is live — — surge! —
A CNAME remembers, the CDN will give.

children