CLI ToDo Manager v1.0.0

Modern CLI task manager with priorities, deadlines and desktop notifications

Powerful command-line task management with priorities, deadlines, system notifications, and a beautiful colorful interface.

Python CLI Task Manager Notifications SQLite Linux

Modern Task Management: CLI ToDo Manager is a powerful command-line task management application with support for priorities, deadlines, system notifications, and a beautiful colorful interface.

  • Task Priorities — Low, Medium, Critical with color indicators
  • Deadlines — Smart color coding (white/yellow/red)
  • System Notifications — With sound and app icon
  • Statistics — Task analytics by priority and status
  • Beautiful UI — Color output, ASCII art logo, emojis
  • Desktop Shortcut — Create launcher on your desktop
  • Local Storage — SQLite database
  • High Performance — Database indexes, optimized queries

⚡ MAIN MENU ⚡
────────────────────────────────────────────────────────
   1. 📋 List Tasks       - View active tasks
   2. 📚 All Tasks        - View all tasks (including completed)
   3. ➕ Create Task      - Add new task
   4. ✏️ Edit Task        - Modify existing task
   5. ✅ Complete Task    - Mark task as done
   6. 🗑️ Delete Task      - Remove task
   7. 📊 Statistics       - View task statistics
   8. 🖥️ Create Shortcut  - Create desktop shortcut
   9. ℹ️ About            - Show application information
  10. ❓ Help             - Show help and documentation
  11. 🌐 GitHub           - Open GitHub repository
────────────────────────────────────────────────────────
   0. 🚪 Exit             - Quit application

Creating a Task

📝 Task name (can include emojis): Complete project 🚀
📄 Description (optional): Finish CLI ToDo Manager by the end of the week

🎯 Select priority:
  1. 🟢 Low
  2. 🟡 Medium
  3. 🔴 Critical
Choice: 3

⏰ Add deadline? (y/n): y
📅 Deadline (YYYY-MM-DD HH:MM): 2026-04-30 10:00

Task Management

  • List Tasks — Shows only active (pending) tasks
  • All Tasks — Shows all tasks, including completed ones
  • Edit Task — Modify any task field
  • Complete Task — Mark as done
  • Delete Task — Permanently remove

ColorMeaning
🟢 GreenLow priority / Completed
🟡 YellowMedium priority / Deadline soon
🔴 RedCritical priority / Overdue
🔵 CyanInformation / Headers
⚪ WhiteNormal deadline (>1 day left)
🟡 YellowDeadline ≤ 1 day
🔴 RedOverdue deadline

The application automatically monitors deadlines and sends system notifications:

  • Overdue Tasks — Every 30 minutes (critical priority)
  • Deadline Today — On the due date (critical priority)
  • Deadline Tomorrow — 1 day before (warning priority)
  • Deadline in 2 Days — Reminder (normal priority)

Notifications are grouped by type to prevent sound spam when multiple tasks are due.

# Clone the repository
git clone https://github.com/aixandrolab/cli-todo-manager.git
cd cli-todo-manager

# Run the application
python app.py

System Requirements

  • Python 3.8+
  • Linux (for full notification functionality)
  • libnotify-bin (for desktop notifications)
  • sound-theme-freedesktop (optional, for sounds)

Install dependencies on Ubuntu/Debian:

sudo apt install python3 libnotify-bin sound-theme-freedesktop

cli-todo-manager/
├── core/
│   ├── database/         # Database operations
│   │   └── db_manager.py
│   ├── models/           # Data models
│   │   └── todo.py
│   ├── ui/               # User interface
│   │   ├── ascii_art.py
│   │   ├── colors.py
│   │   └── menu.py
│   └── utils/            # Utilities
│       ├── config.py
│       ├── desktop_entry.py
│       └── notifications.py
├── data/
│   └── icons/            # Application icons
│       └── icon.png
├── app.py               # Entry point
└── README.md             # Documentation

  • Language: Python 3.8+
  • Database: SQLite
  • Notifications: libnotify (Desktop Notifications)
  • Platform: Linux
  • License: BSD 3-Clause

Links


Created by Alexander Suvorov

If you find this useful, please star the repository!