はじめに
askrepoはLLM(Large Language Model)に基づいたソースコードリーディングツールです。指定したディレクトリにあるGitで管理されたテキストファイルの内容を読み込み、それをGoogleの ジェミニ 指定されたプロンプトに基づいて質問への回答を提供するAPI。このツールは、開発者がソースコードをよりよく理解し、分析できるように設計されており、幅広いプログラミング言語をサポートしている。
機能一覧
- ソースコードの読み取りGitが管理するテキストファイルの内容を読み込む。
- コード解析Google Gemini APIを使ったコード解析。
- 問題解決指定されたプロンプトに基づき、質問に対する回答を提供する。
- 多言語サポート複数のプログラミング言語に対応しています。
- コマンドラインツール開発者が使えるコマンドラインツールを提供。
- コードの詳細開発者がコードをよりよく理解できるよう、詳細なコード説明を提供する。
ヘルプの使用
設置プロセス
- Google Gemini APIキーを取得するアクセスグーグルAPIスタジオAPIキーを取得する。
- askrepoをインストールするターミナルで以下のコマンドを実行し、askrepoをインストールする:
askrepoをインストールする
- APIキーの設定APIキーを使用するために、ターミナルで環境変数を設定する:
export GOOGLE_API_KEY="YOUR_API_KEY"
使用方法
- 基本的な使い方ターミナルで以下のコマンドを実行すると、指定したディレクトリのソースコードが解析され、コメントが生成される:
askrepo --prompt "提供されたファイルのコードを解釈してください" --model "gemini-1.5-flash" ./src
- カスタムヒントを通じて行うことができる。
--プロンプト
例えば、パラメータのカスタマイズの問題:
askrepo --prompt "このコードの目的は何ですか?" ---model "gemini-1.5-flash" ./src
- モデルの指定を通じて行うことができる。
---モデル
このパラメーターは、例えば、使用するグーグルAIモデルを指定する:
askrepo --model "gemini-1.5-flash" ./src
- コードエラーの発見コードの潜在的なエラーを見つけるには、以下のコマンドを使用します:
askrepo --prompt "Find errors in this code" --model "gemini-1.5-flash" ./src
詳細な機能操作の流れ
- ファイルの内容を読む:askrepoは、指定したディレクトリにあるすべてのGitで管理されたテキストファイルを読み込み、その内容をクエリに適した形に整形します。
- ビルドのヒントファイル情報、質問、抽出されたソースコードの内容に基づいてヒントを構築します。
- リクエストを送信解析のためにGoogle Gemini APIにプロンプトを送信する。
- レスポンスを解析するAPI が返す JSON レスポンスを解析し、生成されたテキストを取り出す。
- 出力結果生成されたテキストはターミナルに出力され、開発者がコードを理解したり、エラーを発見したりするのに役立つ。