はじめに
この記事は大体人間が書いています。
ClaudeCode使ってますか?
みなさん、ClaudeCode使ってますか?
今回VibeCodingの練習用にClaudeCodeの利用履歴がわかるツールを作ってみたので紹介します。
自分がどのくらいClaudeCodeを使えているか是非振り返ってみてください。
作ったもの
今回作成したccstatはClaudeCodeの利用履歴をリポジトリごとにタイムラインで可視化するツールです。
ccstat -a
でこれまでのすべての利用履歴を表示します。
例えば私だと次のように表示され、いつどのプロジェクトでClaudeCodeをよく使っていたかがわかるようになっています。
デフォルトは直近24時間に絞って表示され、それぞれのプロジェクトにどの程度の時間ClaudeCodeに作業を任せ、その間どれくらい別に使える時間があったかがわかります。並列に動かせばその分多くのEventが表示されるので、使用時間も増えるのでClaudeCodeを常に働かせ続けることも夢ではありませんね。
実行
例によってnpx, bunxで実行できます。
# npxで実行
npx ccstat
# bunxで実行
bunx ccstat
使い方
使い方はとてもシンプルです。
基本的には期間かプロジェクトを絞るだけ。
ソート方法とテーマカラーを変更することもできます。
# 24時間の履歴を表示
npx ccstat
# 過去全履歴を表示
npx ccstat -a
# 過去7日間を表示
npx ccstat --days 7
# 過去6時間を表示
npx ccstat --hours 6
# イベント数が多い順に表示
npx ccstat --sort events --reverse -a
# hogeプロジェクトに絞って表示
npx ccstat --project hoge
# テーマカラーをoceanで表示
npx ccstat --color ocean
どうやっているのか
ClaudeCodeの利用ログが~/.claude/projects
や~/.config/claude/projects
配下に保存されており、これを解析して利用しています。
claude --resume
やclaude --continue
もこのログを使っていると思われます。
なので、この利用履歴はデバイスを跨がない履歴になりますし、これらがない場合は履歴表示できなくなります。これらのログは/clear
コマンドでは削除されず、いつ削除されるかは不明です。
こちらのツールなどもその機能を利用して作られていますね。
ClaudeCodeの活動をGitHubの草風に可視化するツールを作った - zenn
ちなみにGeminiCLIも似たようなログはあるものの、ログに保存ディレクトリを指すパラメータがなく、そのためかGeminiCLIにはClaudeCodeの--resume
や--continue
に相当するオプションがありません。
余談
もともとこのCLIツールをGoで作っていたのですが、やっぱりnpxで実行できた方が手軽でいいよなあ、ClaudeCode使ってる人は無条件でnode入ってるわけだし、、ということで途中からTypeScriptに変えました。(npmjs.comでリリースすればよいだけでTypeScriptである必要はなかったのですが、、)
普段なら面倒でまずやらないところですが、ClaudeCodeのおかげで何回かトライして、これまででは考えられないスピードで作ることができました。本当に働き方が変わりますね。