diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..12ef29e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,112 @@ +# 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 partial: Tauri scaffold, React shell, CLI traits + +**In Progress:** +- Phase 2: Bridge + Data Layer (wiring CLI to Tauri commands) + +**Blocked:** +- Phase 3-7: Depend on Phase 2 completion + +## 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) diff --git a/mission-control-current.png b/mission-control-current.png new file mode 100644 index 0000000..3302dea Binary files /dev/null and b/mission-control-current.png differ diff --git a/mission-control-focus-view.png b/mission-control-focus-view.png new file mode 100644 index 0000000..3a42bea Binary files /dev/null and b/mission-control-focus-view.png differ diff --git a/mission-control-phase1-complete.png b/mission-control-phase1-complete.png new file mode 100644 index 0000000..3302dea Binary files /dev/null and b/mission-control-phase1-complete.png differ