| name | tracker |
| description | Local issue tracker with hierarchical relationships, blocking links, and priority-based ready detection. Use when managing project tasks, creating actionable work items, or visualizing issue dependencies. |
| allowed-tools | Bash(tracker:*) |
| argument-hint | [command] [arguments] |
Tracker — Local Issue Management System
Personal issue tracker with parent–child relationships, blocking link detection, and ready-issue calculation. No cloud, no auth, pure local SQLite. Perfect for solo projects, side quests, and fine-grained task breakdowns.
When to Use
- Managing project tasks and milestones
- Creating actionable work items with dependencies
- Visualizing task hierarchies and blocking relationships
- Tracking priority-based work queues
- Recording issues with labels and assignees
- Finding the next task to work on (ready issues)
Commands
tracker create "Task title"
tracker create "Task" --priority P0 --description "Details"
tracker create "Subtask" --parent trk-ABC1
tracker create "Task" --labels "backend,urgent" --assignee me
tracker show trk-ABC1
tracker list
tracker list --status open
tracker list --priority P0
tracker update trk-ABC1 --status in-progress
tracker update trk-ABC1 --priority P0 --assignee alice
tracker delete trk-ABC1
tracker link trk-ABC1 trk-XYZ2 --type blocks
tracker link trk-ABC1 trk-XYZ2 --type relates_to
tracker unlink trk-ABC1 trk-XYZ2 --type blocks
tracker ready
tracker next
tracker tree
tracker comment trk-ABC1 "Fix widget alignment" --author me
tracker search "widget"
tracker query status --json
tracker query items --json
tracker query actions --json
Configuration
Database file location: ~/.tracker/tracker.db
Override with environment variable: TRACKER_DB=/custom/path/tracker.db tracker list
Or command-line flag: tracker --db /custom/path/tracker.db list
Examples
User: Create a new feature task
Action:
tracker create "Implement user authentication"
tracker create "Add OAuth provider" --parent trk-ABC1 --priority P0
User: Find what to work on next
Action:
tracker next
Returns the highest-priority issue that has no blocking dependencies.
User: Track a bug with dependencies
Action:
tracker create "Database query slow" --priority P1 --description "Users table scan takes 5s"
tracker create "Add index on user_id" --parent trk-DEF2 --priority P1
tracker link trk-DEF2 trk-ABC1 --type blocks
tracker ready
User: View task hierarchy
Action:
tracker tree
Shows all issues nested under their parents with indentation.
Status Values
- open — Not started, available for work
- in-progress — Currently being worked on
- done — Completed
- cancelled — No longer relevant
Priority Values
- P0 — Critical, blockers, must-fix
- P1 — High priority, should-fix soon
- P2 — Medium priority, nice-to-have
- P3 — Low priority, backlog
Link Types
- blocks — A–[blocks]–>B means A must be done before B can be done
- relates_to — A–[relates_to]–>B means A is related to B
- supersedes — A–[supersedes]–>B means A replaces or obsoletes B
- duplicates — A–[duplicates]–>B means A is a duplicate of B
Ready Issues
An issue is "ready" if:
- Its status is "open"
- All parent–child relationships show it is not blocked by ancestors
- No other issue with a "blocks" link has it as the target
Use tracker ready to find issues you can start right now.
Database Schema
CREATE TABLE issues (
id TEXT PRIMARY KEY,
title TEXT NOT NULL,
description TEXT,
status TEXT DEFAULT 'open',
priority TEXT,
labels TEXT,
assignee TEXT,
parent_id TEXT,
created_at TEXT,
updated_at TEXT
);
CREATE TABLE links (
id INTEGER PRIMARY KEY,
from_id TEXT NOT NULL,
to_id TEXT NOT NULL,
link_type TEXT NOT NULL,
created_at TEXT
);
CREATE TABLE comments (
id INTEGER PRIMARY KEY,
issue_id TEXT NOT NULL,
body TEXT NOT NULL,
author TEXT,
created_at TEXT
);
Tracker 0.1.0 — Local-first, zero-dependency issue tracking.