Manage all your tasks without ever leaving the command line.
task-cli-example.mov
This example uses the
taskalias. See here for more details on creating aliases.
The goal of this project is to allow the user to quickly and seamlessly jot down tasks/notes as soon as they appear. To this end I highly recommend using a hotkey to open the terminal. I've found cmd + ` to be a great choice for this.
No matter how you decide to use task-cli, having instant access to the terminal and a fast way to jot down notes enables you to say focused longer.
Use tags as a way to organize your tasks
task add +groceries buy milkFilter tasks by tags
task list +groceriesList tasks with no tag
task list +noneGet a list of all your tags
task tagsAn archive keeps track of all finished tasks
task archiveTrack your productivity and see how many tasks you've completed in the last day
task statsSee Subcommands for a full list of available subcommands and flags.
Both methods require Go to be installed.
Using Go
go install github.com/allmtz/task-cli@latestUsing Github
git clone https://github.com/allmtz/task-cli.git && cd ./task-cli && go install .The default command to use the program is task-cli. To simplify usage, I recommend creating an alias in your .bashrc file.
To create an alias, replace YOUR_ALIAS with the command you want to use to run task-cli and then execute the script below.
echo alias YOUR_ALIAS="task-cli" >> ~/.bashrc && source ~/.bashrcadd [task]- Add a task
- Wrap your
taskin quotes if you need to use special characters - Use the
+tagsyntax anywhere in your task to add a tag to it
list -[te]- List tasks
- Use
-tto print tasks along with their tag - Use
-e=tagto exclude tasks with a giventag - Use the
+tagsyntax to only list tasks with the providedtag
do [ID] -[f]- Mark a task as completed
- Use
-fto complete and finish the task in one step
update [ID] -[ds]- Use
-d=[new_description]to update the description of a task. Any tags present in thenew_descriptionwill overwrite previous tags - Use
-sto flip the completion status of a task
- Use
delete [ID]- Delete a task. It will not be added to the archive
count- Print the number of existing tasks
tags- Print all existing tags
finish- Remove all completed tasks and add them to the archive
clear- Delete all tasks regardless of completion status. Note, deleted tasks will not be added to the archive
archive -[c]- View all finished tasks
- Use
-cto permanently delete all archive entries. Use with caution.
stats -[aseo]- Print the number of completed tasks in the last 24 hours
- The time period for stats to look at can be customized by using
-s=[date]to specify the start date and-e=[date]to specify the end date.datemust be in the format mm/dd/yyy - Use
-ato also print the tasks completed per day for a given time period - Use
-o=[date]to print the stats for the provideddate