TaskGraph

Decide what to do next.

TaskGraph is a local-first CLI for quick task capture and graph-native planning. It keeps markdown authoritative, uses a derived index for fast queries, and helps you move from a high-level area of work to a concrete leaf task.

Start high. Choose a branch. Go down fast. Find a leaf.

Project Epic research Epic launch Task: graph model Task: import notes Task: docs leaf: review notes leaf: draft outline leaf: email John

High-level orientation tells you which area matters.

Selective descent narrows the branch instead of dumping every leaf.

The point is a real next action, not a better-organized vague project.

## Install

Install the latest release on macOS or Linux, then initialize a project and start capturing tasks.

curl -fsSL https://raw.githubusercontent.com/rufuspollock/taskgraph/main/scripts/install.sh | bash

Task data lives in markdown. The SQLite database is derived state only and can be rebuilt.

## Quickstart

tg init
tg add "buy milk"
tg add "plan flower show" --labels flowershow,events
tg add "map launch dependencies" --type epic
tg create "book dentist"
tg inbox
tg list --label flowershow
tg graph --depth 3

Capture quickly. `tg add` and `tg create` make it easy to get tasks into the system without breaking flow.

Keep markdown authoritative. Inbox tasks live in .taskgraph/issues.md, and labels stay inline as markdown tags.

Query the graph. `tg list` and `tg graph` use a derived SQLite index so you can move quickly without hiding your data in a proprietary layer.

## Vision

The core problem is not capture by itself. The harder problem is deciding what to work on next without burning twenty minutes digging through projects, notes, and vague half-tasks.

A giant flat list does not solve that. It just gives you a better organized version of overwhelm. Stopping at "work on this project" does not solve it either, because a project is still too vague to tell you what to do with the next thirty minutes.

What matters is movement between levels. Start high enough to choose a direction. Then descend quickly until you hit a real leaf task. If a branch fails to produce a clear next action, that is useful information too: it may be blocked, it may need breaking down, or it may simply not be ripe yet.

This is why the graph matters. It preserves the relationship between high-level choices and concrete actions. It lets you practice selective descent: choose a branch, open that branch, keep opening it, and surface a few real candidate leaves instead of every leaf in the universe.

Start high.

Choose a branch.

Go down fast.

Find a leaf.

If there isn't a good leaf, learn why.

Then cycle.

TaskGraph is intended to make that graph legible and traversable. AI then helps interpret, rank, clarify, and guide. The tool should not replace judgment. It should provide solid local structure for judgment to work on.