Spaces:
Runtime error
Runtime error
Project Nodes
A Project Node is one isolated workspace inside the panel. Every node has
its own filesystem, run command, env vars, package manager state, and live
runtime stats. The Dashboard renders them as cards
(home/ProjectNodeCard.tsx) and the
manager modal (home/FileManager.tsx)
lets you create / archive / delete / browse them.
Visual
The Dashboard capture below shows where the project grid lives (top of the "Project Nodes" section). Without an active user account it redirects to login — sign in to see live cards.
Card anatomy
┌───────────────────────────────┐
│ ▦ project-name [⋮] │
│ language · template │
├───────────────────────────────┤
│ status: Running / Idle /… │
│ CPU 7 % · RAM 142 MB │
├───────────────────────────────┤
│ [ Open ] [ Run ] [ ⋮ ] │
└───────────────────────────────┘
Card actions:
- Open →
navigate(/editor?project=${id})(deep-links into the IDE) - Run → POST
editor/runtime/start - ⋮ menu → Rename · Stop · Restart · Archive · Delete · Duplicate
Create wizard
Triggered by the + New Project quick action. Steps:
- Pick a template —
editor/templatesprovides Node.js, Python, Static HTML, React/Vite, Express, Flask, Next.js, Vanilla, "Empty". - Name + slug — auto-slugged with collision detection.
- Select runtime — Node 20 / 22, Python 3.10 / 3.11 / 3.12, Bun, Deno.
- Initial files — preview tree from the template; allow tweaks.
- Confirm + create → spawns project under
exocore-web/uploads/<id>/, records metadata ineditor/projectsand navigates straight into it.
Source: home/CreateProjectWizard.tsx.
File manager modal
Opened from Quick Actions → Project Nodes. Shows:
- All nodes (active + archived) with sort by name / last opened / size.
- Storage quota bar (per plan: free 1 GB, pro 10 GB, owner unlimited).
- Bulk actions: archive, restore, delete, export ZIP.
Backend routes used
| Route | Verb | Source |
|---|---|---|
/exocore/api/editor/projects |
GET | List projects |
/exocore/api/editor/projects |
POST | Create project |
/exocore/api/editor/projects/:id |
PATCH | Rename / archive |
/exocore/api/editor/projects/:id |
DELETE | Delete |
/exocore/api/editor/runtime/start |
POST | Spawn process |
/exocore/api/editor/runtime/stop |
POST | SIGTERM |
/exocore/api/editor/runtime/stats |
GET | CPU / RAM tick |
(Wired in routes/editor/projects.ts and
routes/editor/runtime.ts.)

