Skip to content

imdone/imdone-atom

Repository files navigation

apm apm

A kanban board with cards and lists that are made from TODOs in your code, markdown and text files.

Use alt+t to open your project's board.

Identify, Organize and analyze technical debt so it can be integrated into the product backlog with imdone.io.

screen shot 2018-01-20 at 12 48 46 am

Track your TODO comments in a kanban board

Imdone finds TODO comments in your project and organizes them in a drag and drop kanban board that can integrate with GitHub, waffle.io or whatever you want using imdone.io. It's great for casual use of TODOs or better yet identifying, organizing and analyzing technical debt so it can be integrated into the product backlog.

imdone-atom recognizes the common TODO style comments we're all used to, with the added flexibility of todo.txt and markdown syntax. See the syntax guide at imdone-core for details.

A TODO in javascript

// TODO: Refactor and DRY up

A TODO in markdown

#TODO: As a user I would like to ... so that ...

Comming soon in markdown! GFM style tasks. (Help us prioritize. Give this feature a thumbs up.)

- [ ] As a user I would like to ... so that ... +TODO

NEW! Task descriptions with live, github flavored checklists!

In code files, imdone recognizes any comment line after a TODO as a description and adds it to the card. imdone stops looking for description lines if it encounters a new TODO or a line of code.

In non code files, imdone recognizes any line after a TODO as a description and adds it to the card. imdone stops looking for description lines if it encounters a new TODO or a blank line.

Checklists in your descriptions will render in your cards and will live update your file as they're checked.

Task Board Features

Filtering your board

imdone uses regular expression matching to filter your cards on your board. The content and the path of the file are searched, but the Token (e.g. TODO) is not searched. filter-tasks

Delete all visible tasks

Just click on the trash can icon and all the visible tasks will be deleted. imdone will also get rid of any blank lines left behind! Great for cleaning up!

Open all files for visible tasks

Click on the lightning bolt icon and open all files for the visible tasks.

Using tags in your TODO comments

imdone uses a bit of Todo.txt format (except priority), so +bug would be a tag. Tags in TODO content are turned into filter links, so clicking on it will filter the board.

Using contexts and @name syntax

You can use Todo.txt contexts in the same way. They'll also be turned into filter links.

metadata

Another great benefit of using Todo.txt format is the metadata. Just use the format key:value, and your metadata will be listed in a table inside the task card. We use metadata for imdone.io integrations like gh:1 to represent github issue number 1 and id:1 to represent imdone task id 1.

Adding and removing TODO tokens

You can add a token by just adding an all caps list using the add list button. If the list name matches this regex [A-Z]+[A-Z-_]{2,} a new token will be created. Adding a  TODO token If the list name matches this this regex /[\w\-]+?/, then you will have to use the hash style syntax like this...

// #to-do: This is in a list that doesn't have all caps!

Global journal

Configure a directory to use as a daily journal. Open the daily journal with alt+j. If your like me, you'll just use dropbox directory for this. Remember, you can use TODO's in any text file if you put a # in front of the token, like this...

This is my simple markdown journal
- #TODO: Finish this work

Project journal

Configure a directory to use as a daily project journal. Open the daily project journal with alt+p. The daily project journal is stored in your project, and defaults to <project-dir>/journal/${month}/${date}.md Use your project journal for anything, even planning your next set of features like this...

- #BACKLOG: As a user I would like to use templates to add a Definition of Done to my TODOs so that I spend less time context switching to my issue tracking system.
  - [ ] Read templates from `.imdone/templates.md`
  - [ ] Replace description lines with @<template-name>

Open files in intellij and webstorm

Ignoring files

  • Configuration setting
    You can ignore files with the "Exclude Vcs Ignored Paths" setting

  • .imdoneignore
    .imdoneignore is implemented using the ignore package. Each file in your projects path is tested against the rules in .imdoneignore.
    To ignore all but some subdirectories, see this Stack Overflow question. git - .gitignore exclude folder but include specific subfolder - Stack Overflow

  • .imdone/config.json
    imdone will also ignore files and folders that match a regex in the .imdone/config.json, exclude array. The array is seeded with some common excludes on first run.

    IMPORTANT: If your project is large (#files > 1000) consider adding an .imdoneignore file.

Install

$ apm install imdone-atom

or open Atom and go to Preferences > Install and search for imdone-atom

Commands

Command Palette Key Mapping Description
Imdone Atom: Tasks Alt+T Open task board
Imdone Atom: Todays Journal Alt+J Open todays journal file
Imdone Atom: Todays Project Journal Alt+P Open todays project journal file
Imdone Atom: Board Zoom In Alt+. Zoom in board
Imdone Atom: Board Zoom Out Alt+, Zoom out board

Settings

Name Type Default Description
Exclude Vcs Ignored Paths boolean false Exclude files that are ignored by your version control system
File Opener Port integer 9799 Port the file opener communicates on
Max Files Prompt integer 2500 How many files is too many to parse without prompting to add ignores?
Open in Intellij string '' Glob pattern for files that should open in Intellij.
Show Notifications boolean false Show notifications upon clicking task source link.
Show Tags Inline boolean false Display inline tag and context links in task text?
Today's Journal Date Format string YYYY-MM-DD How would you like your date variable formatted?
Today's Journal Directory string $HOME/notes Where do you want your journal files to live? (Their project directory)
Today's Journal File Name Template string ${date}.md How do you want your journal files to be named?
Today's Journal Project File Name Template string journal/${month}/${date}.md How do you want your project journal files to be named?
Today's Journal Month Format string YYYY-MM How would you like your month variable formatted for use in directory or file name template?
Use Alternate File Watcher boolean false If your board won't update when you edit files, then try the alternate file watcher
Zoom Level Number 1 Set the default zoom level on startup. min: .2, max: 2.5