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.
| Area | Endpoints | Purpose |
|---|---|---|
| Projects | /api/builder/projects, /api/builder/projects/[projectId] | Create, list, rename, archive, and load builder projects. |
| Files | /file, /tree, /workspace-snapshot | Read and write files, inspect the project tree, and restore workspace state. |
| Runtime | /runtime, /terminal, /browser | Start the dev runtime, run shell commands, stream terminal output, and inspect preview state. |
| Generation | /from-prompt, /assistant-chat | Generate 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, /snapshot | Create deployable snapshots and publish artifacts. |
Project Flow
- A user creates a project from chat, import, or a direct builder action.
- Urmate stores project metadata and files in the database/workspace storage.
- The builder opens a project tree and preview runtime.
- AI changes are applied as file edits, not loose text.
- Preview, terminal, screenshots, and browser state help validate the app.
- 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.

