Pantograph is a local-first, Rust-native framework with an optional desktop app. It provides unified local inference, node-based workflows, resource-aware runtime scheduling, real-time observability, and diagnostic tracing for AI pipelines. Host integrations consume the native Rust interface or projections through UniFFI, Rustler, and optional HTTP adapters.
See ARCHITECTURE.md for the current module map, target scheduler-owned task execution model, ownership rules, active transition, and links to authoritative ADRs and implementation status.
The current standards audit records the repository-wide compliance baseline and routes its findings into focused follow-up audits. Its remediation portfolio coordinates the resulting implementation plans.
- Clone the repository.
- Install dependencies:
npm install
- Run the desktop app:
npm run dev:desktop
- Node.js (for
npm) - Rust toolchain (
cargo,rustc) - Tauri system libraries for your OS
Install Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"Install Tauri system dependencies:
# Debian/Ubuntu
sudo apt install pkg-config libsoup2.4-dev libjavascriptcoregtk-4.0-dev
# Fedora
sudo dnf install pkgconf-pkg-config libsoup-devel javascriptcoregtk4.0-devel
# Arch
sudo pacman -S pkgconf libsoup2 webkit2gtkInstall project dependencies:
npm installnpm run dev:desktopnpm run devThe Vite dev server binds to 127.0.0.1 by default. For an intentional LAN
preview, set PANTOGRAPH_VITE_HOST=0.0.0.0 when starting the server.
npm run build:desktop./launcher.sh --help
./launcher.sh --test
./launcher.sh --release-smoke- External OpenAI-compatible server (for example LM Studio)
- Bundled
llama.cppsidecar with local model files
- Node.js + npm matching
.node-versionandpackage.json - Rust toolchain matching
rust-toolchain.toml - Python matching
.python-versionfor Python-backed smoke paths - Tauri system dependencies (above)
See Development for toolchain ownership, setup caveats, and the current verification status.
# Frontend type and configured test checks
npm run typecheck
npm run test:frontend
# Rust workspace checks
cargo fmt --all -- --check
cargo check --workspace --no-default-featuresThese commands prove only their stated scopes. Pantograph does not currently have one green repository-wide compliance command; see the verification audit.
Python-backed model execution is out-of-process and externally provisioned. See Runtime Operations for interpreter selection, runtime inspection, recovery, and current security/lifecycle limitations.
Pantograph exposes a Rust-first service with UniFFI, Rustler, and optional HTTP projections. See Headless Workflow Integration for the supported ownership model, session flow, exact contract sources, and known transition boundaries.
| Path | Description |
|---|---|
ARCHITECTURE.md |
Current architecture, target execution model, ownership, and status entry points |
src/ |
Frontend Svelte app, UI components, stores, and services |
src-tauri/src/ |
Tauri backend commands and runtime wiring |
crates/ |
Shared Rust crates (inference, node-engine, workflow-nodes, bindings) |
packages/svelte-graph/src/ |
Reusable graph editor package modules |
scripts/ |
Validation and tooling scripts |
docs/ |
Current guides, decisions, audits, and implementation plans |
- Create a focused branch for one logical change.
- Follow coding, tooling, accessibility, and documentation standards.
- Run the smallest checks that decide the affected behavior and contracts.
- Use Conventional Commits for all commits.
The repository currently contains Apache-2.0 license material while Cargo
metadata declares MIT OR Apache-2.0. Resolve that mismatch before
distribution; see Release.
