A lightweight, keyboard-driven task manager for the terminal, built with Rust.
- 📅 Daily Task Scheduling - Organize tasks by date with start and end times
⚠️ Overdue Tracking - Automatically detects and highlights overdue tasks- 📝 Notes View - Quick-access notepad for capturing ideas and thoughts
- ⌨️ Keyboard-Driven - Vim-style navigation (hjkl supported)
- 💾 Local Storage - All data stored locally in JSON format
- 🎨 Clean TUI - Beautiful terminal interface powered by Ratatui
git clone https://github.com/sudo-rsingh/keep.git
cd keep
cargo build --releaseThe binary will be available at target/release/keep
cargo runTask View:
n- Create new taske- Edit selected taskSpace- Toggle task completiond- Delete task↑/↓orj/k- Navigate tasks←/→orh/l- Previous/Next dayTab- Switch to Notes viewq- Quit
Notes View:
- Type freely to edit notes
Arrow keys- Navigate cursorHome/End- Jump to line start/endCtrl+S- Save notesTab- Switch to Task viewq- Quit
Add/Edit Mode:
Tab- Switch between Task/Start Time/End Time fieldsEnter- Save taskEsc- Cancel
Enter times in 24-hour format: HH:MM (e.g., 09:30, 14:00, 23:45)
Keep stores all data in ~/.keep_tasks.json. The file contains:
- All tasks with their dates, times, and completion status
- Your notes
You can back up this file to preserve your data.
- Rust - Systems programming language
- Ratatui - Terminal UI library
- Crossterm - Cross-platform terminal manipulation
- Serde - Serialization framework
- Chrono - Date and time library
See FEATURE_IDEAS.md for a list of potential enhancements including:
- Priority levels
- Task duration display
- Weekly view
- Tags and categories
- Recurring tasks
Contributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
MIT License - feel free to use this project however you'd like.
Built by Rakshit while learning Rust and terminal UI development.
Why Keep?
Keep is designed for developers and terminal enthusiasts who want a simple, distraction-free way to manage daily tasks without leaving the command line. No cloud sync, no bloat—just a fast, local task manager that respects your workflow.