So I made a tiny CLI app that scans the source for TODO and FIXME lines and presents a menu of files, containing the number of items to work on in each. Then I type in which file I want to work on and it instantly reports all relevant lines, plus successive comment lines. All I have to do is punch in the line number and start working.
I felt a kind of stress relief almost instantly after doing this. It's better than Trello for me.
If I need to add additional kinds of data sources, many syntaxes, etc. it might become a bit more complex, but still managable as long as there's an API to get some plaintext lines out. It's basically following up on the hypothesis of a lot of information tools today: it isn't the data generation that's the issue, but the filtering.
From the patent (edited down a bit):
> According to various example implementations of the invention, a task list facilitates code development by assisting developers in keeping track of and managing a variety of tasks, such as errors to be corrected, opportunities for optimization, and other user-defined tasks. As the developer edits source code, warnings and coding errors are detected and inserted as tasks in a task list. The developer can also embed keywords known as comment tokens in the code. These comment tokens are detected and used to define tasks.
> Tasks can also be identified using tokens or keywords. These tokens or keywords typically preface comment lines in the code and may include predefined labels such as, for example, “UNDONE,” “TODO,” or “HACK,” as well as labels that are defined by the individual developer. If the source code has no syntax errors, the parser [...] determines whether any of the keywords are present in the source code[.] If so, [it] extracts the comment from the source code and uses the tag to determine the priority of the task. The task is then inserted in the task list[.] For example, if the source code contains the comment, “/TODO: Need to add copyright text/”, the parser [...] adds the task “TODO: Need to add copyright text” to the task list with a priority rating assigned to the “TODO” tag. 
I have a whole list of absurd patents... this is the classic go-to example of a patent that should have never been issued... basically, a patent issued saying that if you exercise a cat by moving a laser pointer around a floor, you're infringing on this patent.
Wouldn't the key part:
in response to completion of a task, modifying the task list during the interactive code development session to indicate that the task has been completed."
mean it doesn't apply?
Worst case, just put a US exclusionary clause in the release so US copyright law doesn't apply. At least Europe is ahead of the US in this and doesn't allow such trivial patents and considers them invalid by definition.
So no personal experience, but I definitely think it's pretty frivolous; I don't imagine its ever been tested in court. :)
 https://www.theinquirer.net/inquirer/news/1040068/microsoft-... from 2004
 https://www.geek.com/news/microsoft-granted-patent-covering-... from 2010
Needless to say the number of cubes someone had, the more clout they had and it became a dick measuring contest.
There are VPs and distinguished engineers with 100s of cubes.
grep -r "# TODO" .
I’ll give this a try before adding something to my .vimrc again.
Is also useful, as it prints the filename and the matching lines.
Edit: Nope, writes l̶i̶n̶e̶ ̶n̶u̶m̶b̶e̶r̶s̶ file names to output regardless. Boo.
option -h will disable filename in output
//hhh I want this to be done before I commit.
:nmap gr :vimgrep '' **/* \| copen 20<Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left>
Edit: <C-f>0wa may work instead of Lefts, but I always forget about it.
So user can enable/disable it per account/repo as they wish.
I think it exists, I've had it enabled in some repo when figuring out new gh actions
Also it occurred to me you could use grep or rg, something like...
alias todogrep="vim $(grep TODO . -rl)"