Tasks is a command-line interface(CLI) application for managing your to-do list directly from the terminal. Built with Go, it provides a simple and efficient way to add, list, complete and delete tasks, all while storing your data locally using SQLite.
- Add tasks with optional deadlines.
- List all tasks or only incomplete ones.
- Mark tasks as complete.
- Delete tasks.
- Data persistence using SQLite database.
- Go 1.16 or higher.
- SQLite.
- Clone the repository.
$ git clone https://github.com/anakinsonone/tasks.git
- Navigate to project directory.
$ cd tasks
- Build the application.
$ go build
- Move the binary to a directory in your PATH(e.g.,/usr/local/bin)
$ sudo mv tasks /usr/local/bin
$ tasks add "Complete project proposal"
$ tasks add "Call client" -m 30 # Due in 30 minutes
$ tasks add "Submit report" -r 2 # Due in 2 hours
$ tasks add "Team meeting" -d 1 # Due in 1 day
$ tasks list # List incomplete tasks
$ tasks ls # Shorthand for list
$ tasks list -a # List all tasks, including completed ones
$ tasks complete 1 # Mark task with ID 1 as completed
$ tasks c 1 # Shorthand for complete
$ tasks delete 1 # Delete task with ID 1
$ tasks d 1 # Shorthand for delete
- github.com/spf13/cobra - For building the CLI interface
- github.com/mattn/go-sqlite3 - SQLite driver for Go
- github.com/mergestat/timediff - For human-readable time differences