1.29.4 • Public • Published

    npm version Downloads Build Status

    Imdone is text based kanban processor with a simple syntax that uses comment tags like TODO and FIXME and todo.txt format. This model allows the user to create and modify tasks using the keyboard and automatically establishes a link between their tasks and work. Get imdone to see your projects board and this library in action.

    imdone-screenshot.png (5120×2838)

    Imdone format

    Imdone aims to keep you in the flow of your work while capturing tasks to be accomplished later. Most kanban tools require the user to use a UI. Imdone lets you capture tasks in a simple text format that has roots in programming comment tags like TODO and FIXME and todo.txt format.

    Code Style

    // TODO This is a task
    // TODO: This is a task
    // TODO:5 This is a task
    // TODO: A task with a description looks like this.
    // Every line after the task is part of the description until we find another
    // task, a blank comment line, or a line of code
    // - A list item
    // - Another list item

    Hash Style

    #TODO: This is a task
    #TODO:0 This is a task
    #to-do:0 This is a task
    #TODO: If you don't want your task to get converted to html in markdown files, put it in a comment.
    You can still add descriptive text, but don't forget to leave a blank line
    between the description and the comment end tag, or the comment end will become
    a part of your description.

    Take a look at the source of this You'll probably find a few tasks in comments.

    Markdown Style

    [This is a task](#todo:)
    [This is a task](#todo:10)

    Task syntax

    • Code style tasks will only be detected if the list name matches a string in the code.include_lists attribute in .imdone/config.yml and the file extension exists in lib/languages.js.
    • List names in code style tasks must match this regular expression ([A-Z]+[A-Z-_]+?).
    • In Hash and markdown style tasks list name can be any combination of upper and lower case letters, underscores and dashes
    • In Hash and markdown style tasks the list name must be followed by a : and a number which determines sort order in the list
      • Sort numbers can be reused, in which case tasks with the same sort number will be sorted alphabetically by text.
    • In code, tasks can be any style but must be in a line or block comment
      • Code style tasks are only detected in comments for files with extensions listed in imdone-core/languages.js or the languages attribute in the .imdone/config.yml
    • For code and hash style tasks, the task text is terminated by the end of line
    • Task text can have todo.txt formatting excluding the completion and priority markers.
    • Task text can have markdown formatting

    todo.txt syntax examples

    Imdone uses todo.txt +project/tag @context and meta:data

    Create date

    #DOING:20 This task was created on 2018-02-09 created:2018-02-09

    Completed date

    #DOING:20 This task was completed on 2018-02-09 completed:2018-02-09

    Due Date

    #doing:20 This task is due on 2015-02-09 due:2015-02-09

    Tags (todo.txt projects)

    #doing:20 This task has a *madjs* tag +madjs


    #doing:20 This task has a *madjs* context @madjs


    #doing:20 This task has profile metadata profile:piascikj
    Metadata links
    • Tasks with metadata can be linked to external resources like other task mgmt systems and websites
    • Add a meta attribute to .imdone/config.yml
    • In this example user:piascikj would link to
      "meta": {
        "user": {
          "urlTemplate": "",
          "titleTemplate": "github profile for %s"


    • task.found
    • task.deleted
    • file.modified
    • initialized
    • file.processed
    • file.update
    • file.empty
    • file.reading
    • files.found
    • files.saved
    • config.update
    • list.found
    • list.modified
    • tasks.moved
    • tasks.updated
    • error
    • config.loaded





    npm i imdone-core

    DownloadsWeekly Downloads






    Unpacked Size

    221 kB

    Total Files


    Last publish


    • piascikj