Deploy HTML
Deploy a single HTML file or a directory containing an index.html. Perfect for AI-generated artifacts, prototypes, and quick demos.
Where do HTML artifacts come from?
Most static deploys to Leash start life as a generated HTML file from an AI tool:
- Claude.ai Artifacts
- ChatGPT Canvas
- Lovable / v0 / Bolt / similar AI generators
Got a generated artifact? Save it as index.html (and app.js, styles.css if separate), then:
$ leash deploy
Prototype mode
Artifacts from AI tools deploy with a prototype flag set on the app record so Leash can treat them as exploratory rather than production. Today this lives in the database (apps.is_prototype) and behaves the same as a regular static deploy.
Customer-visible surfaces are coming:
- A future deployed-app UI will show a prototype marker on the URL.
- An upcoming CLI flag will let you opt out of prototype mode at deploy time (and the dashboard will let you flip the flag after the fact).
- Billing behavior for prototypes will be defined as the feature ships.
For now, deploys behave the same regardless of the flag — track each surface in Linear as it lands.
Single file
Use the --html flag to deploy any standalone HTML file.
$ leash deploy --html artifact.html
✓ Deployed static site
→ https://artifact-your-org.un.leash.build
Directory with index.html
If your directory contains an index.html, Leash auto-detects it as a static site. No flags needed.
$ cd my-static-site
$ leash deploy
✓ Detected static site
✓ Deployed successfully!
→ https://my-static-site-your-org.un.leash.build
Example
A minimal HTML file is all you need to get a live site:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>My App</title></head><body><h1>Hello from Leash!</h1></body></html>
Tip: AI-generated artifacts
When Claude Code, ChatGPT Canvas, or any AI tool generates an HTML artifact, save it to a file and deploy it in one command. Great for sharing interactive visualizations, dashboards, and prototypes with teammates.