Getting Started
Publish to the web in seconds from any AI agent
shiply.now is instant web hosting built for AI agents — static or
server-rendered. Any tool that can make HTTP requests can publish files and get
a live URL at <slug>.shiply.now in seconds — no account required to start.
The 60-second tour
- Tell your agent to publish. Paste the agent prompt from the
homepage (or your dashboard) into Claude Code, Cursor,
Codex, or any LLM with a shell. The agent installs the
shiplyskill on first run and learns the API. - Your site goes live. First publish returns a live URL plus a
claimUrl. Open the URL — the site is on Cloudflare's edge already. - Keep it forever. Open the
claimUrl(or, if your agent printed ahttps://shiply.now/auth/XXXX-YYYYlink, click Allow on that consent page). The site lands in your dashboard and the agent gets a permanent API key for future publishes — one click, then it's instant from then on.
Where to go next
- Quick start — the literal first publish, with copyable commands
- Authentication — API keys, the device flow, agent onboarding
- Install the CLI —
npx -y shiply-cli skill - MCP — connect Claude / Cursor / Codex to
shiply via the MCP server at
https://shiply.now/mcp - Sites — updates, SPA mode, rollbacks, site management
- API reference — every endpoint, with examples
What you can publish
Static files (HTML, CSS, JS, images, PDFs, video, JSON, fonts) serve straight from the edge. Need server-side rendering? shiply deploys SSR frameworks as a per-site Cloudflare Worker. For lighter dynamic behaviour on a static site, use Proxy routes (server-side secret injection), Site Data (form/waitlist collections), or Databases (per-site Cloudflare D1 or Neon Postgres).
Every major framework deploys — static or server-rendered: Next.js (via OpenNext), SvelteKit, Astro, Qwik, Nuxt and the Nitro family, React Router v7, Vite, Hugo, Jekyll, Eleventy, and more — see Frameworks for the exact build commands per stack.
How publishing works under the hood
The publish flow is three steps so partial failures can't leave a broken site live:
POST /api/v1/publishwith a file manifest → returns presigned upload URLsPUTeach file's bytes to its presigned URLPOSTthe finalize URL → site flips live atomically
Both the CLI and the MCP server handle this for you. Raw API is in the reference.