A fast, keyboard-driven terminal task manager built with Rust and Ratatui.
- Fast & Lightweight - Instant startup, minimal resource usage
- Keyboard-Driven - Full functionality accessible without a mouse
- Vim-Style Navigation - Familiar keybindings for terminal users
- Offline-First - All data stored locally in SQLite
- Projects & Tags - Organize tasks with projects and flexible tagging
- Smart Filtering - Filter by status, priority, due date, project, or tag
- Weekly Calendar - Visual overview of tasks by due date
- Full-Text Search - Search across task titles and descriptions
Download the latest release for your platform from GitHub Releases.
| Platform | File |
|---|---|
| macOS (Apple Silicon) | ratado-aarch64-apple-darwin.tar.gz |
| macOS (Intel) | ratado-x86_64-apple-darwin.tar.gz |
| Linux | ratado-x86_64-unknown-linux-gnu.tar.gz |
| Windows | ratado-x86_64-pc-windows-msvc.zip |
# macOS/Linux: Extract and move to PATH
tar xzf ratado-*.tar.gz
sudo mv ratado /usr/local/bin/brew tap milosmiric/tap
brew install ratadoRequires Rust 1.85 or later.
# Clone the repository
git clone https://github.com/milosmiric/ratado.git
cd ratado
# Build and install
cargo build --release
# Run
./target/release/ratado- A terminal with Unicode support
Launch Ratado:
ratadoData is stored at ~/Library/Application Support/ratado/ratado.db (macOS) or ~/.config/ratado/ratado.db (Linux)
| Key | Action |
|---|---|
j / ↓ |
Move down |
k / ↑ |
Move up |
g / Home |
Jump to top |
G / End |
Jump to bottom |
Ctrl+d |
Page down |
Ctrl+u |
Page up |
Tab |
Switch panel |
h / ← |
Focus sidebar |
l / → |
Focus task list |
| Key | Action |
|---|---|
a |
Add new task |
e / Enter |
Edit selected task |
d |
Delete task |
Space |
Toggle completion |
p |
Cycle priority |
t |
Edit tags |
m |
Move to project |
| Key | Action |
|---|---|
a |
Add new project |
e / Enter |
Edit project |
d |
Delete project |
Tab |
Switch between Projects/Tags |
| Key | Action |
|---|---|
f |
Open filter/sort dialog |
T |
Filter: Due today |
W |
Filter: Due this week |
1-4 |
Filter by priority |
/ |
Search tasks |
c |
Calendar view |
S |
Settings |
| Key | Action |
|---|---|
? |
Show help |
r |
Refresh data |
F12 |
Debug logs |
q |
Quit |
Ctrl+c |
Force quit |
Ratado v0.1.0 [Overdue: 2] [Due Today: 3] 12 tasks total
──────────────────────────────────────────────────────────────────────
PROJECTS │ TASKS [Pending] [Due Date ↑]
│
▸ All Tasks (12) │ ▶ [ ] !! Fix production bug Yesterday
Inbox (2) │ [ ] !! Review pull request #42 Yesterday
Work (6) │ [ ] ! Deploy v2.0 release Today
Personal (4) │ [ ] Update API documentation Today
│ [ ] Team standup meeting Today
│ [ ] Write unit tests @Work #backend
│ [ ] Refactor auth module @Work #backend
│ [ ] ↓ Clean up old branches Friday
│ [ ] Buy groceries @Personal #home
│ [ ] Schedule dentist appointment @Personal
│ [ ] Read "Clean Code" chapter 5 @Personal #books
│ [ ] ↓ Organize desk @Inbox #home
│
──────────────────────────────────────────────────────────────────────
a Add e Edit Space Done / Search c Calendar f Filter ? Help
| Attribute | Description |
|---|---|
| Title | Task name (required) |
| Description | Detailed notes with link support |
| Due Date | When task is due |
| Priority | Low, Medium, High, Urgent |
| Status | Pending, In Progress, Completed, Archived |
| Project | Group tasks under projects |
| Tags | Flexible categorization labels |
- Status: All, Pending, In Progress, Completed, Archived
- Date: Due Today, Due This Week, Overdue
- Priority: Urgent, High, Medium, Low
- Organization: By Project, By Tag
- Due Date (ascending/descending)
- Priority (highest/lowest first)
- Creation Date (newest/oldest)
- Alphabetical
src/
├── main.rs # Entry point
├── app.rs # Application state
├── ui/ # Ratatui widgets and views
├── models/ # Task, Project, Filter structs
├── handlers/ # Keyboard input and commands
├── storage/ # SQLite database operations
└── utils/ # Date/time helpers
# Run in development
cargo run
# Run tests
cargo test
# Run linter
cargo clippy
# Format code
cargo fmt
# Generate documentation
cargo doc --openThis project is licensed under the MIT License - see the LICENSE file for details.
Miloš Mirić
- GitHub: @milosmiric
- LinkedIn: milosmiric