みんなー!進行中のプロジェクトのTODOを管理するのに苦労してるー?
シンプルかつ合理的なツールを見つけたので紹介するよー!
これ -> git-todos
last commitが3 years agoでスター数54なのでもう誰もメンテしてない感あるけど、そのシンプルさゆえか問題なく使えました。
他にも見つかったものとして、ソース中のTODO
FIXME
的な文字列を検索してリスト化してくれるやつ(git-todo)もあったけど、僕の場合は以下の理由でTODOはソースとは別に管理したかったのでgit-todosの方を選びました。
- TODOコメントを書く習慣がない
- TODOコメントを書く時に、ツールを通したときにどう見えるのかを気にしたくない
- TODOコメントをどのファイルのどの位置に置くのが適切かを考えたくない
- TODOの消化とcommitを明示的に結びつけたい
個人とか小人数の小規模プロジェクトだとgit-todosの方が良い気がしたけど、ある程度大規模だともしかしたらgit-todoの方がぴったりハマるのかもしれない。
(名前ややこしいな)
以下git-todosの使い方紹介。
TODOの追加
git todos add
を叩くと対話的にTODOが作成される。
ここで設定するTitleとDescriptionはそのまま、TODOを消化する時のコミットコメントのデフォルト値として使える。
$ git todos add
? Title (Required) create readme
? Description with very first greetings
✔ A Todo has been added
✔ You rock! 🚀
TODOの管理
.todos.yml
というファイルが生成され、そこにTODOのリストが記入される。
手動で変更しても良い。
todos:
- title: create readme
description: with very first greetings
marked: false
id: 0
todos:
- title: add .gitignore
description: to keep secrets secret
marked: false
id: 0
CLIからはgit todos list
で表示できる。(なぜかアルファベット順になる。)
$ git todos list
1) add .gitignore
2) create readme
git todos show
で個別のtodoを表示できる
$ git todos show
? Select an item (Use arrow keys) create readme
create readme
with very first greetings
TODOの消化
git todos finish
を叩くと対話的にTODOを消化できる。
同時に、TODO追加時のtitle
とdescription
からメッセージを生成しつつgit commit
もしてくれる。
つまり そのTODOに関係する内容のファイルをgit add
したあとに、git commit
の代わりにgit todos finish
を叩くといい感じということ。
必要があればGitHubのIssueの解決もしてくれるっぽい。
$ git todos finish
? Select an item (Use arrow keys) create readme
? Type of change that you're committing (Required) first import
? Denote the scope of this change readme
? Short description create readme
? Longer description of the change
? List any issues closed by this change
✔ Your work has been commited
✔ A Todo has been removed
✔ I see what you did there! 🙏
ちなみにその後のgit log
はこんな感じ
commit a2ae4aee207a3b82bbaa83e218204e054dbe46d6 (HEAD -> master)
Author: nariakiiwatani <nariakiiwatani@annolab.com>
Date: Thu Jul 30 23:19:49 2020 +0900
first import(readme): create readme