A native macOS kanban app that turns Claude Code into your personal task manager. You chat in the terminal, the board updates live.
You (terminal) tasks.json App (kanban)
│ │ │
├── "add a task" ──► │ ◄── file watcher ──┤
│ │ │
│ Claude Code │ live reload │
│ edits JSON ──────► │ ──────────────────► │
│ │ │
└── "do that task" ──► │ (acts on it) ──► done
- You chat with Claude Code in the terminal — describe tasks, ask for a status, or tell it to act
- Claude Code edits
tasks.json— adds, updates, moves, or completes tasks - The app watches the file and updates the kanban board in real time
- If Claude Code can do a task (research, writing, code), it does it and marks it done
git clone https://github.com/valentingarnier/missioncontrol.git
cd missioncontrol
swift runFirst build takes ~30s. The app window appears with a dock icon. Leave it running.
In another terminal:
cd missioncontrol
claude # start Claude Code — it reads CLAUDE.md and knows the projectThen just talk: "Add a task to research competitors for my SaaS" or "/status" to review the board.
- 3-column kanban: To Do → In Progress → Done
- Dynamic projects: Organize tasks by life domain (Business, Job, or custom)
- Task cards: Title, description, project badge, estimated time, WHY it matters
- Drag & drop: Move tasks between columns
- Live reload: File watcher picks up external changes instantly
- Deliverable links: Done tasks link to output files — click to open
- Dock icon: Custom vibecoded icon, proper Cmd+Tab presence
/statuscommand: Claude Code reviews the board and proposes what to work on
{
"id": "UUID-STRING",
"title": "Build landing page",
"description": "What needs to be done",
"project": "Business",
"status": "todo",
"estimatedMinutes": 120,
"why": "Connects this task to a goal",
"createdAt": "2026-02-24T10:00:00Z",
"completedAt": null
}├── Package.swift # SPM manifest, macOS 15+
├── CLAUDE.md # Project memory for Claude Code
├── tasks.json # The board data (source of truth)
├── Sources/
│ ├── MissionControlApp.swift
│ ├── Models/TaskItem.swift
│ ├── Store/TaskStore.swift # @Observable, file watcher, persistence
│ └── Views/ # SwiftUI views
├── deliverables/ # Output files from completed tasks
├── docs/ # Architecture, schema, workflow docs
└── .claude/commands/
└── status.md # /status slash command
- Swift 6, SwiftUI, macOS 15+ (Sequoia)
@Observablemacro for reactive stateDispatchSourcefile watcher for live reload- JSON persistence (pretty-printed, human-readable)
- No Xcode project needed — pure SPM
MIT