Codereport – track TODOs, refactors, and bugs in your repo with a CLI
Tech debt tracking in-repo beats scattered tickets, but YAML storage may scale poorly.
Enforce deadlines on TODO / FIXME comments
Fails CI builds when TODO deadlines expire, using Tree-sitter instead of fragile regex patterns.
Engineering teams, Tech leads, CI/CD maintainers
todo-to-issue · eslint-plugin-todo · grep
A good example is feature flags... how often do you go back and actually clean up old flag code?
*The tool*
Todo or Else is a small CLI written in Go but supporting multiple languages. Add it to your project and then annotate your TODOs with "tags" like so:
``` TODO (by:2027-03, owner:Fran) do something ```
You can specify a date by either
- using `by:YYYY-MM` or `by:YYYY-MM-DD` to set a deadline
- using `from:YYYY-MM-DD` to set a created date (default staleness threshold is 90 days, configurable)
*Building it with Golang*
I used Go for a few reasons. Firstly: the performance is really solid, on my newish MBP the scanner can process a few thousand source files in just under two seconds.
Secondly: the cross compilation story is still really good, even with CGO. Zig handles the tree sitter compilation for MacOS and Linux. In principle I could even use the WASM builds of tree sitter + Wazero to make this completely Go-native.
*Use of AI*
I used AI (Gemini) to produce the project logo, and some of the config files (golangci-lint, GitHub actions). But the code was all by hand
Tech debt tracking in-repo beats scattered tickets, but YAML storage may scale poorly.
MCP-wrapped todo list charging $4/mo when Things 3 and Todoist already exist.
Atomic writes and auto-reload fix sync conflicts better than existing todo.txt clients.
No-account todos with public URLs—cleaner than TODO.txt, but Notion does this already.
Todo list with friend accountability and Claude integration, but social pressure isn't novel.
Hides your todo list on purpose to force focus with single-step execution mode.