to_do_cli 0.1.2

Feature-rich command-line todo app with SQLite storage
Documentation

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)

cargo install to_do_cli

From source

git clone https://github.com/Dysfunctional-Human/ToDo-List.git

cd ToDo-List

cargo build --release

Usage

Run installed binary

to_do_cli

Run from source

cargo run

Commands

Adding Tasks

# Simple task

add doctor appointment


# With priority

add submit report --priority high


# With all options

add team meeting --priority medium --due 15/03/2026 --notes bring laptop

Viewing Tasks

# Show specific task

show 1


# List ongoing tasks (default)

list


# List by status

list --completed

list --all


# List by priority

list --high

list --medium

list --low


# List deleted tasks

list --deleted

Managing Task Status

# Mark as complete

done 1


# Reopen a completed task

reopen 1

Updating Tasks

# Update any combination of fields

update 1 --title new title here

update 1 --priority low --due 20/03/2026

update 1 --notes updated notes --priority high

Due Dates

# View tasks due today

due --today


# View tasks due tomorrow

due --tomorrow

Deleting Tasks

# Soft delete (can be restored)

delete 1


# Restore a deleted task

restore 1


# Permanently delete

purge 1


# Permanently delete all deleted tasks

purge --all

Search & Stats

# Search tasks

search meeting


# View statistics

stats

Utility

# Show help

help


# Clear screen

clear


# Exit application

exit

Date Format

All dates must be in dd/mm/yyyy format:

  • 15/03/2026 - Valid
  • 2026-03-15 - Invalid
  • 03/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
  • Make sure all doc and clippy checks pass

License

LGPL-2.1