Sparking Embers.
  • Rust 59.6%
  • Svelte 33%
  • TypeScript 6.5%
  • CSS 0.5%
  • JavaScript 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
treesloth af0ddb5574 Switch package manager from npm to pnpm
Convert the frontend into a pnpm workspace, dropping the postinstall
delegation hack in favor of a single root `pnpm install`. Update Tauri
before-commands, scripts, .gitignore, and the README accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 16:11:55 -04:00
frontend Switch package manager from npm to pnpm 2026-06-05 16:11:55 -04:00
src-tauri Switch package manager from npm to pnpm 2026-06-05 16:11:55 -04:00
.gitignore Switch package manager from npm to pnpm 2026-06-05 16:11:55 -04:00
package.json Switch package manager from npm to pnpm 2026-06-05 16:11:55 -04:00
pnpm-lock.yaml Switch package manager from npm to pnpm 2026-06-05 16:11:55 -04:00
pnpm-workspace.yaml Switch package manager from npm to pnpm 2026-06-05 16:11:55 -04:00
README.md Switch package manager from npm to pnpm 2026-06-05 16:11:55 -04:00

Catalyst Guard

A native desktop AI harness with a Rust backend (Tauri v2) and a Svelte 5 + Tailwind frontend. Catalyst Guard provides an integrated workspace for running AI agents, managing tasks, taking notes, chatting with multiple providers, and transcribing audio — all from a single offline-capable application.

Features

Screen Description
Home Dashboard and quick navigation
Todos Kanban board for task tracking with native HTML5 drag-and-drop
Agents Define and configure AI agents with per-agent tool access and artifact directories
Notes Markdown vault with wiki-link support, file tree, and server-rendered preview
Chat Multi-provider streaming chat with native function-calling, branching history, and image attachments
File Explorer 3-pane Finder-style explorer scoped to agent artifact directories
Transcriptions Audio recording and transcription via cloud APIs or on-device whisper.cpp
Settings Provider credentials, model selection, and transcription configuration

Supported AI Providers

  • Anthropic (Claude)
  • OpenAI (GPT / Whisper)
  • Lemonade (local LLM server)
  • Ollama (local model runner)

Agent Tools

Agents can be granted access to:

  • Filesystem — sandboxed read/write within the agent's artifact directory
  • FilesystemBroad — broader filesystem access (with deny-list sandbox)
  • OfficeFiles — generate .xlsx and .docx files from markdown
  • WebSearch, CodeExecution, Terminal — planned

Building & Running

Requirements

  • Rust toolchain (stable, 1.75+)
  • Node.js 18+ and pnpm (corepack enable will provide it)
  • Tauri v2 system dependencies for your platform — see tauri.app/start/prerequisites. On Debian/Ubuntu these are libwebkit2gtk-4.1-dev, libgtk-3-dev, libayatana-appindicator3-dev, librsvg2-dev, plus build-essential and pkg-config.
  • C++ compiler and cmake (required only for the local-whisper feature)

First-time setup

From the repository root:

pnpm install

This installs every workspace package, including the frontend's dependencies (the Tauri CLI lives in frontend/node_modules).

Run the app (development, hot reload)

pnpm dev

Wraps tauri dev: Vite serves the Svelte frontend on http://localhost:5173, Cargo builds the Rust backend, and the desktop window opens. Frontend edits hot-reload; Rust edits trigger a rebuild and a window restart.

Build a release bundle

pnpm build

Wraps tauri build. Produces a release binary plus .deb and .AppImage packages under src-tauri/target/release/bundle/ (configurable in src-tauri/tauri.conf.json).

On-device transcription (whisper.cpp)

Enable the local-whisper Cargo feature by forwarding flags to cargo through the Tauri CLI:

# Development
frontend/node_modules/.bin/tauri dev -- --features local-whisper

# Release
frontend/node_modules/.bin/tauri build -- --features local-whisper

Everything after -- is passed to cargo for the Rust build.

GPU acceleration

Add to the same feature list:

Backend Feature flag Requires
NVIDIA CUDA local-whisper,cuda CUDA toolkit
Vulkan local-whisper,vulkan Vulkan SDK + compatible driver
Apple Metal local-whisper (automatic on Apple Silicon) macOS

Example:

frontend/node_modules/.bin/tauri build -- --features local-whisper,cuda

Faster iteration helpers

  • Frontend only (no desktop window): pnpm -C frontend dev. The page loads at localhost:5173 but invoke calls fail since there is no Tauri runtime — useful for pure CSS / layout tweaks.
  • Type-check the frontend: pnpm frontend:check (wraps svelte-check).
  • Rust-only check: cargo check --manifest-path src-tauri/Cargo.toml (add --features local-whisper to also check that path).

Data Locations

Platform Config Database
Linux / macOS ~/.config/catalyst-guard/config.toml ~/.local/share/catalyst-guard/db/app.db
Windows %APPDATA%\catalyst-guard\config.toml %LOCALAPPDATA%\catalyst-guard\db\app.db

The config file is created automatically on first run with sensible defaults. Existing data from previous versions is read in place — no migration step is required.

Whisper Models

When using on-device transcription, models are downloaded through Settings → Transcription. Models are stored in the application data directory and are not bundled with the binary.