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_PATH for 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:

  1. Empty folderInitialize (creates README, package.json, .meronq/local)
  2. Existing repoConnect (handshake + memory stats)
  3. Start MCP → spawns meronq-mcp with MERONQ_PATH set 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.

← Back to blog