# 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 ```bash # Frontend dev npm run dev # Tauri dev (frontend + backend) npm run tauri:dev # Build npm run tauri:build # Tests npm run test # Vitest unit tests npm run test:watch # Watch mode npm run test:coverage # With coverage npm run test:e2e # Playwright e2e cargo test # Rust tests # Lint npm run lint cargo clippy -- -D warnings ``` ## Keyboard Shortcuts | Shortcut | Action | |----------|--------| | `Cmd+1` | Focus view | | `Cmd+2` | Queue view | | `Cmd+3` | Inbox | | `Cmd+4` | Debug view | | `Cmd+,` | Settings | | `Ctrl+Shift+Space` | Quick capture | ## 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 - Use trait-based mocking for CLI integrations