CLI task tracker with dependency management for agentic code workflows
npm install claude-task-trackerA CLI task tracker with dependency management designed to extend memory for agentic code workflows like Claude Code.
- Task Dependencies: Blocking dependencies that prevent task execution until completed
- Soft References: Non-blocking references between related tasks
- Task Overviews: Context summaries filled on completion for dependent tasks to reference
- Plan File References: Link tasks to external plan files with detailed implementation notes
- Ready Task Detection: next command finds tasks ready to work on (open + all blockers completed)
- Multiple Output Formats: Default, JSON, and compact (token-efficient for LLMs)
- Claude Code Integration: Auto-generates CLAUDE.md with usage instructions on init
``bash`
brew tap farisphp/tap
brew install ctt
`bash`
npm install -g claude-task-tracker
`bash`
git clone https://github.com/farisphp/claude-task-tracker.git
cd claude-task-tracker
npm install
npm run build
npm link
`bashInitialize in your project (creates .tasks/tasks.json and CLAUDE.md)
ctt init
Commands
| Command | Description |
|---------|-------------|
|
ctt init | Initialize .tasks/tasks.json in current directory |
| ctt add | Add task (-d description, -b blockedBy, -r refs, -p planFile) |
| ctt list | List all tasks (-s filter by status) |
| ctt show | Show task details |
| ctt next | Get next ready task (open + all blockers completed) |
| ctt start | Mark as in progress |
| ctt complete | Mark as completed (-o overview) |
| ctt block | Add blocking dependency |
| ctt unblock | Remove blocking dependency |
| ctt ref | Add soft reference |
| ctt unref | Remove soft reference |
| ctt context | Show task + all dependency overviews |
| ctt overview | Update task overview |
| ctt plan | Set or update plan file reference |
| ctt delete | Delete a task |
| ctt cleanup | Remove old completed tasks (-d days, default 7, --dry-run) |Output Formats
$3
`bash
ctt list
○ t1 - Design API
○ t2 - Implement auth [blocked by: t1]
○ t3 - Write tests [blocked by: t2]
`$3
`bash
ctt --json next
`
`json
{
"id": "t1",
"title": "Design API",
"status": "open",
"blockedBy": [],
"references": [],
"overview": null
}
`$3
`bash
ctt --compact list
t1:Design API[O]
t2:Implement auth[O]
t3:Write tests[O] ctt --compact context t3
t3:Write tests[O]
--blockers--
t2:Implement auth[O]
--refs--
t1:Design API[C] >Created OpenAPI spec...
`Compact format legend:
-
[O] = open, [P] = progress, [C] = completed
- = references t1
- >text = overview
- @path = plan file referenceTask States
| Status | Symbol | Description |
|--------|--------|-------------|
|
open | ○ / O | Not started |
| progress | ◐ / P | In progress |
| completed | ● / C | Done |Agentic Workflow Example
`bash
Agent picks up next task
TASK=$(ctt --compact next)
t1:Design API[O]
Agent starts working
ctt start t1Agent completes with context for future tasks
ctt complete t1 -o "Defined /users CRUD, /auth/login, /auth/refresh. Using JWT with 1h expiry."Agent picks up next task and gets context
ctt --compact context t2
t2:Implement auth[O]
--blockers--
t1:Design API[C] >Defined /users CRUD, /auth/login...
`Storage
Tasks are stored in
.tasks/tasks.json` in the current directory. This file can be version-controlled.MIT