A simple command-line interface (CLI) application for tracking and managing your tasks. This project helps you keep track of what you need to do, what you're working on, and what you've completed.
- Add, update, and delete tasks
- Mark tasks as in-progress or done
- List all tasks or filter by status (todo, in-progress, done)
- Automatic timestamps for task creation and updates
- Persistent storage using JSON
- Python 3.x
- Clone this repository:
git clone https://github.com/AlexeiLuchian/task-tracker-cli.git
cd task-tracker-cli- No additional dependencies required - uses Python standard library only!
Run the CLI using the following command format:
python task_cli.py <command> [arguments]python task_cli.py add "Buy groceries"Output: Task added successfully (ID: 1)
python task_cli.py update 1 "Buy groceries and cook dinner"Output: Task updated successfully (ID: 1)
python task_cli.py delete 1Output: Task deleted successfully (ID: 1)
python task_cli.py mark-in-progress 1Output: Task status changed to 'in-progress' (ID: 1)
python task_cli.py mark-done 1Output: Task status changed to 'done' (ID: 1)
python task_cli.py listpython task_cli.py list done
python task_cli.py list todo
python task_cli.py list in-progressWhen listing tasks, you'll see output like this:
> ID:1
description: Buy groceries
status: todo
created at: 2025-10-12 14:30:00
last updated: 2025-10-12 14:30:00
> ID:2
description: Write project documentation
status: in-progress
created at: 2025-10-12 15:00:00
last updated: 2025-10-12 15:45:00
Tasks are stored in a tasks.json file in the same directory as the script. The file is created automatically when you add your first task.
{
"last_id": 2,
"tasks": {
"task1": {
"id": 1,
"description": "Buy groceries",
"status": "todo",
"createdAt": "2025-10-12 14:30:00",
"updatedAt": "2025-10-12 14:30:00"
},
"task2": {
"id": 2,
"description": "Write documentation",
"status": "in-progress",
"createdAt": "2025-10-12 15:00:00",
"updatedAt": "2025-10-12 15:45:00"
}
}
}task-tracker-cli/
│
├── task_cli.py # Main CLI application
├── tasks.json # Task storage (created automatically)
└── README.md # This file
Project idea from: roadmap.sh Task Tracker