The source code can be found on sourcehut.
sqlite3 (the sqlite3 CLI utility).
weewiki (get the source code on sourcehut.)
Basic Usage Example
Create a new TODO database with
$ ./zetdo create
Add some tasks:
$ ./zetdo add say: make a task in zetdo. $ ./zetdo add say: make another task in zetdo.
List tasks that still need to be done. This will list the UUID, date, and message.
$ ./zetdo tasks 0fa78ac6 2021-01-16 14:59:30 make a task in zetdo. 7ef73f6d 2021-01-16 15:01:33 make another task in zetdo.
Add some comments to the task with UUID 0fa78ac6. Partial UUIDs can be accepted.
$ ./zetdo comment 0fa78 comment: Commenting on my first task. $ ./zetdo comment 0fa78 comment: Adding another comment.
Get the comment history of task 0fa78ac6:
$ ./zetdo history 0fa78 2021-01-16 15:05:36 Commenting on my first task. 2021-01-16 15:06:08 Adding another comment.
Set task 0fa78ac6 to be done.
$ ./zetdo done 0fa78
Now it won't show up on when
./zetdo tasks is run:
$ ./zetdo tasks 7ef73f6d 2021-01-16 15:01:33 make another task in zetdo.
The zetdo database can be exported to a TSV where it can managed in source control.
$ ./zetdo export > zetdo.tsv
The database can then be rebuilt with
$ ./zetdo rebuild zetdo.tsv
In practice, it is best to include a local version of the zetdo shell script in the project, and to use it with an aliases file included with the zetdo project.
Zetdo can then be used by going into the directory where the script and aliases have been copied to and running:
This creates an alias
zetdo, among other things. More
information can be found in the zetdo commands page.
The priority queue is a SQLite table. Create it explicitely
To add a task to the list, use
zetdo lstadd UUID
UUID is the task UUID.
Removing a task is done with
zetdo lstdel UUID
From there, tasks can be upvoted or downvoted using
weewiki zet uv UUID [amt] weewiki zet dv UUID [amt]
UUID is the UUID, and
amt is an optional integer
amount to vote by.
Upvoted/downvoted tasks get displayed with their characters
and the first characters 8 characters of their
ergo UUID using the
$ ./zetdo agenda 4: [gloplfpk] Do that very important thing today 1: [gasdfjkl] Do that other thing you were going to do 0: [gpiqejiq] Forage for food
A reference page for all available zetdo commands can be found at the page zetdo_commands.
Page updates from the wiki zet.
2021-07-19 10:09:03: added some initial stopwatch functionality to (zetdo) after adding the 'var create' command in (zet). If this ends up working, I'll have most of what I used org-agenda for. #org #timekeeping
2021-02-14 17:00:38: this new 'subtasks' command I made today feels like it is going to be helpful. looking forward to scoping something using them in the (TODO) pages.
2021-02-07 12:22:59: initial work adding a priority queue and agenda view to (zetdo). should be immediately useful.
2021-02-01 19:45:48: added a TODO page for zetdo: (zetdo_TODO).
2021-01-19 16:32:20: this TODO app (zetdo) is proving to be an interesting application for (zet). It's making me think a lot more practically about item presentation and organization. Self-organizing structures like priority cues and trees seem to be structures that I want but do not have.
2021-01-16 21:34:42: If I could figure out ways to immitate hierarchy, I could have something very org-like up and running.
2021-01-16 21:33:47: thinking about integrating this into my wiki, as a kind of public TODO list? roadmaps and the like for various tools.