Task Tracker CLI is a sleek command-line application designed for efficient task management. Built in Python, it allows users to add, update, and track tasks using simple commands with JSON-based storage. With features like status tracking and flexible filtering, staying organized has never been easier.
Task Tracker CLI
Task Tracker CLI is a streamlined command-line tool designed for effective task management. Built with Python, it provides a user-friendly interface to manage tasks efficiently, utilizing JSON for human-readable data storage.
Features
- Simple and Fast Task Management: Easily add, update, delete, and manage tasks using straightforward commands.
- Status Tracking: Organize tasks effortlessly with
todo
,in-progress
, anddone
status options. - Automatic Timestamps: Each task automatically tracks creation and update timestamps, enhancing efficiency.
- Flexible Task Filtering: View tasks by their status or display all tasks seamlessly.
- Human-Readable JSON Storage: Task details are stored in a JSON file (
tasks.json
), making it easy to understand and manage. - Robust Error Handling: The tool includes validation to ensure user inputs are correctly formatted and provides helpful error messages.
Usage
Task Tracker CLI is designed for simplicity and facilitates a variety of task operations:
Adding Tasks
# Add new tasks to the list
task-cli add "Complete project documentation"
task-cli add "Review pull requests"
Listing Tasks
# List all tasks
task-cli list
# List tasks by specific status
task-cli list todo
task-cli list in-progress
task-cli list done
Updating Tasks
# Update an existing task based on its ID
task-cli update 1 "Complete comprehensive project documentation"
Managing Task Status
# Change the status of tasks
task-cli mark-in-progress 1
task-cli mark-done 1
task-cli mark-todo 1
Deleting Tasks
# Remove a task from the list using its ID
task-cli delete 1
Task Structure
Each task is organized in a simple JSON format:
{
"id": 1,
"description": "Complete project documentation",
"status": "todo",
"createdAt": "2025-01-15T10:30:00",
"updatedAt": "2025-01-15T10:30:00"
}
Status Options
todo
: Task is pending.in-progress
: Task is currently being worked on.done
: Task has been completed.
Technical Details
- Language: Python 3.8+
- Storage: JSON file-based persistence allows for easy data manipulation and human readability.
- Dependencies: Utilizes the standard library alongside the
datetime
package for effective time tracking. - Error Handling: The CLI handles various errors with user-friendly messages for issues like invalid task IDs and missing arguments.
Contributing
Contributions are welcomed:
- Fork the repository.
- Create a feature branch (e.g.,
git checkout -b feature/amazing-feature
). - Commit changes (e.g.,
git commit -m 'Add amazing feature'
). - Push to the branch (e.g.,
git push origin feature/amazing-feature
). - Submit a Pull Request.
Typical Workflow Example
# Add tasks to track
task-cli add "Set up development environment"
task-cli add "Write unit tests"
task-cli add "Deploy to production"
# Initiate work on a task
task-cli mark-in-progress 1
# Review progress on in-progress tasks
task-cli list in-progress
# Mark a task as done and continue with the next
task-cli mark-done 1
task-cli mark-in-progress 2
# Check all completed tasks
task-cli list done
For those looking to boost their productivity through effective task management, Task Tracker CLI offers a clean and efficient solution.
No comments yet.
Sign in to be the first to comment.