RuneBook is a reactive, canvas-native computing environment that merges terminals, notebooks, and web components. Built on Svelte 5, PluresDB, Tauri, and Sudolang, RuneBook lets you wire terminals, inputs, and UI components on a visual canvas to create programmable, AI-enhanced workflows that behave like reactive web apps.
See CHANGELOG.md for version history.
Download the latest release for your platform from GitHub Releases:
.dmg file (Intel and Apple Silicon).AppImage or .deb file.msi or .exe installernpm:
npm install -g @plures/runebook
NixOS / Nix Flakes:
# Run directly from flake
nix run github:plures/runebook
# Build packages
nix build github:plures/runebook#runebook
nix build github:plures/runebook#runebook-agent
nix develop (includes all dependencies)Clone the repository:
git clone https://github.com/plures/runebook.git
cd runebook
Install dependencies:
npm install
Run in development mode:
npm run tauri dev
Build for production:
npm run tauri build
Development:
nix develop # Enter development shell
npm install
npm run dev
Building:
nix build .#runebook # Build Tauri app
nix build .#runebook-agent # Build headless agent CLI
Running:
nix run .#runebook # Run Tauri app
nix run .#runebook-agent -- agent status # Run agent CLI
The flake includes a NixOS module for running runebook-agent as a systemd service. See NIXOS.md for configuration details.
Use the toolbar to add nodes to the canvas:
Save Options:
Load Options:
The Ambient Agent analyzes your terminal commands and provides intelligent suggestions. This feature runs in the background and operates entirely locallyβno data leaves your machine.
Features:
Enable via CLI:
# Enable the agent
npm run agent enable
# Check status
npm run agent status
# View suggestions
npm run agent suggestions
# View recent events
npm run agent events 20
# Analyze last failure
npm run analyze last
Enable via Observer:
# Enable terminal observer (captures all shell commands)
npm run observer enable
# View events in real-time
npm run observer events tail
# View recent events
npm run observer events 20
What Data is Stored:
All data is stored locally:
Storage locations:
~/.runebook/observer/events.json~/.runebook/agent-config.json./pluresdb-data (if PluresDB enabled)Privacy & Security:
CLI Commands:
Agent:
npm run agent enable|disable|statusnpm run agent suggestions [priority]npm run agent events [limit]npm run agent clear [days]Observer:
npm run observer enable|disable|statusnpm run observer events [limit]npm run observer events tailAnalysis:
npm run analyze lastMemory:
npm run memory inspectFor detailed documentation, see:
Stack:
Project Structure:
runebook/
βββ src/
β βββ lib/
β β βββ components/ # Svelte components
β β βββ agent/ # Agent system
β β βββ core/ # Core utilities
β β βββ types/ # TypeScript types
β βββ cli/ # CLI commands
β βββ routes/ # SvelteKit routes
βββ src-tauri/
β βββ src/ # Rust backend
β β βββ agents/ # Agent implementations
β β βββ orchestrator/ # Orchestration logic
β β βββ execution/ # Command execution
β β βββ memory/ # Memory/storage
β βββ Cargo.toml # Rust dependencies
βββ static/
β βββ examples/ # Example canvas files
βββ flake.nix # Nix build configuration
std::process::Command (no shell interpretation)ls | grep won't work as pipelinesTransform nodes execute user-provided JavaScript:
Contributions are welcome! Please read CONTRIBUTING.md before submitting PRs.
MIT License - see LICENSE file for details.
VS Code + Svelte + Tauri + rust-analyzer.
Built with Tauri and Svelte 5. Inspired by node-based editors like Blender's Shader Editor and Unreal Engine's Blueprints.