LLMが複雑なコードベースに直面したとき、PyCodeLensがその目👀となります。
PyCodeLensは、開発者が大規模言語モデル(LLM)と複雑なコードベースで作業するために特別に設計された強力なPythonコード分析ツールです。何千行ものコードでLLMを圧倒するのではなく、代わりに構造化された洞察を提供しましょう。
🌟 なぜPyCodeLensなのか?
ClaudeやGPTに大規模なコードベースを理解させようとしたことはありますか?大変ですよね?
問題点: LLMにはトークン制限があり、大規模な複数ファイルのコードベースの処理に苦労します
解決策: PyCodeLensはLLMが必要とする重要な構造情報を抽出します
🚀 主な機能
- 🔄 スマートなコードベース要約: 複雑なPythonコードベースをLLMフレンドリーなJSONに変換
- 🧩 クラス&メソッド分析: すべてのクラス、メソッド、およびそれらの関係を抽出
- 📊 依存関係マッピング: コールグラフとモジュールの依存関係を視覚化
- 🌲 ディレクトリ構造: クリーンで操作可能なファイルツリーを提供
- 🖥️ UIインターフェース: 分析を探索・エクスポートするための直感的なGUI
- 📋 クリップボード統合: 結果を直接コピーしてLLMですぐに使用可能
- 🔌 拡張可能なアーキテクチャ: より多くの言語や分析タイプの追加に対応(開発中)
💡 こんな方におすすめ
- LLM開発者: Claude、GPTなどに構造化されたコードの概要を提供
- オープンソース貢献者: 新しいプロジェクトを素早く理解
- コードレビュアー: プロジェクト構造の高レベルビューを取得
- Pythonの学習者: Githubに公開されているPythonプロジェクトの仕組みを理解する助けに
🛠️ インストール方法
# リポジトリをクローン
git clone https://github.com/unhaya/pycodelens.git
# プロジェクトディレクトリに移動
cd pycodelens
# 依存関係をインストール
pip install -r requirements.txt
# アプリケーションを実行
python "main.py"
もしくは、このリンクからダウンロード
https://github.com/unhaya/PyCodeLens/archive/refs/heads/master.zip
※githubアカウントが必要
📋 クイック使用ガイド
- PyCodeLensを起動
- Pythonファイルまたはディレクトリをインポート
- 構造化されたタブで分析結果を表示
- JSON出力をクリップボードにコピー
- お好みのLLMに直接貼り付けてコーディングの質問をする
- ディレクトリツリーでの右クリックとCtrl+クリックで追加オプション
🖱️使い方のヒント
ディレクトリツリーのナビゲーション
-
右クリック: 以下のオプションを含むコンテキストメニューを開きます:
- エクスプローラ/ファインダーでファイルを開く
- デフォルトのアプリケーションでファイルを開く
-
Ctrl+クリック: 選択したファイルまたはディレクトリを分析から除外します
- 除外されたアイテムはグレーアウト表示されます
- 再度クリックすると分析に再度含めることができます
これらの機能により、コードベースをすばやくナビゲートし、分析に含める部分をカスタマイズすることができます。
🏗️ プロジェクト構造
PyCodeLens/
├── main.py # Core analysis functionality
└── simple_json_converter.py # JSON conversion utilities
主要コンポーネント
- ConfigManager: アプリケーション設定と以前のセッションを処理
- CodeAnalyzer: コード分析のための基本クラス
- AstroidAnalyzer: Astroidによる深い意味分析
- DirectoryTreeView: プロジェクトファイルをナビゲートするためのUI
- SyntaxHighlighter: コード視覚化ヘルパー
- CodeAnalyzerApp: メインアプリケーションUI
🚀 ロードマップ
- 追加のプログラミング言語のサポート(JavaScript、Java、C++)
- 複数形式でのエクスポート(PDF、HTML、Markdown)
- LLM API統合のためのプラグイン
- ブラウザベースの分析のためのWebバージョン
- 非常に大規模なコードベースのためのパフォーマンス最適化
- 完全なテストカバレッジとCI/CDパイプライン
👥 コントリビュート
このプロジェクトへの協力を心より歓迎します。
プロジェクトへの参加方法:
- プロジェクトをフォーク
- 機能ブランチを作成(
git checkout -b feature/AmazingFeature
) - 変更をコミット(
git commit -m 'Add some AmazingFeature'
) - ブランチにプッシュ(
git push origin feature/AmazingFeature
) - プルリクエストを開く
📜 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。
💌 連絡先
https://github.com/unhaya/pycodelens/
LLM開発コミュニティのために❤️を込めて作成
あなたのLLMにコード理解の恩恵を
コード詳細はGitHub、https://github.com/unhaya/PyCodeLens で確認してください。
初心者のLLMcodingなので、コード構成の素人っぽさが恥ずかしいですが、正しく機能します<(_ _)>