A deployment standard for AI-built websites

Describe it.
Ask your AI.
Publish it.

One copy-and-paste contract turns a website request into built static files your coding agent can validate and publish safely.

Works withChatGPTClaudeCodexOpen models
NEW PROJECT
YOU

Create a small website for our neighborhood book club.

S1
Small Static Site v1Built-artifact contract attached
AI

I’ll build locally, validate the static output, then publish only the safe artifact.

Published safely
Validated · scanned · immutable release · no server

THE WHOLE WORKFLOW

Three steps. Zero cloud vocabulary.

You choose what the site says. The standard handles the static package and publishing boundary.

  1. 1
    YOUR PART

    Describe the website

    Write what it is for, who it serves, and the information or interactions it needs.

  2. 2
    ONE CLICK

    Copy the complete contract

    We combine your description with the exact manifest, output, and safety rules.

  3. 3
    YOUR AI BUILDS

    Build, validate, publish

    Your assistant sends only built static files through ZIP, CLI, or MCP.

TRY IT NOW

Start with one useful sentence.

Be specific about the audience and content. The copied contract tells your agent how to build locally and publish only safe static output.

TIP

Good: “Create a one-page site for my ceramics studio with class dates, prices, and an email link.”

20 words+ static package + publish rules
Preview the platform contract
Build and publish this as a Small Static Site v1 (small-static-site/1).

The platform accepts only an already-built static artifact. Run dependency installation and build commands locally. Never ask the platform to run source code, npm, a build script, a container, or an application process.

Choose the smallest authoring approach:
1. Default to semantic HTML, CSS, and JavaScript in site/.
2. Use React + TypeScript + Vite only for meaningful browser-side interaction and state.
3. Preserve Next.js, Vue/Vite, or Astro only when the project produces fully static dist/ output. Next must use output: "export"; Astro must use static output.

Supported framework values are exactly: plain, react-vite, next-static, vue-vite, astro-static.

Create small-site.json at the project root. It is a closed manifest: do not add keys. Use spec "small-static-site/1", a 3–48 character lowercase slug for name, basePath "/", no public build variables, and quality.accessibility "WCAG2.2-AA".

For a plain site, use build { "profile": "static-files", "source": "site", "output": "site" }. Include site/index.html and site/404.html.

For a framework site, use build { "profile": "node-static", "runtime": "nodejs-24.18.0", "packageManager": "npm-11.16.0", "install": "npm ci", "command": "npm run build", "output": "dist" }. Build locally and inspect dist/ before publishing.

Use file routing with 404.html by default. Only React/Vite or Vue/Vite may use SPA routing with fallback index.html. Self-host scripts, styles, images, and fonts. External scripts and styles, inline event handlers, form submissions, service workers, WebAssembly, source maps, secrets, private URLs, SSR, API routes, databases, filesystem writes, background jobs, WebSockets, Dockerfiles, and executable files are prohibited.

Declare only exact public HTTPS origins genuinely needed in network.connect, images, media, fonts, or frames. Use empty arrays otherwise. The platform compiles these declarations into Content Security Policy; do not provide raw headers.

The upload ZIP root must contain exactly small-site.json plus the declared site/ or dist/ output. Do not include source files, node_modules, lockfiles, caches, symlinks, nested archives, or files outside the output directory. Limits: 30 MiB ZIP, 25 MiB unpacked, 2,000 output files, and 5 MiB per file.

Before finishing:
- run the local build when applicable;
- verify index.html, routing, local links, assets, metadata, responsive layout, keyboard access, visible focus, reduced-motion behavior, and content accuracy;
- if Small Site tools are available, call small_site_check and then small_site_publish for the supplied site ID;
- otherwise produce the validated ZIP for dashboard upload and explain that it contains static output only.

Do not claim the site is published until the publish tool or dashboard returns an active deployment and stable URL.
DashboardUpload one validated ZIPCLIPublish from the project folderMCPLet the coding agent publish

ONE OUTPUT, FIVE RECIPES

Your AI chooses the smallest thing that works.

Every recipe builds locally and ends as ordinary static files. The platform never installs dependencies or runs customer source.

01

Plain HTML

The default for small, presentational sites.

STATIC OUTPUT
02

React + Vite

For meaningful browser interaction and state.

STATIC OUTPUT
03

Next static

Existing Next projects, exported without a server.

STATIC OUTPUT
04

Vue + Vite

A supported client-side alternative.

STATIC OUTPUT
05

Astro static

For content-rich, multi-page sites.

STATIC OUTPUT

A DELIBERATE BOUNDARY

Great for websites.
Not pretending to be a server.

Use it for

  • Landing pages
  • Portfolios and event sites
  • Documentation and guides
  • Calculators and browser tools
  • Small multi-page websites
×

Choose another contract for

  • App-level logins or private data
  • Databases or anonymous uploads
  • Payments and secret keys
  • Server APIs or background jobs
  • Real-time multiplayer

YOUR NEXT WEBSITE

One idea is enough to start.

Turn it into a prompt your agent can build, validate, and publish without touching infrastructure.

Make your prompt