A feature-rich, keyboard-driven, markdown-compatible note-taking app that runs entirely in your terminal.
Built with curses and rich for a clean and efficient terminal UI.
- All notes stored as Markdown files
- Full keyboard control (Vim-like UX)
- Modern terminal UI using
cursesandrich - Customizable theme and config (colors, editor, etc)
- Live Markdown preview with rich formatting
- Optional note limit to manage clutter
- Customizable note templates with frontmatter support
- Python 3.8+
richlibrary
pip install richgit clone https://github.com/0x800a6/terminal-notes.git
cd terminal-notespython3 src/main.pyNote: You can also make it executable and run it directly.
| Key | Action |
|---|---|
n |
Create new note |
Enter |
Open note in editor |
p |
Preview note (markdown) |
d |
Delete selected note |
↑ / ↓ |
Navigate notes |
q |
Quit app |
On first run, the app creates a config file at:
~/.terminal_notes/config.json
{
"editor": "nvim",
"preview_cmd": "cat",
"date_format": "%Y-%m-%d %H:%M",
"max_notes": 100,
"theme": {
"highlight_fg": "black",
"highlight_bg": "cyan",
"normal_fg": "white",
"normal_bg": "black"
},
"storage": "/home/yourname/.terminal_notes"
}You can change:
editor: the terminal text editor (e.g.nano,nvim,vim,micro)max_notes: max number of stored notestheme: terminal color settingsdate_format: how timestamps appear
The app supports customizable note templates. On first run, a default template is created at:
~/.terminal_notes/TEMPLATE.md
You can find the default template at TEMPLATE.md.
{title}- The note title you enter{description}- The note description you enter (required){created_at}- Timestamp when the note was created{updated_at}- Same as created_at (for future use)
You can customize this template file to match your preferred note structure, add custom frontmatter, or include default sections that fit your workflow.
All notes and configs live in ~/.terminal_notes/:
~/.terminal_notes/
├── index.json # Metadata index
├── config.json # Config file
├── TEMPLATE.md # Note template (customizable)
└── 2024-07-16_13-23.md # Individual notes
- Tag-based filtering
- Search and fuzzy match
- Git sync / backup
- Archive/deletion system
- Local website / webserver
MIT — do whatever you want.
Built with caffeine and a keyboard by LRR.