This is the manual for Dust, a free, open-source, online task management tool.

Please be aware that Dust is just a side-project of mine, and provided with no guarantees of functionality, support, or long-term maintenance.

Daily agenda

The Daily agenda page is where you should spend most of your time. Dust selects 3 of your active tasks to include in the agenda each day.

The tasks are selected with a simple priority system:

  1. Important and Urgent tasks are selected first.
  2. Urgent (but not Important) tasks are selected second.
  3. Important (but not Urgent) tasks are selected third.
  4. Normal tasks are selected fourth.
  5. Someday/Maybe tasks are selected fifth.

Within each priority group, the tasks are selected randomly. Dust discourages users from micromanaging their tasks, so prioritization is deliberately coarse-grained; there is no ability to rearrange the order of tasks within a priority group.

Tags (e.g. #groceries) are provided for users to organize and find related tasks, but don't impact how tasks are prioritized or which tasks are selected for the agenda.

If you can't do some of the selected tasks for the day, you can Defer them for another day to get them out of your face.

Once you've completed (or deferred) all your tasks, you will also have the option to pick more tasks for the day. I recommend not using this feature unless you really feel excited by doing some more tasks.

Manage tasks

The Manage tasks page provides a filterable list of all your tasks. You can view:

  • Active tasks
  • Completed tasks
  • Archived tasks
  • Someday/Maybe tasks

You can also filter by tag (e.g. #groceries) or by flag (e.g. Urgent).

Dust has a limit of 100 active tasks per user, which is also displayed on this screen. This is not a technical limitation, but a deliberate effort to force a certain level of task curation. In particular, users are strongly encouraged to mark tasks as Someday/Maybe if they aren't immediately relevant. (Note that Someday/Maybe tasks, along with completed and archived tasks, aren't considered "active" and so don't count against this limit.)

This page is also where you can create and manage your tags. You can create new tags with the New tag...button, edit the name of existing tags (which does not break the relationship any tasks have with that tag), and delete tags. Tags cannot be archived.


The Settings page is where you configure general, user-level options for your Dust account.

Currently, the only real "setting" is Git export configuration.

Git export config

You can have one or more Git export configurations enabled for your account.

Every two hours, Dust will export all your user data to all your configured Git remotes:

  1. Fetch the Branch name from the Remote URL.
  2. Export the latest user data and, if there were changes, create a commit.
  3. Push any commits that were created back to the remote.

Currently, Dust only supports SSH key authentication for these operations. The Remote URL must be an SSH-style URL, and the Git remote must be configured to allow the Git configuration's SSH Public Key that's displayed in the Dust settings page.

In Github, for example, the Dust SSH Public Key should be added in the Deploy Keys section of the Git repository settings. Make sure to enable write access.

Note each Git export configuration receives a unique SSH public key.

Also note, Dust saves the SSH host key of the Git server in memory to mitigate MITM attacks. If the SSH host key of your Git server changes, you'll have to wait for the Dust instance to be restarted before your Git export will start working again.

As a final note, this Git export functionality is entirely independent from Dust's usage of Github as an OAuth identity provider. The Git export is not Github-specific and will work with any Git server that supports SSH authentication.