ToDo CLI
A fast, feature-rich command-line to-do list application built in Rust.
Features
- Task Management - Create, view, update, and delete tasks
- Priority Levels - Assign low, medium, or high priority to tasks
- Due Dates - Set and track due dates with overdue detection
- Soft Delete - Safely delete tasks with ability to restore
- Search - Full-text search across task titles and notes
- Statistics - View task completion stats at a glance
- Persistent Storage - SQLite database for reliable data storage
Installation
Prerequisites
- Rust (Edition 2024)
From crates.io (recommended)
From source
Usage
Run installed binary
Run from source
Commands
Adding Tasks
# Simple task
# With priority
# With all options
Viewing Tasks
# Show specific task
# List ongoing tasks (default)
# List by status
# List by priority
# List deleted tasks
Managing Task Status
# Mark as complete
done
# Reopen a completed task
Updating Tasks
# Update any combination of fields
Due Dates
# View tasks due today
# View tasks due tomorrow
Deleting Tasks
# Soft delete (can be restored)
# Restore a deleted task
# Permanently delete
# Permanently delete all deleted tasks
Search & Stats
# Search tasks
# View statistics
Utility
# Show help
# Clear screen
# Exit application
Date Format
All dates must be in dd/mm/yyyy format:
15/03/2026- Valid2026-03-15- Invalid03/15/2026- Invalid
Tech Stack
- Language: Rust (Edition 2024)
- Database: SQLite via rusqlite
- CLI Framework: Clap v4.5
- Date/Time: Chrono
Project Structure
ToDo-List/
├── src/
│ ├── main.rs
│ ├── lib.rs
│ ├── cli.rs
│ ├── models.rs
│ ├── db.rs
│ └── mod.rs
├── Cargo.toml
└── README.md
Roadmap
- Unit tests for input validation
- Notes editor with multi-line support
- Multi-device sync with authentication
- WhatsApp integration for mobile access
License
LGPL-2.1