Files
mission-control/CLAUDE.md
teernisse 954067a38b docs: initial Mission Control planning documents
- PLAN.md: Complete implementation plan with architecture, ACs, phases
- CLAUDE.md: Project context for AI agents

Architecture: Tauri + React, beads as universal work graph,
manual-first priority with rich decision logging.
2026-02-25 16:23:07 -05:00

1.9 KiB

CLAUDE.md

Project Overview

Mission Control (MC) is an ADHD-centric personal productivity hub built with Tauri + React. It unifies GitLab activity (via gitlore) and beads task tracking into a single native interface.

Core principle: Surface THE ONE THING you should be doing right now.

Key Documents

  • PLAN.md — Complete implementation plan with architecture, ACs, and reasoning

Tech Stack

  • Shell: Tauri 2.0 (Rust backend)
  • Frontend: React 19 + Vite + Tailwind + shadcn/ui
  • State: Zustand + TanStack Query
  • Animations: Framer Motion

External Dependencies

MC shells out to these CLIs (does NOT import them as libraries):

  • lore --robot — GitLab data (issues, MRs, activity)
  • br — Beads task management (create, close, list)
  • bv --robot-* — Beads triage recommendations

Local State

All MC-specific state lives in ~/.local/share/mc/:

File Purpose
gitlab_bead_map.json Maps GitLab events to bead IDs (deduplication)
decision_log.jsonl Append-only log of all user decisions with context
state.json Current focus, queue order, UI state
settings.json User preferences

Key Architectural Decisions

  1. Beads are the universal task graph — GitLab items auto-create beads via MC's bridge
  2. Manual priority first — User sets THE ONE THING, MC logs decisions to learn patterns
  3. CLI integration over library imports — Clean boundaries, no schema coupling
  4. Rich decision logging — Every action logged with context and optional reasoning

Development Commands

# Frontend dev
npm run dev

# Tauri dev (frontend + backend)
npm run tauri dev

# Build
npm run tauri build

Code Quality

  • Run cargo clippy -- -D warnings before committing Rust changes
  • Run npm run lint before committing frontend changes
  • Follow existing patterns in the codebase