#task #tasks #task-list #human-readable #metadata #id #element

yanked burndown

burndown is a tool to help manage human readable, line-based task lists

1 unstable release

0.1.0 Mar 10, 2024

#26 in #task-list

Apache-2.0

42KB
943 lines

Burndown

A simple human-readable line-based task system.

Build Status

Motivation

To have local task lists with auto-sorting by metadata.

The default file operated on is todo.brnd.

File format

A burndown task list:

  • has one task per line
  • can be arbitrarily ordered without altering its meaning
  • all tasks either have a unique id, or no id
  • all tasks have a status, either open, cut or done

The general format for a line is:

<status> <id> <description> <metadata>

Special elements

These elements have special meaning:

  • [x] - Done (when at the start of a line)
  • [!] - Cut (when at the start of a line)
  • #[1-9][0-9]* an id for a task
  • @ - Reserve for task options (when at the start of a line)

Metadata

Metadata on a line is given by a key name, followed by a colon, followed by a data element or comma separated list with no whitespace between elements.

Any element which doesn't match a metadata key:value pair is part of the task description.

General Format:

metadata_tag:elem1,elem2

Metadata examples

tags:abc,def,ghi        Tags
deps:#123,#456,#6       Dependencies on other tasks

Other metadata types

risk:[1-9]              Risk
pri:[1-9]               Priority
est:[1-9][0-9]*         Task estimate in minutes

Date extensions

These are being reconsidered along with the parser option flag @ to improve customization support.

start:yyyy.MM.dd@HH.mm  Start time
due:yyyy.MM.dd          Due date
complete:yyyy.MM.dd     Completion date
elapsed:[1-9][0-9]*     Elapsed minutes on the task

Usage

Print tasks, sorted by priority

brnd

Adding a task

brnd add "Some high priority task I want to do pri:1"

Marking a specific task id as done

brnd finish 20

Cleanup task list ordering for easier tracking in git

This makes a great candidate for a precommit hook if you're storing a todo.brnd in your git repo.

brnd clean

Dependencies

~3–13MB
~88K SLoC