A simple and efficient command-line interface (CLI) task manager built with Go. This application allows you to manage your tasks directly from the terminal, providing a streamlined workflow for task creation, listing, completion, and deletion.
-
Add new tasks
-
List all tasks (including option to show completed tasks)
-
Mark tasks as complete
-
Delete tasks
-
Persistent storage using BoltDB
-
Human-readable time differences for task creation dates
-
Clone the repository:
git clone https://github.com/vineyy17/cli-task-manager.git
-
Navigate to the project directory:
cd cli-task-manager -
Build the application: Make sure you have Go installed on your machine. Then, build the project using the following command:
go build
-
(Optional) Move the binary to a directory in your PATH for easy access::
sudo mv cli-task-manager /usr/local/bin/task
After installation, you can use the task command followed by subcommands to manage your tasks.
task add <task description>: Add a new tasktask list: List all uncompleted taskstask list --allortask list -a: List all tasks, including completed onestask complete <task_id>: Mark a task as completetask delete <task_id>: Delete a task
# Add a new task
task add "Go for a walk"
# List all uncompleted tasks
task list
# List all tasks, including completed ones
task list --all
# Mark task 1 as complete
task complete 1
# Delete task 2
task delete 2- BoltDB: An embedded key/value database for Go.
- Cobra: A library for creating powerful CLI applications.
- timediff: A Go library for formatting time differences in a human-readable way.
- homedir: A Go library for expanding the user's home directory.
Contributions to the CLI Task Manager are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.