Skip to content

YajJackson/tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tasks (name tbd)

Overview

Simple task management directly in your terminal.

Features

  • Add Tasks: Create tasks with a description and a unique ID.
  • List Tasks: View all tasks interactively, toggle their status (TODO ↔ DONE).
  • Show Task Details: Display detailed information about a specific task.
  • Persistent Storage: Tasks are saved in a JSON file for persistence.

Demo

Task Program Demo

Prerequisites

  • jq (for JSON manipulation)
  • gum (for interactive UI)

Installation

  1. Ensure jq and gum are installed:
    sudo apt install jq       # Debian/Ubuntu
    brew install jq gum       # macOS
  2. Save the script to a file, e.g., task.
  3. Make the script executable:
    chmod +x task
  4. Move it to your PATH for easy access:
    mv task /usr/local/bin/task

Usage

Add a Task

task add "Finish project report"

Show Task Details

task show <task_id>

If <task_id> is omitted, an interactive menu will appear, allowing you to select a task.

List and Manage Tasks

task list
  • Press Space to toggle a task's status (📝 ↔ ✅).
  • Press Enter to confirm your selection.

File Structure

  • Tasks are stored persistently in .project_tasks/tasks.json in your current directory.
  • Example task format:
    [
      {
        "id": "1672527600",
        "description": "Complete project documentation",
        "date": "2025-01-24 12:00:00",
        "status": "TODO"
      }
    ]

Notes

  • Tasks are sorted by their status (📝 TODO first, then ✅ DONE) and by creation date.

About

Simple task management directly in your shell.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages