If you've been part of terminal ecosystem for you're most likely familiar with numerous terminal todo sort of programs. I'd like to introduce you to king of all of them Taskwarrior.
The name might sound intimidating but don't go - it's quite the opposite: it's butter smooth!
Your key command here is
task. Typing this alone will list your open tasks:
$ task ID Age Description Urg 1 32s write a blog about taskwarrior 1 2 11s make carrot cake 1 3 2s pay electric bills 1
Then the rest of cli goes as intuitive as it follows, these are your 3 vital beginner commands:
add "some task"- to add a task.
done <id>- to close task.
modify <id>- change something about task.
Finally Taskwarrior has one vital important feature for managing your tasks - tags. You simply specify tags with
+ signs in front of your commands:
$ task +work add "fix linkedin.com crawler" $ task +work ID Age Description Urg 1 2s fix linkedin.com crawler 1
You can see already with these 4 little things: add, list, modify, tags - you have great powers. Time for example workflow!
This is a simple version of my taskwarrior workflow; First add tasks the moment you get them and try to split them up into small tasks - you're not an idiot you won't get confused don't worry:
$ task add +work "fix project1" Created task 1. $ task add +work "msg admin about project1 dump" Created task 2. $ task add +shop "potatoes - for potato cannon" Created task 3. $ task add +me "1 chapter of new book" Created task 4. $ task add +me "wash dishes" Created task 5. $ task add +gf "research christmas present on etsy" Created task 6. $ task add +me "practice bass a bit" Created task 7. $ task ID Age Tag Description Urg 1 7min work fix project1 0.8 2 6min work msg admin about project1 dump 0.8 3 6min shop potatoes - for potato cannon 0.8 4 5min me 1 chapter of new book 0.8 5 5min me wash dishes 0.8 6 4min gf research christmas present on etsy 0.8 7 4min me practice bass a bit 0.8
Right, got bunch of tasks and now just pop them as you feel like. Having a weekday work day?
$ task +work ID Age Tag Description Urg 1 11min work fix project1 0.8 2 10min work msg admin about project1 dump 0.8
Task 1 really needs to get done:
$ task start 1 Starting task 1 'fix project1'. Started 1 task.
All this does is mark the task in your list that it's "ongoing" :
$ task +work ID Active Age Tag Description Urg 1 1min 14min work fix project1 4.8 2 13min work msg admin about project1 dump 0.8
Been working hard for an hour or so, time for a short break. Lets keep the task active so we could jump right back in after our break and take a look at
me tasks we have for our break:
$ task +me ID Age Tag Description Urg 4 14min me 1 chapter of new book 0.8 5 14min me wash dishes 0.8 7 12min me practice bass a bit 0.8
Great time to boot up the bass for a song or two and while Rocksmith on ps4 is booting up - wash the dishes:
$ task 5 done Completed task 5 'wash dishes'. Completed 1 task.
Break over, simply jump back to work, the task you've been working on is still glowing red there waiting for you ;)
Taskwarrior allows this sort of dead-simple micro-motivation. It's so simple an intuitive that in never feels like additional work.
Often it's easy to go through your day without having tangible experience of your accomplishments. No matter how small your tasks are - the day feels so much better when you can visualize and feel the tiny hills you've conquered!
Taskwarrior also packs a bunch of awesome, rich features but those are beyond the scope of this blog post.
Taskwarrior documentation is well written and quite short: