cctoolstats
v0.1.1
Published
Claude Codeのツール呼び出し/サブエージェント実行履歴の統計を分かりやすく表示するCLIツール
Maintainers
Readme
cctoolstats
Claude Codeのツール呼び出し/サブエージェント実行履歴の統計を分かりやすく表示するCLIツール
このプロジェクトは ccusage のリスペクトです
特徴
- 📊 サブエージェント統計: 各サブエージェントの使用回数と成功率を集計
- 🔧 ツール使用分析: Bash, Read, Write, Edit等の使用頻度を可視化
- 📈 タイムライン表示: セッション毎の実行履歴を時系列で確認
- 🚀 インストール不要: npxで即座に実行可能
インストール
インストールなしで実行(推奨)
npx cctoolstats@latestグローバルインストール
npm install -g cctoolstats使い方
基本的な使い方
# 現在のディレクトリの統計を表示(デフォルト)
cctoolstats
# 複数のプロジェクトディレクトリを分析
cctoolstats ~/project1 ~/project2
# 全プロジェクトの統計を表示
cctoolstats --all
# 特定のプロジェクトを分析
cctoolstats --project /path/to/project
# 特定のログファイルを分析(後方互換性)
cctoolstats file.jsonl出力フォーマット
# テーブル形式で出力(デフォルト)
cctoolstats
# JSON形式で出力
cctoolstats --format json
# CSV形式で出力
cctoolstats --format csv
# ファイルに保存
cctoolstats --output results.json --format json詳細オプション
# ヘルプを表示
cctoolstats --help
# バージョンを表示
cctoolstats --version
# 数値を千単位区切りで表示
cctoolstats --thousand-separator
# カラー出力を強制
cctoolstats --color
# 詳細モードで表示
cctoolstats --verbose出力例
デフォルトテーブル形式
Tool Usage Statistics
==================================================
┌───────┬───────┬────────────┐
│ Tool │ Count │ Percentage │
├───────┼───────┼────────────┤
│ Bash │ 3 │ 42.86% │
├───────┼───────┼────────────┤
│ Read │ 1 │ 14.29% │
├───────┼───────┼────────────┤
│ Write │ 1 │ 14.29% │
└───────┴───────┴────────────┘
Total: 7
Subagent Usage Statistics
==================================================
┌───────────────┬───────┬────────────┐
│ Subagent │ Count │ Percentage │
├───────────────┼───────┼────────────┤
│ code-reviewer │ 2 │ 66.67% │
├───────────────┼───────┼────────────┤
│ test-writer │ 1 │ 33.33% │
└───────────────┴───────┴────────────┘
Total: 3JSON形式出力
{
"tools": {
"totalInvocations": 7,
"uniqueTools": 5,
"toolCounts": {
"Bash": 3,
"Read": 1,
"Write": 1
},
"toolPercentages": {
"Bash": 42.86,
"Read": 14.29,
"Write": 14.29
}
},
"subagents": {
"totalInvocations": 3,
"uniqueAgents": 2,
"agentCounts": {
"code-reviewer": 2,
"test-writer": 1
}
}
}データソース
Claude Codeのトランスクリプトログ(JSONL形式)を解析します:
~/.claude/projects/*.jsonl~/.config/claude/projects/*.jsonl(v1.0.30以降)
各行には以下の情報が含まれます:
- タイムスタンプ
- メッセージ内容
- ツール呼び出し情報
- サブエージェント(Task)実行記録
- トークン使用量
- モデル情報
開発
セットアップ
# リポジトリをクローン
git clone https://github.com/masashi-fuji/cctoolstats.git
cd cctoolstats
# 依存関係をインストール
npm install
# 開発サーバーを起動
npm run devビルド
# TypeScriptをコンパイル
npm run build
# テストを実行
npm test
# リントを実行
npm run lintプロジェクト構造
cctoolstats/
├── src/
│ ├── index.ts # エントリーポイント
│ ├── cli.ts # CLIインターフェース
│ ├── analyzer/ # ログ解析ロジック
│ ├── parser/ # JSONLパーサー
│ ├── formatters/ # 出力フォーマッター
│ └── types/ # TypeScript型定義
├── docs/
│ ├── research/ # 調査・研究ドキュメント
│ └── design/ # 設計ドキュメント
├── tests/ # テストファイル
└── package.json貢献
プルリクエストを歓迎します!以下の手順でご協力ください:
- このリポジトリをフォーク
- 機能ブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add amazing feature') - ブランチにプッシュ (
git push origin feature/amazing-feature) - プルリクエストを作成
サポート
- 🐛 バグ報告: GitHub Issues
- 💡 機能要望: GitHub Issues
- 💬 質問・ディスカッション: GitHub Discussions
作者
- GitHub: @masashi-fuji
ライセンス
MIT License - 詳細は LICENSE ファイルを参照してください。
謝辞
- ccusage - インスピレーションとなった素晴らしいプロジェクト
- Claude Code - 開発を支援してくれたAIペアプログラマー
