TaskMan CLI is a powerful and user-friendly task management application built with Python. It offers a seamless command-line interface for efficiently managing your daily tasks, helping you boost productivity and stay organized.
- 📌 Add Tasks: Easily add new tasks to your to-do list with optional priority levels
- 🗑️ Remove Tasks: Remove tasks from your to-do list
- ✅ Mark Tasks as Completed: Move tasks to a "done" list when completed
- 👀 View Current State: See all your tasks, both pending and completed
- 🧹 Clear Lists: Clean up your to-do and done lists with a single command
- 💾 Save on Exit: Option to save your tasks when exiting the application
- 🔄 Load on Start: Your previously saved tasks are automatically loaded when you start the application
- 📊 Generate Reports: Create daily task reports to track your productivity
- 🔢 Priority Levels: Assign priority levels (high, medium, low) to your tasks
- Ensure you have Python 3.6+ installed on your system.
- Clone the repo and cd into it:
git clone https://github.com/tahadnan/TaskMan-CLI.git
cd TaskMan-CLI
- Install required libraries (It's better to use a Virtual Environment):
pip install -r requirements.txt
(P.S: I'm using Linux, so some commands may differ slightly. Please take this into consideration.)
- After installation, you can start TaskMan CLI by running:
python3 main.py
- Once launched, you'll see the TaskMan welcome screen. Type
help
to see available commands:
TaskMan > help
- Use the various commands to manage your tasks. Here are some examples:
TaskMan > add Buy groceries:high | Call mom | Finish report:low
TaskMan > list-todo
TaskMan > mark-as-done Buy groceries
TaskMan > list-both
add [task1] | [task2] | ...
: Add one or more tasks- Format: task:priority (e.g., "Buy groceries:high")
remove [task1] | [task2] | ...
: Remove one or more tasksmark-as-done / mad [task1]...
: Mark one or more tasks as completedlist-both / lb
: Show all tasks (to-do and done)list-todo / ltd
: Show pending taskslist-done / ld
: Show completed tasksclear-todo / cltd
: Clear all pending tasksclear-done / cld
: Clear all completed tasksreset
: Clear all tasks (both to-do and done)report [name]
: Generate a report (optional custom name)save
: Manually save current state to filehelp
: Show the help messageclear / Ctrl+l
: Clear the screenexit
: Exit the program (prompts to save tasks)
- Use the up and down arrow keys to navigate through your command history.
- TaskMan supports auto-completion. Start typing a command and press Tab to complete it.
- When exiting, you'll be prompted to save your tasks. This ensures you don't lose any changes.
- Your saved tasks are automatically loaded when you start the application.
- You can assign priorities to tasks: high, medium (default), or low.
Contributions are welcome! Here's how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please make sure to update tests as appropriate.
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by the ZTM Python course by Andrei Neagoie
- Built with love using Python and prompt_toolkit
Made with ❤️ by Taha Adnan