poanse3k downloadsPlan projects via interactive GUI task trees with automatic layout.
Plan projects as visual task trees in Obsidian. Taskmap lays out the tree automatically, so you never have to drag boxes around to keep it readable.

Draft is gray, Ready is red, In progress is yellow, and Done is green.
Large Kanban boards get hard to read. Taskmap shows your project as a color-coded tree, so you can see at a glance:
Install Taskmap from its Obsidian plugin page, or open Settings → Community plugins → Browse in Obsidian and search for Taskmap.
Obsidian Sync skips .taskmap files by default. To sync them, turn on Sync all other types in Settings → Sync on each device.
Example_26-10-10_03.44.12.taskmap, with _1, _2, and so on added if that name is taken, and opens in a new tab.task and starts as Ready.Every map starts with a task named root, with status Draft. Like any parent set to Draft, it stays a draft after you add children, until you click its calculated status in its Status menu. Rename it to your project's name. The root can't be reparented, removed, or used as a blocker.
Select a task, then click its name. Click somewhere else to apply the name. This works the same way for every task, including the root.
Long names wrap, and the box grows with the text. The tree lays itself out again to fit.
Drag a task up or down to change its place among the other tasks under the same parent. The task stays under that parent, and its children move with it. The root can't be dragged.
As you drag, the other tasks shift to make room. Release the mouse button to leave the task in its new place.
Hover a task and click the eye icon to collapse its descendants. Hidden tasks stay in the file; click the eye icon again to show them.
Drag an empty area of the map with the left or middle mouse button to pan. Swipe with two fingers on a trackpad to pan. Scroll the mouse wheel, or pinch on a trackpad, to zoom. Zoom ranges from 10% to 300%. You can also zoom with the buttons in the settings panel.
Select a task to open its toolbar. From left to right, it has Add link, Remove, Reparent, Add blocker task, Block another task, Focus, and Status. Hover a button to see its name. The root's toolbar has only Add link, Focus, and Status.
Click Add link to create a note named after the task and link the two. If a note with that name already exists, it's linked instead.
New notes go to the project's note folder, then the plugin's default note folder. If neither is set, they follow Obsidian's Default location for new notes setting.
To link an existing note, type [[ in the task name and choose a note from the suggestions. Typing [[Meeting notes]] renames the task to that note and links it.
Click the link while the task is not selected to open or focus the note. Hover the link to show Obsidian's link preview. If the task is already selected, clicking its name starts editing, and the link is not followed.
Once a task is linked to a note:
A task name can also be any Markdown link, such as [Design doc](https://example.com/design).
Select a task, click Remove in its toolbar, then choose:
Select a task, click Reparent, then click the new parent on the map. The task moves with all its children and becomes the last child of the new parent. The new parent can't be the task itself, its current parent, or one of its descendants. Click an empty area to cancel.
Select a task, then:
Click an empty area to cancel.
While Add blocker task or Block another task is active, click a task that is already connected to remove that connection. A task can't be connected to itself, to an ancestor, to a descendant, or to a task that is Done.
A blocked task cannot be marked done until all its blockers are done. A key icon marks a task that blocks others, and a lock icon marks a task that is blocked.
Blocker connections are drawn as orange lines. They appear while Add blocker task or Block another task is active, and when you hover a task's icons:
Click Focus to work on one task and its subtree without distractions. Everything else is hidden for a while, except the chain of parents that leads from the task up to the root. Click Focus again to bring back the full map.
Each task has one of four statuses: Draft, Ready, In progress, or Done. The colors are listed under the screenshot.
To change a status, select the task, then click Status in its toolbar and choose a status.
Leaf tasks (tasks without children) can be set to any status. A parent task's status is calculated from its children:
A parent's Status menu offers only Draft and its calculated status. A task you set to Draft stays a draft whatever its children do, until you click its calculated status.
The settings panel sits in the bottom-left corner of the map. From left to right, it has Settings; Undo and Redo; Zoom in, Reset zoom, and Zoom out; and Keyboard shortcuts. Hover a button to see its name.
Click Settings to open the current map's settings:
Click Undo or Redo. Undo history is cleared when you close the file.
Click Keyboard shortcuts to see the map's keyboard shortcuts.
Plugin settings are in Settings → Taskmap:
A .taskmap file is JSON stored in the vault. Rename or move it in the file explorer; an open map follows the file.
Obsidian Sync skips .taskmap files unless Sync all other types is turned on in Settings → Sync.
.taskmap file and don't sync with Markdown checkboxes or task plugins.Blocker UX and most of the UI were designed by Mulcere.
Clone the repository into your vault's .obsidian/plugins/ folder, then install dependencies and start the watcher:
npm install
npm run dev
Enable Taskmap in Settings → Community plugins, and reload Obsidian after each rebuild to load the changes.
Other commands:
npm run build
npm test
npm run lint
npm run perf:tasks
npm run dev rebuilds the plugin as you edit. npm run build writes a production main.js. npm test runs the tests. npm run lint runs the linter. npm run perf:tasks benchmarks task lookup and layout.