Skip to content

feat(mission-control): self-hosted orchestration dashboard for all profiles#10

Merged
govtech42 merged 2 commits into
mainfrom
feat/mission-control
May 26, 2026
Merged

feat(mission-control): self-hosted orchestration dashboard for all profiles#10
govtech42 merged 2 commits into
mainfrom
feat/mission-control

Conversation

@govtech42
Copy link
Copy Markdown
Owner

Adds opt-in install of Mission Control to every profile. Native gateway adapters cover OpenClaw + Claude SDK; Hermes/Paperclip wire in through the generic REST API (101 endpoints).

lib/mission-control.sh

  • install_mission_control — git clone, ensure Node 22 + pnpm, pnpm install && pnpm build, writes .env with auto-generated AUTH_PASS (24 b64 chars) and API_KEY (32 hex chars) when operator leaves them blank.
  • setup_mission_control_systemd — opt-in unit on MC_PORT, pnpm start with Restart=on-failure.

Per-profile wiring

Profile Script Adapter
openclaw 03-mission-control.sh Native OpenClaw (OPENCLAW_CONFIG_PATH)
hermes 03-mission-control.sh Generic REST API
paperclip 03-mission-control.sh Generic REST API
cli-bundle 10-mission-control.sh Native Claude SDK (MC_CLAUDE_HOME)

.env.example block (all 4 profiles)

INSTALL_MISSION_CONTROL, MC_DIR, MC_REPO, MC_BRANCH, MC_PORT, MC_AS_SERVICE, MC_AUTH_USER, MC_AUTH_PASS, MC_API_KEY, MC_ALLOWED_HOSTS, MC_DATA_DIR, MC_CLAUDE_HOME, MC_GATEWAY_OPTIONAL, OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR.

Tests

  • tests/test_mission_control.bats — 2 no-op safety tests
  • All 33 bats + lint + env-completeness pass locally

Why

  • Mission Control is the natural pair to OpenClaw (first-class adapter) and a general dashboard for any agent talking over its REST API.
  • Auto-generated secrets remove the worst foot-gun (default-empty-password on a public VPS).
  • Node 22+ requirement enforced at install time (Next.js 16 / React 19) — independent of each profile's own Node pin.

🤖 Generated with Claude Code

govtech42 and others added 2 commits May 25, 2026 23:26
…ofiles

Adds opt-in install of Mission Control (builderz-labs/mission-control)
to every profile. Native gateway adapters cover OpenClaw + Claude SDK;
Hermes and Paperclip wire in through the generic REST API (101 endpoints).

lib/mission-control.sh
- install_mission_control: git clone, ensure Node 22 + pnpm, pnpm install,
  pnpm build, .env with auto-generated AUTH_PASS (24 b64 chars) and
  API_KEY (32 hex chars) when operator leaves them blank.
- setup_mission_control_systemd: opt-in unit on port MC_PORT, runs
  pnpm start via Type=simple Restart=on-failure.

Per-profile wiring
- profiles/openclaw/03-mission-control.sh: exports OPENCLAW_CONFIG_PATH +
  OPENCLAW_STATE_DIR so the OpenClaw adapter sees the local install.
- profiles/hermes/03-mission-control.sh,
  profiles/paperclip/03-mission-control.sh: generic adapter path.
- profiles/cli-bundle/10-mission-control.sh: exports MC_CLAUDE_HOME so the
  Claude SDK adapter sees ~/.claude.

.env.example (all 4 profiles) gains a MC block:
  INSTALL_MISSION_CONTROL, MC_DIR, MC_REPO, MC_BRANCH, MC_PORT,
  MC_AS_SERVICE, MC_AUTH_USER, MC_AUTH_PASS, MC_API_KEY, MC_ALLOWED_HOSTS,
  MC_DATA_DIR, MC_CLAUDE_HOME, MC_GATEWAY_OPTIONAL, OPENCLAW_CONFIG_PATH,
  OPENCLAW_STATE_DIR.

Tests
- tests/test_mission_control.bats: 2 no-op safety tests (toggle false /
  toggle unset).
- All 33 bats tests + lint + env-completeness pass locally.

.gitignore
- .mcp.json added (carried in from the working tree).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@govtech42 govtech42 merged commit a65d497 into main May 26, 2026
3 checks passed
@govtech42 govtech42 deleted the feat/mission-control branch May 26, 2026 02:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant