Task Genie is a smart command-line task manager that helps you organize, track, and break down your tasks using AI. It supports both simple and complex tasks, leveraging OpenAI to decompose complex tasks into actionable subtasks.
- Add simple tasks
- Add complex tasks (decomposed into subtasks using AI)
- List all tasks
- Mark tasks as completed
- Delete tasks
- Persistent storage in
tasks.json
- The main entry point is
main.py, which provides a menu-driven CLI. - Tasks are managed by the
TaskManagerclass intask_manager.py. - For complex tasks, the app uses OpenAI (via
ai_service.py) to break down descriptions into subtasks.
- Clone the repository:
git clone <repo-url> cd taskGenie
- Install dependencies:
pip install -r requirements.txt
- Set up your OpenAI API key:
- Create a
.envfile in the project root:OPENAI_API_KEY=your_openai_api_key_here
- Create a
Run the application:
python main.pyFollow the menu prompts to add, list, complete, or delete tasks.
Example result
- choose option: "2. to add complex task with AI"
- add input: "prepare hot chocolat mug"
- observe how taskGenie breaks it down into simpler steps on the purple box. :)
Main dependencies (see requirements.txt):
- openai
- python-dotenv
- tqdm
Unit tests are provided in test_task_manager.py.
Run tests with:
python -m unittest test_task_manager.pymain.py— CLI entry pointtask_manager.py— Task and TaskManager classesai_service.py— AI-powered task decompositiontasks.json— Persistent task storagetest_task_manager.py— Unit testsrequirements.txt— Python dependencies
See LICENSE for details.
