How to Publish a Claude Code Site Without DevOps

Publishing is the missing step

Claude Code and similar agents can produce complete interactive sites. Examples are explainers, dashboards, calculators, learning tools, small games and media-rich demos. The next step is publishing. For many of these projects, you do not need DevOps (the work of setting up build and deploy systems). You need a clean output folder, a host that accepts uploads, a private review link and a stable live URL.

This workflow applies to any agent that writes a web folder. The examples use Netlify and Cloudflare Pages because both accept a finished folder without a build pipeline (an automated build on the host).

Start with a complete Claude Code output folder

Ask the agent to put the finished site in one folder. The folder must include the entry point (the page that opens first), scripts, styles, data, images, videos, fonts and all generated assets. A prompt like this one works:

Put the finished site in a folder named site/. It must run without a local server or a build step: index.html at the root, relative paths for every script, style, image, video, font and data file, and no API keys or private data. If any feature needs a server, tell me which one and why.

Some projects use a framework with a build step, such as Vite. For these projects, publish the build output after npm run build, not the project root. The build output is often dist/.

Static asset checklist before you publish a generated folder

Before you publish, examine these items:

  • index.html or the generated build entry
  • Relative asset paths
  • Images and videos
  • JSON or CSV data files
  • CSS and JavaScript bundles
  • Fonts
  • Any local-only references
  • Any secrets or private data that must not go online

Sometimes the site works only on localhost because it calls a local server. In that case, ask the agent to convert it to a static export (a version that needs no server). Or ask the agent to explain the hosting requirement. A quick local test finds most problems. Run python3 -m http.server 8000 inside the folder. Then open http://localhost:8000.

Option 1: Drag the folder onto a host

On Netlify, sign in. Open Netlify Drop at app.netlify.com/drop. Drag the folder into the deploy zone. The site goes live at a unique address. When you are signed in, Netlify can also detect a framework project and run its build before it publishes. To update the site later, drag the new folder onto the Deploys page of the site.

On Cloudflare Pages, go to Workers & Pages in the Cloudflare dashboard. Select Create application > Get started > Drag and drop your files. Give the project a name. Drag in the folder. Select Deploy site (Direct Upload docs).

Drag and drop accepts up to 1,000 files of up to 25 MiB each. The site is at <project>.pages.dev. To update the site, open the project. Then select Create a new deployment.

On both hosts, open the live URL. Test the interactive features, not only whether the first page loads.

Option 2: Let Claude Code run the deploy

Claude Code runs terminal commands. So after you sign in to the command-line tool of the host, Claude Code can deploy for you.

For Cloudflare Pages, do these steps:

  1. Run npx wrangler login yourself. It opens a browser window where you sign in.
  2. Create the project once with npx wrangler pages project create.
  3. Ask Claude Code: “Deploy the site folder to my Cloudflare Pages project with npx wrangler pages deploy site --project-name=my-demo, then give me the URL.”

For Netlify, sign in with netlify login. Then ask Claude Code to run netlify deploy --dir=site. Without --prod, the Netlify CLI creates a draft deploy for review. The command netlify deploy --dir=site --prod publishes to the live site.

When Claude Code asks, approve each deploy command. Do not put tokens or passwords in the chat.

One-page sites have a third option. If the result is a single self-contained page, Claude Code can publish it as an artifact on claude.ai. This option is available on Pro, Max, Team and Enterprise plans. You can share an artifact with your organization or with anyone who has a public link.

An artifact is one page with no backend. Relative links do not resolve, and claude.ai blocks external images. A multi-file site needs a host. To move an artifact to a host, see Where to Host an Exported Claude Artifact.

Use a private review step for an interactive Claude Code website

Before you make an interactive Claude Code website public, review it with these questions:

  • Does every button work?
  • Does the animation start?
  • Does the mobile layout work?
  • Are the data values correct?
  • Do the videos and generated assets load?
  • Does the page explain itself clearly?

Keep the site private during the review. Each host does this in a different way:

  • On Cloudflare Pages, deploy the review version to a preview branch with --branch=review. This version appears at review.<project>.pages.dev. To limit preview addresses to members of your Cloudflare account, go to Settings > General in the project. Select Enable access policy (preview deployments). For outside testers, put Cloudflare Access with email codes in front of the site. Our Cloudflare Pages Access guide shows how.
  • On Netlify, a site password is available on Pro and Enterprise plans.
  • On Vercel, Password Protection is a paid option on Pro.

Password protection is useful for game prototypes, client demos and unfinished explainers. Send the password separately from the link.

Keep your Claude Code output files for future updates

Do not throw away the files of a published AI-generated interactive site. Keep the source prompt, the output folder and the data files, if possible in a Git repository. Later edits need the same context.

A good update loop has these steps:

  1. Keep the original folder.
  2. Ask the agent for a specific change.
  3. Test the changed folder locally.
  4. Deploy the folder to the same Netlify site or Pages project, so that the URL stays the same.
  5. Open the live URL. Make sure that the change works.

If an update breaks something on Cloudflare Pages, open Deployments in the project. Choose the last good production deployment. Select Rollback to this deployment (rollback docs).

To see if testers opened the demo, turn on Web Analytics in Metrics in the Pages project. Web Analytics counts visits for the whole site, not per person. If the site is behind Cloudflare Access, the authentication logs show which email signed in and when.

Interactive AI-generated sites need a publishing handoff (a planned step from the build to the live site). For most projects, you need no deployment pipeline. A clean folder, a drag-and-drop or one-command deploy, a private review and the same URL for every update are enough.

A docs portal with Ask AI
and support tickets

Connect a repository, or describe your product to start. Each docs site has search, Ask AI, an API console, an MCP server and support tickets.

  • Publishes from GitHub on every push
  • Works with Mintlify repositories
  • API console from your OpenAPI file
  • MCP server and llms.txt for AI agents
  • Ask AI and support tickets
  • Analytics for people and AI agents
Start Free Questions? Ask AI in our docs

No card required.

Frequently Asked Questions

Can a static host save game scores or form entries?

Not on its own. A static host only serves files. For forms, use Netlify Forms on Netlify. You can also embed a form service such as Google Forms or Tally. For scores, accounts or other data that visitors share, the site needs a backend and a database.

Share:
Markdown version

Related Articles

↧
Loading PDF…