コンテンツにスキップ

Code2Prompt の設定 📖

チュートリアル概要

手動で長い除外パターンやトークナイザー設定を書くのは面倒です。このチュートリアルでは、.c2pconfig 設定ファイル を使用して「一度設定して忘れる」方式でプロジェクト設定を管理する方法を紹介します。

code2prompt がインストールされていることを確認してください。未インストールの場合は、インストールガイド を参照してください。TOML の基本構文は知っておくと便利ですが必須ではありません。

.c2pconfigTOML 形式の設定ファイルです。code2prompt は実行時に自動的にこのファイルを探し、設定を適用します。

  • フィルタリング: 永続的な include / exclude パターン
  • 出力形式: デフォルトで JSON、Markdown、XML のいずれかを選択
  • テンプレートコンテキスト: Handlebars テンプレートに渡す変数を事前定義

プロジェクトのルートに .c2pconfig を作成し、基本設定を書き込みます。

# デフォルト設定
default_output = "stdout" # オプション: stdout, clipboard, file
include_patterns = ["src/**/*.rs", "Cargo.toml"]
exclude_patterns = ["**/target/**", "tests/fixtures/**"]
line_numbers = true
output_format = "markdown"
[user_variables]
project_name = "MyAwesomeProject"
author = "Developer"
キー説明
pathStringデフォルトのコードベースパス(通常 .
include_patternsArray取り込むファイルの glob パターン
exclude_patternsArray除外するファイルの glob パターン
line_numbersBooleantrue の場合、コードブロックに行番号を付与
absolute_pathBoolean絶対パスを使用するか
full_directory_treeBoolean除外ファイルでもディレクトリツリーを完全に生成
output_formatStringmarkdown, json, xml のいずれか
sort_methodStringname_asc, name_desc, date_asc, date_desc
encodingString使用するトークナイザー (cl100k, p50k, o200k)
diff_enabledBooleanGit diff (HEAD vs Index) を含める
token_map_enabledBooleanトークン使用マップを表示
  1. 設定ファイルの作成

    Terminal window
    touch .c2pconfig
  2. グローバルフィルタの設定
    node_modules やビルド成果物を除外して、LLM にクリーンなコンテキストを提供します。

    exclude_patterns = [
    "**/node_modules/**",
    "package-lock.json",
    "dist/**"
    ]
  3. トークナイザーの選択
    使用する LLM に合わせてトークナイザーを設定します。GPT‑4o なら o200k、Claude や GPT‑4 なら cl100k

    encoding = "o200k"
  4. ユーザー変数の追加
    Handlebars テンプレートで使用するカスタム変数を [user_variables] に定義します。

    [user_variables]
    project_goal = "セキュリティ向上のための認証モジュールのリファクタリング"
  5. フラグなしで実行
    すべての設定が .c2pconfig に保存されたら、シンプルに実行します。

    Terminal window
    code2prompt .

CLI 引数 > .c2pconfig > デフォルト設定 の順に優先されます。CLI で一時的にオーバーライドしたい場合に便利です。

コードレビュー用に最適化された設定例です。

default_output = "clipboard"
include_patterns = ["*.rs"]
exclude_patterns = ["**/test*","**code2prompt-python*"]
line_numbers = false
absolute_path = true
[user_variables]
project = "code2prompt"