A modern terminal-based note-taking app written in Rust.
RustNote is a Rust rewrite of note — a Go-based terminal note-taking app built with Bubble Tea. It is a TUI (Terminal User Interface) application for managing markdown notes with folder organization, live preview rendering, and multiple independent note collections.
- Markdown notes with live preview rendering
- Folder-based organization with expandable tree view
- Multiple NoteSets — switch between independent note collections
- Configurable editor (respects $NOTE_EDITOR, $VISUAL, $EDITOR, falls back to vi/ed)
- XDG Base Directory compliant (config at ~/.config/rustnote/, data at ~/.local/share/rustnote/)
- Archive system per noteSet
- Permanent delete with confirmation
- Vim-style keybindings (j/k/h/l)
- Responsive layout with toggleable sidebar
- YAML configuration with full customization
From source:
cd RustNote
cargo build --releaseThe compiled binary will be available at target/release/rustnote.
Run rustnote to launch the application. On first run, it automatically creates the config directory and notes directory.
- Press
nto create a new note - Press Enter on a note file to open it in your configured editor
- Press
qto quit
| Key | Action |
|---|---|
j / k or Up / Down |
Navigate notes in the sidebar |
l or Right |
Expand folder |
h or Left |
Collapse folder or navigate to parent folder |
Enter |
Edit note (on file) or rename folder (on folder) |
n |
Create new note |
N |
Create new folder |
Tab |
Toggle sidebar visibility |
Backspace |
Archive current note or folder |
d |
Delete current note or folder (with confirmation) |
[ / ] |
Switch between NoteSets (only shown when multiple configured) |
PageUp / PageDown |
Scroll content preview |
| Mouse scroll wheel | Scroll content preview |
q or Ctrl+c |
Quit |
Configuration is stored in ~/.config/rustnote/config.yaml. The file is auto-generated on first run.
Print your current config:
rustnote --configRustNote respects these environment variables for editor configuration:
NOTE_EDITOR: Primary editor preference (checked first)VISUAL: Secondary editor preference (checked ifNOTE_EDITORis not set)EDITOR: Tertiary editor preference (checked ifVISUALis not set)
RustNote follows the XDG Base Directory specification:
- Config:
~/.config/rustnote/(respectsXDG_CONFIG_HOME) - Data:
~/.local/share/rustnote/(respectsXDG_DATA_HOME)
The config file includes options for layout, theme, editor, and note sets. See the Handbook for detailed configuration reference.
RustNote is a Rust rewrite of note by armandsauzay.
MIT