Repository navigation
Releases: joel-pcg/todo-tracker-cli
Release list
v0.1.2 - Scanner Bugfix
v0.1.2 - Scanner Bugfix
🐛 Fix
Fixed scanner crash on files with very long lines
Issue
todo list and todo tui crashed with error:
Error: failed to scan directory: bufio.Scanner: token too long
This occurred when scanning projects containing:
- Minified JavaScript files (
.min.js) - Bundled/compiled files
- Generated code with very long lines
- Any file with lines exceeding 64KB
Root Cause
bufio.NewScanner() uses a default 64KB buffer limit. Files with lines longer than this would cause the scanner to fail.
Fix
- Increased max token size from 64KB to 1MB
- Allocated larger buffer using
scanner.Buffer() - Scanner now handles minified/bundled files without crashing
Upgrade
go install github.com/joel-pcg/todo-tracker-cli/cmd/todo@latestOr rebuild from source:
git pull
go build -o todo ./cmd/todoChanges
- fix(scanner): increase buffer size to handle long lines (c804602)
v0.1.1 → v0.1.2
All tests passing ✅
v0.1.1 - Critical Bugfix
v0.1.1 - Critical Bugfix
🐛 Critical Fix
Fixed TUI showing TODOs from all projects instead of current directory
Issue
The todo tui command was loading ALL TODOs from the global database (~/.todo-tracker/todos.db) instead of scanning the current directory first. This meant users would see TODOs from completely different projects.
Example: User in /project-a would see TODOs from /project-b, /project-c, etc.
Root Cause
runTUI() was calling st.List() directly without scanning the current directory, unlike runList() which scans before querying the database.
Fix
- TUI now scans current directory before launching (same behavior as
listcommand) - Enriches TODOs with metadata (parser + git blame)
- Filters database query to only show TODOs from scanned files
- TUI behavior now matches
listcommand - shows only TODOs from current project
Upgrade
go install github.com/joel-pcg/todo-tracker-cli/cmd/todo@latestOr rebuild from source:
git pull
go build -o todo ./cmd/todoChanges
- fix(tui): scan current directory instead of showing global DB (bdeb1cc)
v0.1.0 → v0.1.1
All tests passing ✅
v0.1.0 - Initial Release
TODO Tracker CLI v0.1.0
First public release of TODO Tracker CLI — a terminal-native tool for tracking TODO comments across codebases.
Features
Core Functionality
- Regex-based scanning — Language-agnostic TODO extraction (Go, TypeScript, Python, Rust, etc.)
- Git integration — Automatic
git blameenrichment for author tracking - SQLite persistence — Fast local database with indexed queries
- Branch filtering — Show only TODOs added/modified in a specific branch
- Zero configuration — Works out-of-the-box on any codebase
Commands
todo list— List all TODOs with filters (--branch, --json)todo show <id>— Show TODO details with code contexttodo done <id>— Mark TODO as completedtodo stats— Aggregate statistics (by priority, author)todo tui— Interactive terminal UI (see below)
Interactive TUI
- Color-coded priorities — Red (critical), Orange (high), Yellow (medium), Green (low)
- Details panel — Split view showing full TODO context (toggle with `i`)
- Search & filter — Search with `/`, filter by priority (1-4 keys)
- Help panel — Press `?` for all keybindings
- Vim-style navigation — j/k, g/G for movement
- Dynamic status bar — Shows stats and active filters
Installation
From Source
```bash
go install github.com/joel-pcg/todo-tracker-cli/cmd/todo@latest
```
Build Locally
```bash
git clone https://github.com/joel-pcg/todo-tracker-cli
cd todo-tracker-cli
go build -o todo ./cmd/todo
```
TODO Format
Supports standard TODO formats:
```go
// TODO: Basic task
// TODO(alice): Task with owner
// TODO: [HIGH] Task with priority
// TODO(bob): [CRITICAL] Combined format
```
Keywords: `TODO`, `FIXME`, `HACK`, `XXX`, `BUG`
Technical Stack
Built with:
- Go 1.23+
- Cobra (CLI framework)
- Bubbletea (TUI framework)
- Lipgloss (terminal styling)
- SQLite (persistence)
Stats
- 📁 32 files
- 📝 4,527 lines of code
- ✅ 88+ tests passing
- 📊 90.9% test coverage
- 🎯 Built with Spec-Driven Development using 7 specialized agent teams
Documentation
- README — Full documentation
- CONTRIBUTING — Contribution guidelines
- LICENSE — MIT License