0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

この記事は大体人間が書いています。

ClaudeCode使ってますか?

みなさん、ClaudeCode使ってますか?
今回VibeCodingの練習用にClaudeCodeの利用履歴がわかるツールを作ってみたので紹介します。
自分がどのくらいClaudeCodeを使えているか是非振り返ってみてください。

作ったもの

今回作成したccstatはClaudeCodeの利用履歴をリポジトリごとにタイムラインで可視化するツールです。
ccstat -aでこれまでのすべての利用履歴を表示します。
例えば私だと次のように表示され、いつどのプロジェクトでClaudeCodeをよく使っていたかがわかるようになっています。
image.png

デフォルトは直近24時間に絞って表示され、それぞれのプロジェクトにどの程度の時間ClaudeCodeに作業を任せ、その間どれくらい別に使える時間があったかがわかります。並列に動かせばその分多くのEventが表示されるので、使用時間も増えるのでClaudeCodeを常に働かせ続けることも夢ではありませんね。

image.png

実行

例によって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 --resumeclaude --continueもこのログを使っていると思われます。
なので、この利用履歴はデバイスを跨がない履歴になりますし、これらがない場合は履歴表示できなくなります。これらのログは/clearコマンドでは削除されず、いつ削除されるかは不明です。

こちらのツールなどもその機能を利用して作られていますね。
ClaudeCodeの活動をGitHubの草風に可視化するツールを作った - zenn

ちなみにGeminiCLIも似たようなログはあるものの、ログに保存ディレクトリを指すパラメータがなく、そのためかGeminiCLIにはClaudeCodeの--resume--continueに相当するオプションがありません。

余談

もともとこのCLIツールをGoで作っていたのですが、やっぱりnpxで実行できた方が手軽でいいよなあ、ClaudeCode使ってる人は無条件でnode入ってるわけだし、、ということで途中からTypeScriptに変えました。(npmjs.comでリリースすればよいだけでTypeScriptである必要はなかったのですが、、)
普段なら面倒でまずやらないところですが、ClaudeCodeのおかげで何回かトライして、これまででは考えられないスピードで作ることができました。本当に働き方が変わりますね。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?