mufeedvh/code2prompt

A CLI tool to convert your codebase into a single LLM prompt with source tree, prompt templating, and token counting.

解決する課題

大規模言語モデル (LLMs) にコンテキストを提供する際、複数のファイルをコピーしてフォーマットする手作業の煩雑さを解消します。ローカルのコードベースを自動的に取り込み、単一のLLM対応プロンプトに構造化することで、「コンテキストエンジニアリング」の課題を解決します。

仕組み

Rustで構築された高性能なツールで、.gitignore ルールを尊重しながらディレクトリを走査しファイルを読み取ります。Handlebarsテンプレートを使用して、収集したコードとメタデータを構造化されたプロンプトにフォーマットします。CLI(クイック利用)、TUI(インタラクティブな設定)、Python SDK(エージェントやRAGパイプラインへの統合)、MCPサーバー(エージェントアプリケーションによるローカルコードベースへの効率的なアクセス)など、複数のインターフェースを提供します。

対象ユーザー

AIチャットインターフェース(ChatGPTなど)に手動でコードコンテキストを提供している開発者、AIエージェントを構築している開発者、およびコードベースの取り込みを必要とするRAG (検索拡張生成) パイプラインを実装するエンジニア向けに設計されています。

主な特徴

  • スマートフィルタリング: globパターンをサポートし、.gitignore 設定を自動的に尊重します。
  • Git統合: 生成されるプロンプトにGitの差分、ログ、ブランチ比較を含めることができます。
  • トークン見積もり: ファイルごとのトークン数を並列で算出し、プロンプトサイズを見積もります。
  • 柔軟な出力: stdoutへの出力、ファイルへの保存、クリップボードへの直接コピーをサポートしています。
  • 多言語サポート: CSV、Notebooks、JSONLなどの形式に対する特殊な読み取り機能を備えています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト