PitchHut logo
Task Tracker CLI
A lightweight command-line tool for managing tasks effectively.
Pitch

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.

Description

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, and done 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:

  1. Fork the repository.
  2. Create a feature branch (e.g., git checkout -b feature/amazing-feature).
  3. Commit changes (e.g., git commit -m 'Add amazing feature').
  4. Push to the branch (e.g., git push origin feature/amazing-feature).
  5. 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.

0 comments

No comments yet.

Sign in to be the first to comment.