mufeedvh/code2prompt

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

解決する課題

Code2Prompt は、Large Language Models (LLMs) にコンテキストを提供するためにコードベースから複数のファイルを手動でコピーしてフォーマットする作業を排除します。関連するコードを収集し、プロジェクトのルールを尊重してデータを1つのLLM対応プロンプトに構造化するプロセスを自動化します。

動作方法

高速性を実現するためRustで構築されたこのツールは、プロジェクトディレクトリを走査し、指定されたフィルタに従ってファイルを読み取ります。.gitignore のルールを尊重し、カスタムのglobパターンを使って特定のファイルを含む・除外する設定が可能です。収集されたコードはHandlebarsテンプレートを経由して、プロンプトエンジニアリングの文脈に応じた形式に整形されます。また、生成されたプロンプトがLLMのコンテキストウィンドウに収まるように、トークン使用量を追跡します。

対象ユーザー

  • 開発者:ChatGPTなどのLLMにコードベースのコンテキストを手動で提供する方。
  • AIエージェント開発者:Python SDKを使って自動化スクリプトやRAGパイプラインを構築する方。
  • エージェントアプリケーション:MCPサーバーを使ってローカルコードベースを効率的に読み込む方。

特徴

  • インタラクティブTUI:プロンプト設定を簡単にできるターミナルユーザーインターフェース。
  • スマートなフィルタリング.gitignore を自動的に尊重し、globパターンをサポート。
  • 柔軟なテンプレート:カスタムHandlebarsテンプレートでプロンプト構造をカスタマイズ可能。
  • Git統合:Gitのdiff、ログ、ブランチ比較を含める機能。
  • トークン追跡:コンテキストオーバーフローを回避するためのリアルタイムトークン数監視。
  • 高パフォーマンス:速度とリソース使用量の低さを実現するため、コアロジックはRustで実装。

関連

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