Publishing sites built in the Code IDE
How IDE-built sites reach the published URL, current limits (binary assets, partials), and the recommended path from draft to live.
Code IDE sites publish through the same pipeline as legacy workbench sites — same slug-based URLs (your-slug.itzseo.com), same custom-domain flow, same snapshot history. What’s different is how the publishable bytes are assembled.
What the publish step does
Click Publish from the legacy workbench view of an IDE site (the IDE’s own Publish button is a placeholder — that surface lands in a later phase). The server reads your DesignFile tree and stitches it into the standard publish snapshot:
- Each
pages/*.htmlbecomes one page on the published site. The slug comes from the filename (pages/about.html→/about), the page name from<title>, and the body content from the document’s<body>. - Every
styles/*.cssfile is concatenated into a single CSS blob the renderer inlines in<style>. Cross-file comment headers (/* path */) keep it debuggable. - Every
scripts/*.jsfile is concatenated into a single JS blob inlined at the end of<body>. - If you don’t have a
pages/index.html, the first page in path order is promoted to the homepage slug so/doesn’t 404.
Recommended workflow
- Build in the IDE with the agent’s help. Run ▶ Preview from the topbar to see the current state in a new tab.
- When ready, click ↩ Classic to switch this site back to the legacy workbench.
- Click Publish in the legacy workbench top bar. Pick a slug if it’s the first publish, or confirm the existing one to republish.
- Your site is live at
your-slug.itzseo.comwithin seconds. The classic workbench preview can stay offline; only the publish step copies bytes out.
You can stay on the IDE surface and publish via the legacy URL too — switching to legacy first is just a visual cue that the Publish button you’re clicking lives there.
Current limits (v1)
- Binary assets in
public/(PNG/JPG/SVG files) aren’t served from their canonical URLs yet. A page that references/images/logo.pngwon’t find it. Workaround: paste images as data URIs into the HTML, or host them elsewhere (Imgix / Cloudinary / your CDN) and reference the absolute URL. - _partials/ aren’t pre-expanded at publish — the renderer only knows about pages, styles, and scripts. The agent can still read partials to inform its work, just don’t expect them to ship as standalone URLs.
- Custom
<head>snippets (GA, Pixel, search engine verification) aren’t wired in the IDE yet. The legacy workbench has a custom head field for this — flip back to legacy briefly, paste the snippet, and publish from there until v2 lands.
Determinism
Two publishes of the same site, with no edits between them, produce byte-identical snapshots. The build sorts files on (kind, position, path) so the output is stable. Useful when reviewing publish diffs in the snapshot history.