Documentation

Mission Control
Guide

How to add, update, and deploy projects to this dashboard.

The quick way — push-project.py

From any terminal, run the updater script. It edits projects.json automatically.

Add a new project
python3 "/Volumes/Data/Zenith Mind OS/Broken Paul/launchpad/push-project.py" \
  --name "My Project" \
  --category client \
  --description "Short description here" \
  --url "https://myproject.pages.dev" \
  --progress 60 \
  --tags ai client cloudflare
Update an existing project's URL and progress
python3 push-project.py --name "VIEW Coach" --url "http://localhost:5173" --progress 80
Add a Claude session
python3 push-project.py \
  --name "VIEW Coach" \
  --session "e4d71c11-d134-444f-a9e0-01bac310072a" \
  --session-label "RAG + voice build" \
  --session-cmd "claude --resume e4d71c11-d134-444f-a9e0-01bac310072a"
List all projects
python3 push-project.py --list
Remove a project
python3 push-project.py --name "Old Project" --remove

All flags

FlagDescriptionExample
--nameProject name (used as lookup key)"VIEW Coach"
--idCustom slug ID (auto-generated from name if omitted)"view-coach"
--categoryclient · product · personal · infraclient
--descriptionShort one-line description"AI coaching app"
--urlLive URL (leave empty for local-only)"https://..."
--localFlag as local app (no public URL)(no value)
--launch-cmdTerminal command to launch locally"cd /path && python3 app.py"
--folderWorking folder path"/Volumes/Data/..."
--statusactive · paused · completeactive
--progress0–10075
--sessionFull Claude session UUID"e4d71c11-d134-..."
--session-labelHuman label for session"Auth build"
--session-cmdFull resume command"claude --resume ..."
--tagsSpace-separated tagsai client cloudflare
--deployDeploy to Cloudflare Pages after saving(no value)
--removeRemove this project(no value)
--listList all projects(no value)

Deploy to Cloudflare

After updating projects.json, tell Claude: "deploy mission control" — it uses the sp-cloudflare-site skill automatically.

Alternatively, add --deploy to any push-project.py command:

python3 push-project.py --name "VIEW Coach" --progress 85 --deploy

The site deploys to: https://paul-mission-control.pages.dev

Edit projects.json directly

The data file lives at:

/Volumes/Data/Zenith Mind OS/Broken Paul/launchpad/projects.json

Each project has this structure:

{
  "id": "view-coach",            // auto-slugified from name
  "name": "VIEW Coach",
  "category": "personal",       // client | product | personal | infra
  "status": "active",           // active | paused | complete
  "progress": 75,               // 0–100
  "description": "...",
  "url": "http://localhost:5173",
  "local": true,                // optional — hides "no URL" warning
  "launch_cmd": "cd /path && python3 app.py",
  "folder": "/Volumes/Data/...",
  "sessions": [
    {
      "id": "e4d71c11",         // short display prefix
      "label": "RAG + voice build",
      "date": "2026-05-21",
      "cmd": "claude --resume e4d71c11-d134-444f-a9e0-01bac310072a"
    }
  ],
  "tags": ["ai", "coaching"]
}

Adding sub-pages (Hubs)

Hub pages (like Jay Arenas and AI Workshop) are standalone HTML files in the launchpad folder. To add a new hub:

To add a URL to a sub-card, find the card in the HTML and replace the <div class="placeholder-url"> with an <a> button:

<a href="https://your-url.pages.dev" target="_blank" class="btn btn-gold btn-sm">
  Open
</a>

Getting a Claude session ID

When you start a Claude Code session, the session ID is shown at the start. To resume it:

claude --resume e4d71c11-d134-444f-a9e0-01bac310072a

The copy button on each card copies the full resume command to your clipboard.

To find a session ID from a past conversation:

python3 ~/.claude/bin/find-session.py "view coach"
python3 ~/.claude/bin/find-session.py "topic" --since 7d