Frustrated from searching for TODOs all over your code? Me too – but not for long

ekkekk
3 min read

See, I always leave comments in my code — things like #TODO, #FIXME, #BUG, and so on. But as the project grows, those comments start piling up. And suddenly, trying to find them all becomes overwhelming. Sure, I could use grep or some kind of plugin. But let’s be honest: it’s tedious. It’s frustrating. But not for long. I've been working on a tool that fixes this problem. It's called checktodos, and it’s a command line tool I built to help me (and maybe you) track down all those scattered TODO-style comments across a project — instantly.

The idea is simple: you run checktodos on your codebase, and it scans through your source code looking for anything that resembles a #TODO, #FIXME, #BUG, as well as bunch of other tags. It then prints out a nice, clear list of everything it finds — with file paths and line numbers — so you can jump straight to the relevant parts of your code.

No need to set up a plugin. No need to remember any weird grep flags. No need to comb through your files manually. Just run the tool and get a quick overview of what’s left to fix, improve, or think about.

I built it because I wanted something that works out of the box, regardless of whether I'm working in Python, TypeScript, C++, or something else. And I wanted it to be fast. No clutter, no overhead — just results.

At the moment, I'm still actively working on it. For now it has the following features

  • Check how it works with --help flag

  • Check version with --version flag

  • Support for filtering by language (e.g., only scan .py or .ts files) with --language flag

  • Define custom path where to scan files with --path flag (Default is current directory)

I’m also working on making the install process super simple: download a zip, run an installer script, and you’re good to go - so that zero configuration is needed. It’ll even update your PATH so you can run checktodos from anywhere in your terminal.

Right now, it’s a private project, but I plan to release it soon on Gumroad, with native builds for macOS, Linux, and Windows.

If you're someone who likes to leave yourself little reminders in your code — but hate losing track of them — this might be the tool you’ve been waiting for.

Let me know if that sounds useful to you. I'm building it for myself, but if it helps someone else stay organized and productive, all the better.

Also, I personally have a Linux machine, but I will build the tool so that it will work on Linux, Windows as well as MacOS. Therefore, I would be extremely grateful if some of you readers would be willing to test it out on Windows and MacOS machines - all kinds of feedback is welcome.

What do you think — honestly — is a tool like this something you’d actually use in your own workflow? Or is this a problem that’s already been solved well enough for you?

Thanks in advance for anyone who reads this and comments on it!

0
Subscribe to my newsletter

Read articles from ekk directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

ekk
ekk