Kiroku (記録)
Kiroku is a high-performance, terminal-based note-taking application written in Rust. It’s designed for developers and power users who want a frictionless, keyboard-driven workflow for managing knowledge directly in the terminal.
Built with Ratatui, Kiroku provides a modern TUI (Terminal User Interface) that combines the speed of the command line with the organizational power of a dedicated note manager.
🚀 Key Features
| Feature | Description |
|---|---|
| ⚡ Blazing Fast | Written in Rust for near-instant startup and fluid navigation, even with thousands of notes. |
| 🔍 Fuzzy Everything | Search by title, full-text content, or tags using a powerful fuzzy-matching engine. |
| 📂 FS-Based | Your notes are just Markdown files on disk. Organized in folders, no proprietary database. |
| 🔄 Git Sync | Integrated Git support to automatically sync your notes across devices on exit or with a keystroke. |
| 🎨 Modern Themes | Comes with beautiful built-in themes: Catppuccin, Gruvbox, and Tokyo Night. |
| 🏷️ Tag Management | Support for YAML frontmatter tags for easy categorization and filtering. |
⌨️ Keyboard Shortcuts
Kiroku is designed to be used without a mouse.
| Key | Action |
|---|---|
j / k |
Navigate note/folder list |
Enter |
Open selected note in your $EDITOR |
n / f |
Create new note / folder |
/ / ? / # |
Search by Title / Content / Tag |
g |
Sync with Git (push/pull) |
s |
Cycle sort mode (Date, Name, Size) |
t |
Cycle UI themes |
y / Y |
Copy content / path to clipboard |
📦 Quick Start
Prerequisites
- Rust & Cargo (to build from source)
- A text editor (Vim, Neovim, Nano, VS Code, etc.)
Installation
- Clone the repository
git clone https://github.com/gab-dev-7/kiroku.git
cd kiroku
- Build and Install
cargo install --path .
- Launch
kiroku
By default, Kiroku looks for notes in ~/kiroku. You can specify a different directory as an argument: kiroku ~/my-special-notes
⚙️ Configuration
Kiroku stores its configuration in ~/.config/kiroku/config.toml.
# Example Configuration
editor_cmd = "nvim"
auto_sync = true
sort_mode = "Date"
[theme]
accent = "#89dceb" # Catppuccin Cyan
selection = "#bb9af7" # Purple
🤝 Contributing
Kiroku is open-source and welcomes contributions! Whether it’s bug fixes, new themes, or feature requests, feel free to open an issue or PR on GitHub.