Builders & Runtimes

Prototype & Website Builder

How Urmate creates, edits, previews, publishes, and exports generated projects.

Prototype & Website Builder

The builder is Urmate's browser IDE for turning prompts, imports, and existing designs into working projects. It supports generated app scaffolds, file editing, live preview, terminal access, GitHub export, media generation, snapshots, and publishing flows.

Entry Points

Chat workspace

Use /dashboard/chat to generate or revise projects conversationally.

Builder route

Use /dashboard/builder/[builderid] to open the dedicated workspace.

Import route

Use import APIs to bring code, repos, or designs into a project draft.

API Surface

The builder API lives under /api/builder.

AreaEndpointsPurpose
Projects/api/builder/projects, /api/builder/projects/[projectId]Create, list, rename, archive, and load builder projects.
Files/file, /tree, /workspace-snapshotRead and write files, inspect the project tree, and restore workspace state.
Runtime/runtime, /terminal, /browserStart the dev runtime, run shell commands, stream terminal output, and inspect preview state.
Generation/from-prompt, /assistant-chatGenerate new projects or edits from AI instructions.
Media/media/[kind]Generate or attach images and other assets used inside builder projects.
GitHub/github/*Connect GitHub, create repos, push code, and export generated work.
Publish/publish, /snapshotCreate deployable snapshots and publish artifacts.

Project Flow

  1. A user creates a project from chat, import, or a direct builder action.
  2. Urmate stores project metadata and files in the database/workspace storage.
  3. The builder opens a project tree and preview runtime.
  4. AI changes are applied as file edits, not loose text.
  5. Preview, terminal, screenshots, and browser state help validate the app.
  6. The user publishes, exports, or keeps iterating.

Implementation Notes

  • Prefer structured project operations over raw string edits.
  • Keep generated code inside the project workspace, not scattered in app source.
  • Use snapshots before risky AI edits.
  • Use media APIs for generated assets so previews and published builds resolve the same URLs.
  • Keep GitHub export explicit; do not silently push generated code.

Smoke Tests

cd /root/apps/urmate
pnpm dev
# Open /dashboard/chat or /dashboard/builder/[builderid]

Check that the file tree loads, preview compiles, terminal streams output, and a small prompt-based edit changes the expected file only.

Copyright © 2026