CLI ToDo Manager

Modern CLI task manager with priorities, deadlines and desktop notifications

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


cli-todo-manager - 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

System Requirements:

  • Python 3.8+
  • Linux (for full notification functionality)
  • libnotify-bin (for desktop notifications)

Installation:

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

# Install dependencies on Ubuntu/Debian
sudo apt install python3 libnotify-bin sound-theme-freedesktop

# Run the application
python app.py

Main Menu:

โšก 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

๐ŸŽฏ 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

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.

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

Adding an Icon:

Place your icon.png file in the data/icons/ directory for use in desktop shortcuts, system notifications, and application menu.

Extending Functionality:

Main classes for extension:

  • Todo - Task model (core/models/todo.py)
  • DatabaseManager - Database operations (core/database/db_manager.py)
  • Menu - UI and logic (core/ui/menu.py)
  • NotificationManager - Notifications (core/utils/notifications.py)

By using this software, you agree to the full disclaimer terms.

Software provided "AS IS" without warranty. You assume all risks.

Full legal disclaimer: See DISCLAIMER.md

License: BSD 3-Clause License

Links


Created by Aixandrolab

Copyright ยฉ 2024-2026, Alexander Suvorov. All rights reserved.