Technical specification for Genesis apps in the bundle format.
A Genesis app is a React SPA that runs inside Taskade's Parade engine. The app definition is a FileSystemTree — a nested JSON structure representing a virtual filesystem of source files that the Parade engine compiles and serves.
{
"src": {
"directory": {
"App.tsx": {
"file": { "contents": "import React from 'react';\n..." }
},
"index.tsx": {
"file": { "contents": "..." }
}
}
}
}Each file is { "file": { "contents": "..." } }. Directories are { "directory": { ... } }.
| Constraint | Value |
|---|---|
| App ID | Must be "default" (one app per space) |
| Template | @taskade/parade-base-template-v2 |
| Max files per mount | 200 |
| Max inline file size | 2 MB |
The base template provides:
@/lib/genesis-auth.tsx— Authentication component (wrap your app root)@/lib/agent-chat/v2— SSE streaming for agent conversations- React Router — client-side routing
- Tailwind CSS — styling
- Write your React components as files in the FileSystemTree
- Use
GenesisAuthto gate authenticated routes - Use the agent chat SDK to connect UI to workspace agents
- Routes map to views (dashboard, council, journal, library in Cortex)
The app source lives in apps/cortex.json. To modify:
- Extract the FileSystemTree from the JSON
- Edit the React source files
- Re-encode back into the JSON structure
- Run
npm run validateto check integrity
For large changes, consider using Taskade's in-app Genesis editor which provides a live preview.