Skip to content

LightbridgeLab/PromptStudio

Repository files navigation

Prompt Studio

A local-first, privacy-focused desktop application for building, testing, and managing AI prompts. Built with Tauri, React, and Rust.

Features

  • Prompt Management - Create, version, and organize prompts with categories and tags
  • Tone Profiles - Analyze writing samples to capture your unique voice
  • Output Profiles - Define content structure for different channels (LinkedIn, blog, email, etc.)
  • Persona Profiles - Configure who the AI should write as
  • Multi-Provider LLM Support - Ollama (local), OpenAI, and Anthropic
  • A/B Testing - Compare prompt variants side by side
  • Generation History - Track and review all generated content
  • 100% Local - All data stays on your machine as portable JSON files

Prerequisites

Quick Start

make install   # Install Node.js and Rust dependencies
make dev       # Start the full development environment

The app will open as a native desktop window. On first launch you'll be prompted to select a workspace directory.

Browser-Only Mode

For rapid UI iteration without the Rust backend:

pnpm dev:web

Runs in the browser with mock Tauri APIs. A yellow banner indicates browser mode.

Available Commands

Command Description
make dev Start frontend + backend with hot reload
make dev-frontend Start only the frontend dev server
make build Production build
make lint Lint with ESLint
make format Format with Prettier
make typecheck TypeScript type checking
make check Lint + typecheck
make test Run Rust tests
make clean Remove build artifacts and dependencies
make build-mac Build macOS DMG installer

Project Structure

src/                    # React/TypeScript frontend
  components/
    ui/                 # shadcn/ui base components
    layout/             # App layout and navigation
    prompts/            # Prompt management views
    profiles/           # Profile editors (tone, output, persona)
    settings/           # LLM provider settings
    setup/              # First-run workspace setup
  lib/
    state/store.ts      # Zustand store (single source of truth)
    services/           # Business logic and Tauri command wrappers
    models/index.ts     # TypeScript interfaces
    validators/         # Zod validation schemas
    hooks/              # Custom React hooks

src-tauri/src/          # Rust backend
  commands.rs           # Tauri command handlers
  dal.rs                # Data access layer (JSON file I/O)
  llm_client.rs         # LLM provider integration
  tone_analysis.rs      # Text analysis engine
  models.rs             # Domain models
  validation.rs         # Input validation

Tech Stack

  • Frontend: React 19, TypeScript, Tailwind CSS, shadcn/ui, Zustand
  • Backend: Rust, Tauri 2, euro-llm
  • Build: Vite, Cargo

Data Storage

All data is stored as JSON files in a user-selected workspace directory. No cloud sync, no database, no external dependencies.

workspace/
  prompts/          # Prompt definitions
  profiles/
    tone/           # Tone profiles
    output/         # Output profiles
    persona/        # Persona profiles
  generations/      # Generation history
  tests/            # A/B test results

Documentation

License

See LICENSE for details.

About

A local-first, privacy-focused desktop application for building, testing, and managing AI prompts.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Contributors