# AGENTS.md - Mission Control Agent Swarm ## Project Overview Mission Control is an ADHD-centric personal productivity hub built with Tauri 2.0 + React 19. It unifies GitLab activity (via `lore` CLI) and beads task tracking (via `br` CLI) into a single native interface. **Core principle:** Surface THE ONE THING you should be doing right now. ## Architecture ``` Frontend (React 19 + Vite) Backend (Tauri/Rust) | | |---- IPC (invoke) ----------->| | | | CLI Traits (mockable) | | | lore --robot (GitLab) | br (beads tasks) | bv --robot-* (triage) ``` ## Key Files | Path | Purpose | |------|---------| | `src/App.tsx` | Main React component | | `src-tauri/src/lib.rs` | Tauri app setup | | `src-tauri/src/data/lore.rs` | Lore CLI trait + types | | `src-tauri/src/data/beads.rs` | Beads CLI trait + types | | `src-tauri/src/commands/mod.rs` | Tauri IPC commands | | `PLAN.md` | Full implementation plan | | `CLAUDE.md` | Project-specific Claude instructions | ## Agent Coordination ### Team Name `purrfect-beaming-lynx` ### Beads Task Management Use `br` and `bv` for task coordination: ```bash # Get triage recommendations bv --robot-triage | jq '.triage.quick_ref.top_picks' # List all beads br list --json # Claim a task br update --status in_progress # Complete a task br close --reason "Completed: " # Show bead details br show --json ``` ### Communication Use SendMessage tool for agent-to-agent coordination: - Message teammates directly by name - Use broadcast sparingly (only for critical team-wide issues) - Check task list after completing each task ### Current Status **Completed:** - Phase 0: Test infrastructure (Vitest, Playwright, Rust mocks) - Phase 1: Tauri scaffold, React shell, CLI traits - Phase 2: Bridge + Data Layer (GitLab-Beads sync, state persistence) - Phase 3: UI Components (FocusView, QueueView, InboxView, Settings, Debug) - Phase 4: Navigation + keyboard shortcuts (Cmd+1-4, Cmd+,) - Phase 5: TanStack Query data layer, error boundaries - bv triage integration (get_triage, get_next_pick commands) **In Progress:** - UI polish and edge case handling - Decision log analysis features ## Development Commands ```bash # Run dev (frontend + backend) npm run tauri:dev # Frontend only npm run dev # Run tests npm run test # Vitest npm run test:e2e # Playwright cargo test # Rust # Lint npm run lint cargo clippy -- -D warnings ``` ## Visual Verification Playwright MCP tools can connect to `http://localhost:1420` for UI inspection: - `browser_navigate` - Load pages - `browser_snapshot` - Get accessibility tree - `browser_take_screenshot` - Visual verification ## Critical Constraints 1. **CLI over libraries** - Shell out to `lore`/`br`/`bv`, don't import them 2. **Trait-based mocking** - All CLI interactions via traits for testability 3. **TDD** - Write failing test first, then implement 4. **No `any`** - Use `unknown` with type guards in TypeScript 5. **jj for VCS** - Use jj, not git (see global CLAUDE.md)