Skip to content

Getting Started

Prerequisites

  • Node.js 18+
  • pnpm 9+
  • Rust (stable)
  • Linux: webkit2gtk-4.1, libgtk-3-dev, and related system libraries

Install

bash
git clone https://github.com/tyevco/klaxon-tauri-mcp-proto.git
cd klaxon-tauri-mcp-proto
pnpm install

Run

bash
# Full app (Vite dev server + Tauri)
pnpm tauri dev

# UI dev server only (no Tauri shell)
pnpm dev

Build

bash
# UI only
pnpm build

# Full Tauri app (produces platform binary)
pnpm tauri build

Test

bash
pnpm test       # Vitest (UI + protocol) + cargo test (Rust unit + integration)
pnpm test:e2e   # WebdriverIO + tauri-driver (Linux: needs Xvfb)

The repo currently has 443+ tests across 4 layers. See the architecture guide for details.

On Startup

When the app launches it:

  1. Opens a SQLite database at <app_data_dir>/klaxon.db and runs the 16 pending migrations
  2. Restores persisted window positions, sizes, and pin states from the window_state table
  3. Starts an MCP HTTP server on an ephemeral port bound to 127.0.0.1 (or the port pinned in Settings → MCP)
  4. Prints the MCP URL and bearer token to stderr — both are also persisted in the settings table so connected agents stay registered across launches
  5. Fires a transient "Klaxon ready" OS notification with the bound port (the URL and bearer are also visible in Settings → MCP). The toast is not persisted to the item store so it doesn't pile up across launches
  6. Spawns the snooze sweep (60s ticker) and auto-archive sweep (24h ticker)
  7. Opens 3 windows: the Klaxon HUD overlay, the Form HUD overlay (hidden until needed), and the Main window (Slack-style sidebar + list + detail
    • status bar)

Connecting an Agent

Klaxon's Main window → Settings → MCP tab has copy-paste snippets for Claude Code, Claude Desktop, and curl. See the Connecting an Agent guide for the full reference.

Try sample data

If you want to see what the app looks like before wiring up an agent, the empty-state CTA in the main window has a "Try sample data" button that seeds a handful of demo klaxons. The same path is also accessible from the tray menu's "Demo seed" entry.

Where things live

  • App data (SQLite DB, settings): <app_data_dir>/klaxon.db
    • Linux: ~/.local/share/dev.caffeinepowered.klaxon-proto/
    • macOS: ~/Library/Application Support/dev.caffeinepowered.klaxon-proto/
    • Windows: %APPDATA%\dev.caffeinepowered.klaxon-proto\
  • Logs: stderr of the pnpm tauri dev process
  • Window state: window_state SQLite table (positions, sizes, pin flags)