Commands in Zetdo

Commands in Zetdo

A reference page of commands in zetdo.


create creates a new zetdo database.

zetdo create


create_list is used to make a priority que table.

zetdo create_list


add creats a new task. this will create a prompt. this is where the name of the task goes.

zetdo add


tasks will list all tasks with a particular state, if no argument is given, it will use TODO by default.

zetdo tasks TODO

Also available as an alias tasks.

tasks TODO


done sets a particular task to the state DONE.

zetdo done UUID


set sets a task (referenced by UUID) to an explicit state or group.

zetdo set UUID state


ls lists all tasks with a particular state state.

weewiki ls TODO


comment adds a comment to a task.

Also available as an alias comment.


history gets the history of a particular task, with optional arguments for range.

If no arguments are given, history will print the task history for the entire task.

zetdo history UUID

A date range can be given using YYYY-MM-DD format.

zetdo history UUID 2021-01-01 2021-06-01

If "today" is used, it will print comment history for the day.

zetdo history UUID today


export will export the zetdo database to a tsv file. Note that this doesn't include the priority list (this is done with lstexp).

zetdo export


rebuild will rebuild a zetdo database given a TSV file.

zetdo rebuild zet.tsv


mkgroup makes a new group name, which can either be used as a state (one state per task) or a tag (arbitrary number of tags per task).

zetdo mkgroup foo


tag tags a particular UUID with an existing group name.

zetdo tag UUID foo


entry gets the information from a particular task, and prints it in TSV form.

zetdo entry UUID


blurb Adds a "blurb" to a particular task: a quick summary that can be changed and updated. It will provide a prompt for which to add the task.

zetdo blurb UUID


touch will update the date of a particular task to the current date and time. This is a useful way to bump tasks to the top of a list (for use in weewiki).

zetdo touch UUID


lstadd adds a task to the priority list.

zetdo lstadd UUID


lstdel deletes a task from the priority list.

lstdel UUID


lstdone will set a task in a priority list to be DONEand then remove it from the list.


The agenda command will present the items in the priority list.

Also available as an alias agenda.


uv upvotes a particular task with a particular amount in the priority list, bumping the ranking up.

zetdo uv UUID 3 # upvote 3 points

Also available as an alias uv.

uv UUID 3 # upvote 3 points


dv downva particular task with a particular amount in the priority list, pushing the ranking down.

zetdo dv UUID 3 # down 3 points

Also available as an alias dv.

dv UUID 3 # downvote 3 points


lstexp exports the priority list to standard output.

zetdo lstexp > priority.sql


lstimp imports a priorty list.

zetdo lstexp < priority.sql


tags list all the available tags in the zetdo database.


boxit is a script that places something from standard input in an ascii art box. Used to create ascii graphics for presentations.

echo "hello" | zetdo boxit


The tagged command lists all tasks with a certain UUID.

zetdo tagged UUID


subtasks lists the subtasks of a task (a task linked to another task task). An optional argument can be provided to only show tasks with a particular state.

zetdo subtasks UUID [group]

The subtask has an alias, but it is hardcoded to only display tasks with a state set to be TODO.

subtasks UUID # only displays subtasks that are TODO


nsubtasks prints the total number of subtasks for a particular UUID. An optional argument can be provided to only get the number of subtasks with a particular state (usually TODO).

zetdo nsubtasks UUID [state]


getblurb gets the blurb of a particular UUID.

zetdo getblurb UUID

hist (alias)

The hist command gets the comment history of a particular task. Note that this is different from the historycommand.

hist UUID

id8 (alias)

id8 is an alias that resolves a task for partial UUID and prints the first 8 characters.

id8 UUID

buildzet (alias)

buildzet builds a zet from a file zetdo.tsv.


dumpzet (alias)

dumpzet dumps the zet to a file zetdo.tsv



The belongs command lists tags/groups that a particular UUID belongs to.

zetdo belongs UUID


The belongs command lists tags/groups that a particular UUID belongs to.

zetdo belongs UUID


The search command will perform a full-text search of tasks and comments using a particular keyword or phrase.

zetdo search KEYWORD


Amalgamates some useful information about a particular task, given the task UUID.

zetdo info UUID

zdi (alias)

Shortcut alias for info.


Starts a timer for a task. The program will wait for the next key input before clocking out.

zetdo stopwatch UUID

Stopwatch is also available as an alias. Functionally, they are identical, but this version calls zetdo without rlwrap. For whatever reason, "read" (used in stopwatch) seems to be at odds with rlwrap, which causes weird characters to show up. So, in addition to being easier to type, it's also more aesthetically pleasing.

home | index