An open-source home for AI-generated HTML & Markdown artifacts: permanent URLs, inline comments, revision history, and an agent loop that works from Claude Code, Codex, and every LLM app. Self-host it on boring standard tech, or use our hosted tier.
Executive summary
HTML is overtaking Markdown as agents' preferred serious-output format, and every coding agent gained the ability to write full interactive pages this year.
display.dev just proved teams will pay for exactly this loop — but built it closed. The window to plant the open standard is before their protocol becomes the de-facto one.
Enterprise AI rollouts are hitting governance walls: "where does agent output live?" has no good answer today. Self-hostable + auditable is the answer procurement wants to hear.
The plan
Why artifacts need a home, the publish → comment → revise loop, full feature surface, open-core tiers, and v1 scope.
Six scenes with full UI mocks: publish from Claude Code, review & comment in the browser, the agent's v2, the workspace, and access control.
Postgres + S3 + one container. Untrusted-HTML security model, five-table data model, the open Artifact Publish Protocol, and build order M1–M6.
Artifact Publish Protocol draft 0: identity & URLs, W3C-based comment anchoring, revision semantics, SSE multiplayer, MCP tools, machine auth, conformance levels.
One-container self-host, the auth ladder, self-host vs hosted parity contract, repo layout, twelve weeks to OSS launch, and the go/no-go checklist.
One MCP server = every surface: Claude Code plugin, ChatGPT app, claude.ai connector, MCP Apps inline widget, editors, CI, and the registry strategy.
display.dev, Shopify Quick, native LLM publish — who wins where, the head-to-head table, what could kill this, and the land-and-expand wedge.
Decision log
dist/ folder or zip), with SPA fallback routing. The unit is a bundle, not a file — Quick's core lesson.dock.build — locked. Short, a real word, and the TLD is the pitch. CLI is dock, hosted URLs are {org}.dock.build, repo is github.com/Niftory/dock.build.Path to launch
Deliberately no calendar dates — this is an exploration plan. Sequencing and exit criteria are the commitments; timing follows staffing.
The LLMs commoditize generation; the durable layer is where the output lives, who can comment on it, and how it changed over time. Own that as an open, neutral, self-hostable commons, and you become the default home no single model vendor is positioned to be.