Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Taskwarrior – TODO List from Your Command Line (taskwarrior.org)
53 points by enesunal on Dec 3, 2015 | hide | past | favorite | 25 comments


A cooler tool than a list of releases might suggest. Clicking on "Let's Get Started" gets me: https://taskwarrior.org/docs/start.html

It's too bad that it isn't the landing page.


I've heard that before. It's a good suggestion, thank you for reminding me. I'll roll that out soon.


It was better to submit that link, thank you!


+1 on that.


Used this for a few months and I can highly recommend it for anyone who likes the command line workflow (as I do). No mousing around, just typing. I still occasionally use it for tracking how much time I spend on a task:

    $ task add some project
    Created task 1
    $ task 1 start
    ... do some work ...
    $ task 1 stop
    $ task 1
This will show you how long you just worked on it. You can start/stop a task multiple times and it'll show you when and how long you worked on it each time.

The reason I don't really use Taskwarrior on a daily basis anymore is because I don't use any todo list anymore at all. Currently there are things with a deadline, which are either in my head or in my calendar, and there are things that happen at a certain time (e.g. meeting). A todo list doesn't fit in how I currently work.


I like this, and have used it in the past. I love having all my software (data & configuration) in plain text.

That said, I have found Emacs' org-mode better to suit my rather simple needs---structuring my tasks in a kanban-like format. There's even a Trello to org-mode sync system, just in case you collaborate with people.

In general, I find kanban a very good way to structure work because it defines the next task very clearly and limits work in progress.


Why use this over Todo.txt? That has iOS, Android, and desktop clients.

http://todotxt.com


That seems more similar to org-mode than TW. TW's features are more along the lines of time-tracking, grouping tasks, managing dependencies and automatically managing tasks on top of the basic management. TW also has Android/iOS and desktop clients (including a GUI), though I haven't really used them as I find the default CLI to be extremely slick and intuitive.

You can do pretty much everything you can in TW with a variety of other tools, it just has its own spin on things and also a ton of features. I've tried other task organizers (especially org-mode), but I ended up sticking with TW because it worked best for me.


I'll take a look. I've used todo.txt for a while off and on.


Also check out Vit: http://tasktools.org/projects/vit.html

It's a curses based console interface for taskwarrior.


Oh wow, "task help" shows an incredible list of thoughtful options. That should be part of the Getting started documentation. I had no idea. You can do

    task +weekend +garden due:tomorrow
That's super cool. I keep a to-do list in a text file, but It would be nice to have the metadata task keeps around for things.


You can actually model diamond or x dependencies with task - I'm not aware of any other todo software that can do this, short of a pert chart or gantt chart.

(I mean where A and B both block C, while C blocks both D and E, which both block F, etc)


"It uses human-readable text files for storage. It imports and exports JSON, so your data is never held captive"

I'm a really, really big fan of this.


"Not using a database" is possibly our best feature. :)


You can try Taskwarrior in your browser: http://wbsch.de/jswarrior/

It's an older version (2.4.3) with a lot of recent improvements missing, but you can get a basic feel for what it is like to use it. I really should get around to updating this to the latest release sometime.


I've tried Taskwarrior in the past. The main issue I had is the complexity. It's not simple enough, there's a whole lot of options and things it can do which send me down a path of messing with tasks and organizing them when all I should be doing is completing them.

All I ever need is a simple text file with a list of things to do. I've ended up building a simple version that does what I need on a per-project basis and I check the file into version control sometimes (depending on the project). Sometimes I have git ignore the tasks file and it's more of a personal todo list for the project.

https://github.com/prophittcorey/t.rb

I've also integrated it within Vim so I don't even need to touch the commandline:

https://github.com/prophittcorey/vim-t


I love the simplicity of this.

If there were a way to add alerts when things are coming up that would be a good option. I know there have been times I've made a TODO list thinking I was getting organized, forgot about it, and never got my task done.


I put `task` in my .bashrc so it would run every time I open a terminal (which is a lot for me). Since TW sorts by urgency (which it determines on some values, and you can override it if you wish), that is as good as a reminder.


I use this too. I open and close terminals a lot so I created a special tag for tasks that I want to "prompt myself about" and these are printed concisely at the top of every new interactive shell.

I need to take the time to try the newest web interface tools and check out the json output. My major issues with taskwarrior have been with having native clients on other platforms. Taskwarrior is lightning fast on my desktop and laptop... It's speed and ease of use are why I love using it. But the quality of the various third party sync, web UI, and native app integration opportunities has left me let down.

Unfortunately all of this stems from a lack of a definition of what a task actually is. At some level we could have a standard like CalDAV. But CalDAV embeds the tasks in other junk, and a separate TaskDAV is not likely as long as the tasks as calendar item paradigm solves 80% of people's task related needs.


This looks very interesting. Definitely going to give it a try.


Just use plain directories and files. One task per file (or directory, if task has attachments).


That's the direction I've been moving. Amazingly simple to write scripts to, for example, turn the data into an html file. And using directories lets you add comments to tasks.


For reference, you can add comments (aka annotations) to tasks in Taskwarrior as well as dump to JSON (so halfway to HTML). TW also ultimately uses text files for your tasks.

The major advantage of TW over flat files is you can do stuff like dependencies, urgency, meta-groupings like projects and so on. Features that could probably be implemented with scripts on top of the FS, but by then you're basically cloning TW or org-mode. OTOH, if you don't care about stuff like that then flat files can work really well.


Is there a way to get TW to serve as a calendar? For instance, can I list everything that has to be done today, in order, with times of meetings listed and everything with a deadline listed separately? I couldn't find that use case in the docs.

org-mode has served me well, but I want something that's usable from a phone. If I put everything on a web server, I have it whenever I need it.


Kinda. You can do `task due:today +calendar` to get a printout of stuff that's due today and tagged as "calendar" and you can tweak the columns it shows and ordering to show it exactly the way you want. I say "kinda" though because it's not exactly the same as a calendar in the sense you can't schedule a duration for a task because there is only an idea of "due time". In my mind, a calendar tracks when an event begins and when it ends. You can create an appointment task that has the due time being the start of the appointment, but I don't think you can say "and it lasts until 3PM".

You can in general pre-define custom views with filters that show e.g. only high priority tasks due on the second Thursday of February that are dependencies of other tasks and then define exactly what you want it to show in its printout. It's also extensible and scriptable, so you can probably add custom hooks and such to do whatever you like. It also supports arbitrary user-defined attributes for a task, so if you really want to make it into a complete calendar you can add a user attribute to track the end time and then have it in a column of a custom calendar printout and maybe add hooks to prevent overlap or check that times are valid etc.

That said, I don't use it this way as it's just not what I want it for. But it can definitely do it; it's ridiculously flexible. Exactly how much calendar-like functionality you want determines how much work it'd take... ranging from none if you just want to track appointment start times for the day to a chunk of scripting if you really want a full-blown calendar.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: