shiki logo

shiki

TUI note-taking app in Rust — Yazi-style navigation, notebooks as independent git repos, real per-note version history, themes, and fast fuzzy search.

shikishikiRust 2021ratatui 0.29tokio 1.xgit2 0.21clap 4.x
Website GitHub

What is it?

What it is

A terminal-based note-taking application built in Rust, featuring a three-pane TUI interface, Git integration per notebook, Markdown support with frontmatter, real version history, and 15+ built-in themes.

Why it exists

To provide a private, Git-powered note-taking system with a responsive terminal UI, enabling users to organize notes in notebooks (independent Git repos) with features like fuzzy search, tags, and live theme switching.

Who should use it

DevelopersProductivity enthusiastsTerminal usersRust usersGit-integrated note-takers

Who should avoid it

Beginners unfamiliar with terminals/GitUsers preferring GUI appsThose without Rust/Git setup

How it works

A quick walkthrough in plain English

How shiki works

Step 1 of 3

You interact with it

Open shiki, send a request, or connect it to your stack.

Features

Three-pane TUI with Yazi-style Miller-columns layout
Notebooks as independent git repositories
Real per-note version history via git
Built-in inline Markdown editor with snippet support
Global and in-notebook fuzzy search
15 built-in themes with live preview
Config-driven, remappable keybindings
Mouse drag-to-select and copy (OSC 52)
Automated git sync (commit and push)
CLI commands for one-off operations
In-TUI self-update mechanism
Environment health check via `shiki doctor`

Advantages

  • High performance due to Rust implementation
  • Seamless integration with existing Obsidian vaults or directories
  • Robust version control with native git integration
  • Highly customizable through TOML configuration
  • Responsive UI that adapts to terminal size
  • Low friction with built-in templates and snippets

Disadvantages

  • Requires Nerd Fonts for proper icon rendering
  • Requires Git to be installed on the system
  • Self-update feature may fail on system-managed installs (e.g., AUR) due to permissions

Installation

native

Install via Cargo: `cargo install shiki-cli`. Alternatively, clone the repository and run `cargo install --path shiki-cli`. This builds the `shiki` binary in release mode and installs it to `~/.cargo/bin`. Ensure `~/.cargo/bin` is on your `$PATH`.

FAQ

What is shiki and what are its main features?

shiki is a TUI note-taking app in Rust with features like three-pane navigation, Git-backed notebooks, Markdown support, real version history, 15 built-in themes, and fast fuzzy search.

How do I install shiki?

Install via prebuilt binaries (Linux/Windows/macOS), Cargo (`cargo install shiki-cli`), Scoop (`scoop install shiki`), or AUR (`yay -S shiki-bin`).

How does shiki handle Git integration?

Each notebook is an independent Git repository, allowing version history, commits, and remote sync via HTTPS/SSH with credential reuse.

What themes are available in shiki?

15 built-in themes including Catppuccin, Tokyo Night, Gruvbox, Solarized, Nord, and others, with a live preview picker in the TUI.

How can I update shiki?

Use the TUI shortcut `leader+U` or run `cargo install shiki-cli` to auto-update to the latest version.

What does 'shiki doctor' do?

It performs an environment health check, verifying config, data directory, Git setup, editor, terminal compatibility, and notebook paths, while flagging potential issues.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for shiki

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
shiki | MushyBook