Skip to content

Latest commit

 

History

History
119 lines (85 loc) · 4.24 KB

README.md

File metadata and controls

119 lines (85 loc) · 4.24 KB

TaskMan CLI

TaskMan - Your Personal Task Manager

PyPI version License: MIT

📝 Description

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.

✨ Features

  • 📌 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

🚀 Installation

  1. Ensure you have Python 3.6+ installed on your system.
  2. Clone the repo and cd into it:
git clone https://github.com/tahadnan/TaskMan-CLI.git
cd TaskMan-CLI
  1. 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.)

🛠️ Usage

  1. After installation, you can start TaskMan CLI by running:
python3 main.py
  1. Once launched, you'll see the TaskMan welcome screen. Type help to see available commands:
TaskMan > help
  1. 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

📚 Available Commands

  • add [task1] | [task2] | ...: Add one or more tasks
    • Format: task:priority (e.g., "Buy groceries:high")
  • remove [task1] | [task2] | ...: Remove one or more tasks
  • mark-as-done / mad [task1]...: Mark one or more tasks as completed
  • list-both / lb: Show all tasks (to-do and done)
  • list-todo / ltd: Show pending tasks
  • list-done / ld: Show completed tasks
  • clear-todo / cltd: Clear all pending tasks
  • clear-done / cld: Clear all completed tasks
  • reset: Clear all tasks (both to-do and done)
  • report [name]: Generate a report (optional custom name)
  • save: Manually save current state to file
  • help: Show the help message
  • clear / Ctrl+l: Clear the screen
  • exit: Exit the program (prompts to save tasks)

💡 Tips

  • 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.

🤝 Contributing

Contributions are welcome! Here's how you can contribute:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please make sure to update tests as appropriate.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Inspired by the ZTM Python course by Andrei Neagoie
  • Built with love using Python and prompt_toolkit

Made with ❤️ by Taha Adnan