Claude Codeの会話内容を自動でGitHubに保存するツールを作りました
(github.com/ej31)Claude Codeを使っていて、セッションが飛んでしまったことがある方はいませんか?
昨日Claudeと何を議論したのか……
どんな決定をしたのか思い出せず、また最初から説明し直して……
プロンプトを書いていると「あのプロンプトまた使えたのに……どのセッションだったっけ」となることが本当に多かったです。
これがあまりにも不便だったので、1つ作りました。
npx claude-session-tracker
この1行を打ってEnterを連打すればインストールが終わるように設定しました。
- 自動設定を選べば、privateリポジトリの作成からプロジェクトボードの設定まで全部やってくれます。
削除したい場合は npx claude-session-tracker uninstall と入力すればOKです。
何をするものか説明すると……
-
Claude Codeセッションを開始すると自動でGitHub Issueを作成
-
自分が送ったプロンプトをすべてコメントとして記録
-
Claudeの回答もすべてコメントとして記録
-
GitHub Projectsボードでセッション状態をリアルタイム追跡(登録 → 応答中 → 待機 → 終了)
-
30分放置されたことを検知すると、状態値を自動で終了処理
- これは実は少し問題があって……GitHub Actionsで終了処理をしようかと思ったのですが、これも有料化されていて……ひとまずローカルで終了処理をsubprocessでなんとかしようとしましたが、エッジケースがかなり多くて、今は暫定対応です。
-
claude --resumeすると既存Issueを再利用(重複作成されません!)
状態ラベルは韓国語・英語・日本語・中国語を選べます。
- Claude Codeセッションの状態が応答中なのか、終了済みなのか、始まったばかりなのかをStatusで表示するのですが、そのことです。「状態ラベル」という言葉だとうまく説明できていないですね……うーん……お恥ずかしいです。
必須条件!
- Node.js 18+
- Python 3
- GitHub CLI (gh) — gh auth login --scopes "project,repo" を先に実行
本当にClaude Codeのセッション管理がとても不便でした。
少し重めの作業をするとターミナルを6個、8個と開いて作業するのですが……プロンプトを再利用できないので本当にきつかったです。
それに複数のプロジェクトを行き来しながら「これどこまでやったっけ?」となる瞬間が1日に何度もあって、ADHDになりそうな気分になることもあります……はは……私だけかもしれませんが……
GitHub Projectsに全部記録されるので、検索一発で見つけられるし、チームメンバーへの共有もできます。
すべてのフックはasyncで動くので、Claudeの速度にはまったく影響ありません。
フィードバックや機能要望は歓迎です。Starを押していただけるとうれしいです、はは……🤖
1件のコメント
あ、1セッションごとに1つのGitHub issueが割り当てられます! 説明が足りなかったので、コメントで補足します..