I want a to-do list app that syncs from a json file (or other human-readable data format), so that I can view and modify the file (via a CLI like jq
) from my computer too, and it would still reflect on my phone when it syncs.
Does this exist? Preferably it uses a format simple enough that makes it possible / easy to modify it via jq.
I would be surprised, if there’s not some todo app with a JSON file sync, but I’m not aware of one.
However, there’s two different plaintext formats, which are more-or-less standardized and you can find tooling for, both as apps and CLIs.
The first format is todo.txt: http://todotxt.org
It’s extremely simple and as a result, a big ecosystem exists for it.
One limitation of todo.txt, though, which was a dealbreaker for me: You can’t really note down additional context for your todos. More specifically, each todo is exactly one line of text.
So, personally, I’m using the OrgMode format instead: https://orgmode.org
It originates from what’s essentially an Emacs plugin, but the basic task syntax can easily be typed in any text editor. The format has tons of features, but you don’t have to make use of them.
Another major selling point is that Orgzly is a really good app. I don’t know the syntax for scheduling a reminder, I just do that in Orgzly.
Well, and personally, I’m using Syncthing to synchronize the files.
Does orgmode have sub tasks and dependent tasks?
Edit: looks like it does. Now figuring out if existing apps support this feature.
Subtasks, for sure. Those are part of the basic syntax, e.g.:
Properly dependent tasks, though, I doubt you’ll find much tooling outside of Emacs’
org-depend
. At the very least, I’m pretty sure Orgzly doesn’t implement a UI/logic for it.But I don’t have a use-case for dependent tasks (beyond subtasks and rough ordering), so haven’t actually looked into it.
I’d add TaskPaper to this list. It’s a paid, closed-source macOS app, but the format is plain-text based and completely open. There are many other apps for other platforms that implement this format. There’s even a taskpaper-mode for Emacs.