Sprint 9 closed: Desktop MVP
Sprint 9 is closed.
The goal was to ship the first desktop shell over Meronq's existing packages — not a parallel codebase, but a native window that connects a project, shows its handshake and memory, and manages the product MCP server. Sprint 8 explored productization; Sprint 9 turned the desktop track into running code.
What Sprint 9 delivered
Every item on the roadmap is checked off:
- Tauri 2 scaffold in
apps/desktop— native window wrapping the same web UI - Project folder picker → sets
MERONQ_PATHfor the connected project - Handshake and memory stats UI — vision, sprint, ADRs, and memory counts at a glance
- MCP server lifecycle — start/stop with live status from the UI
The desktop is a shell over existing packages (@meronq/server-core, @meronq/memory, @meronq/mcp-server), consistent with ADR-0008.
Architecture
The MVP is three layers: a Vite web UI, a Node sidecar, and a Tauri 2 native scaffold that wraps the same UI.
┌─────────────────────────────────────┐
│ Web UI (Vite) │
│ · project path · handshake · MCP │
├─────────────────────────────────────┤
│ Node sidecar (HTTP :39281) │
│ · @meronq/server-core handshake │
│ · @meronq/memory stats │
│ · spawn @meronq/mcp-server │
└─────────────────────────────────────┘
│
▼
<project>/.meronq/
Tauri 2 (src-tauri/) adds the native window and folder picker; the same UI runs in the browser for fast iteration without compiling Rust.
Two ways to run it
| Mode | Command | Needs Rust |
|---|---|---|
| Web dev (browser) | pnpm --filter @meronq/desktop dev |
No |
| Tauri native | pnpm --filter @meronq/desktop tauri:dev |
Yes |
Web dev mode boots the sidecar and Vite UI on http://localhost:1420 and builds the server-core / mcp-server dependencies automatically on first run. The native app adds a real folder picker and ships as an installer via tauri:build.
Full setup — prerequisites, meronq init, and Windows troubleshooting — is in docs/operations/desktop.md.
Connect → inspect → run
The desktop flow mirrors the handshake-first philosophy:
- Empty folder →
Initialize(creates README,package.json,.meronq/local) - Existing repo →
Connect(handshake + memory stats) - Start MCP → spawns
meronq-mcpwithMERONQ_PATHset to the connected project
One local surface: pick a project, see what Meronq knows about it, and expose it to any MCP-aware AI client.
Sprint 10 — Desktop polish and cloud spike
Sprint 10 is now active:
- Verify the Tauri native build on Windows and macOS
- Auto-start the sidecar from the Tauri shell
- Memory search UI in the desktop
- Cloud workspace API spike (CRUD only)
Follow along
Sprint 8 defined how Meronq becomes a product others can adopt. Sprint 9 puts it on the desktop.