Skip to content

Repository files navigation

Santui

License: MIT OR Apache-2.0 CI npm Downloads/day Downloads (total) Sponsor

Your terminal home base.

Santui is a keyboard-driven TUI app that lives in your terminal. Think of it as a launcher for plugins — the core is lightweight, and everything extra comes through the Plugin Registry.

Santui demo

What's built in

Out of the box, Santui gives you:

  • Command PaletteCtrl+P to search and run commands
  • 38 Themes — switch anytime with live preview
  • Plugin Registry — browse, install, and manage plugins from inside the app
  • Auth — sign in with Google or GitHub

That's it. No bloat. You add what you need.

Plugins

Plugins are standalone binaries distributed through the Plugin Registry. Open Ctrl+PPlugin registry, install what you want, enable it, and it appears in your palette — ready to use.

Santui ships with a large first-party plugin catalog — from radio streaming and weather to Git dashboards and Quran reading. Open Ctrl+PPlugin registry to browse, install, and manage them all.

Want to build your own? See docs/architecture.md.

Quick start

Windows

npm (recommended) — no admin, no Windows Defender issues, works everywhere. After installing, type santui to launch:

npm install -g santui
santui

PowerShell:

irm https://santuiapp.vercel.app/install.ps1 | iex

macOS / Linux

npm (recommended) — works everywhere, no platform-specific setup. After installing, type santui to launch:

npm install -g santui
santui

Install script — downloads binary to ~/.local/share/santui/current:

curl -fsSL https://santuiapp.vercel.app/install.sh | sh

Prerequisite: The npm method requires Node.js.

From source

git clone https://github.com/sonyarianto/santui
cd santui
cargo build --workspace && cargo run -p santui

Requires Rust 1.85+ (edition 2024). No plugins included — install them from the Plugin Registry after launching.

Dev mode (testing plugins locally)

# Windows
.\scripts\dev-setup.ps1 ; $env:SANTUI_DEV=1; cargo run -p santui

# macOS / Linux
./scripts/dev-setup.sh && SANTUI_DEV=1 cargo run -p santui

This builds everything, generates a local plugin manifest, and runs Santui in dev mode — identical flow to production, no release needed.

CLI flags

Flag Action
--version / -V Print version and exit
--list-plugins / plugins List installed and available plugins, then exit
reset Delete all data (config, plugins, database) and start fresh

Configuration

Santui stores its settings in config.toml (TOML format) in the platform-standard data directory (%APPDATA%/santui on Windows, ~/.local/share/santui on Linux, or ~/.santui in dev mode). Edit the file to set a default theme or custom colour overrides — changes are hot-reloaded automatically. See the full Configuration reference.

Self-hosted sync server

Santui can optionally sync plugin data (settings, favorites, etc.) to a self-hosted backend:

# ~/.local/share/santui/config.toml
[server]
url = "http://localhost:9876"    # your santui-server address
# Run the server (separate terminal or VPS)
santui-server

# That's it — the TUI app auto-discovers the server from config
# and pushes data changes in the background.

santui-server is a standalone Rust binary (axum + SQLite). No Docker, no Python, no config needed. Build it with cargo build -p santui-server or use the same install methods above.

See docs/architecture.md for the full architecture and API reference.

Documentation

Full docs at santuiapp.vercel.app.

About

Santui is your terminal home base.

Topics

Resources

Stars

14 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages