
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.
-
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
Make sure Go 1.20+ is installed and environment variables are set:
go version
git clone https://github.com/bryantaolong/combo.git
cd combo
go build -o combo.exe
go build -o combo
Optional: Add the executable to your system PATH for global usage.
combo --help
combo todo --help
combo group --help
# 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
# 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
# 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
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
-
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 identifierContent
: task contentDone
: completion status
- Implemented using
fatih/color
- Completed tasks: Green
- Warnings/Errors: Red
- Informational messages: Yellow or Blue