Skip to content

๐ŸฅŠCombo is a command-line To Do application written in Go, featuring group management, task tracking, completion marking, and color-coded output for clear task status distinction.

License

Notifications You must be signed in to change notification settings

bryantaolong/combo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Combo

Combo is a command-line To Do application developed in Go, supporting group management, task management, marking tasks as done, and color-coded output for easy task status distinction.


โœจ Features

  • Create/Delete/List groups

  • Add/Delete/List/Clear tasks

  • Mark tasks as done

  • Support for default and custom groups

  • Color-coded output to differentiate task status:

    • Completed tasks: Green
    • Pending tasks: Default color
    • Warnings/Errors: Red
    • Informational messages: Yellow or Blue

๐Ÿš€ Installation & Build

1. Install Go

Make sure Go 1.20+ is installed and environment variables are set:

go version

2. Clone the repository

git clone https://github.com/bryantaolong/combo.git
cd combo

3. Build the executable

Windows

go build -o combo.exe

Linux / macOS

go build -o combo

Optional: Add the executable to your system PATH for global usage.


๐ŸŽฎ Usage

Help

combo --help
combo todo --help
combo group --help

Group Management

# Create a group
combo group add work

# List all groups
combo group list

# Delete a group (default group cannot be deleted)
combo group delete work

Task Management

# Add tasks
combo todo add "Write daily report" -g work
combo todo add "Default task 1"

# List tasks
combo todo list -g work
combo todo list

# Mark task as done
combo todo done 1 -g work

# Delete task
combo todo delete 1 -g work

# Clear all tasks in a group
combo todo clear -g work

Example

# Create a group
combo group add work

# Add tasks
combo todo add "Write daily report" -g work
combo todo add "Meeting preparation" -g work

# List tasks
combo todo list -g work

# Mark task as done
combo todo done 1 -g work

# Delete task
combo todo delete 2 -g work

# Delete group
combo group delete work

Project Structure

combo/
โ”œโ”€ cmd/           # Cobra command modules
โ”‚  โ”œโ”€ root.go
โ”‚  โ”œโ”€ todo/
โ”‚  โ”‚  โ”œโ”€ add.go
โ”‚  โ”‚  โ”œโ”€ delete.go
โ”‚  โ”‚  โ”œโ”€ list.go
โ”‚  โ”‚  โ”œโ”€ done.go
โ”‚  โ”‚  โ””โ”€ clear.go
โ”‚  โ””โ”€ group/
โ”‚     โ”œโ”€ group.go
โ”‚     โ”œโ”€ add.go
โ”‚     โ”œโ”€ list.go
โ”‚     โ””โ”€ delete.go
โ”œโ”€ storage/       # Data structures and storage logic
โ”œโ”€ main.go
โ””โ”€ README.md

๐Ÿ’พ Data Storage

  • Tasks are stored in a JSON file located in the user directory (customizable)

  • Each group contains a list of tasks

  • Each task has:

    • ID: unique identifier
    • Content: task content
    • Done: completion status

๐Ÿ“š Color Output

  • Implemented using fatih/color
  • Completed tasks: Green
  • Warnings/Errors: Red
  • Informational messages: Yellow or Blue

License

MIT License

About

๐ŸฅŠCombo is a command-line To Do application written in Go, featuring group management, task tracking, completion marking, and color-coded output for clear task status distinction.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published