file-suggestion
ripgrep、jq、fzfを使用してClaude Codeの高速ファイル候補機能をセットアップできます。ユーザーがファイルオートコンプリートのパフォーマンスを向上させたい場合や、カスタムファイル候補機能を追加したい場合に、このスキルを使用してください。
description の原文を見る
Set up fast file suggestions for Claude Code using ripgrep, jq, and fzf. Use this skill when users want to improve file autocomplete performance or add custom file suggestion behavior.
SKILL.md 本文
ファイル提案の設定
このスキルは、ripgrep、jq、fzf を使用した高速ファジー ファイルマッチングで Claude Code のファイル提案機能を構成するのに役立ちます。
前提条件
セットアップの前に、以下のツールをインストールしてください:
# Ubuntu/Debian
sudo apt install ripgrep jq fzf
# macOS
brew install ripgrep jq fzf
# Arch Linux
sudo pacman -S ripgrep jq fzf
セットアップ手順
1. スクリプトを作成する
ファイル提案スクリプトを ~/.claude/file-suggestion.sh に作成します:
#!/bin/bash
# Custom file suggestion script for Claude Code
# Uses rg + fzf for fuzzy matching and symlink support
# Parse JSON input to get query
QUERY=$(jq -r '.query // ""')
# Use project dir from env, fallback to pwd
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-.}"
# cd into project dir so rg outputs relative paths
cd "$PROJECT_DIR" || exit 1
{
# Main search - respects .gitignore, includes hidden files, follows symlinks
rg --files --follow --hidden . 2>/dev/null
# Additional paths - include even if gitignored (uncomment and customize)
# [ -e .notes ] && rg --files --follow --hidden --no-ignore-vcs .notes 2>/dev/null
} | sort -u | fzf --filter "$QUERY" | head -15
2. 実行可能にする
chmod +x ~/.claude/file-suggestion.sh
3. Claude Code を構成する
~/.claude/settings.json に以下を追加します:
{
"fileSuggestion": {
"type": "command",
"command": "~/.claude/file-suggestion.sh"
}
}
仕組み
スクリプトは以下の処理を行います:
- JSON 入力を受け取ります - Claude Code から
queryフィールドを含むデータを受け取ります - ripgrep を使用します -
rg --filesでファイルを高速にリストアップし、.gitignoreを尊重します - シンボリックリンクをフォローします -
--followフラグを使用します - 隠しファイルを含めます -
--hiddenフラグを使用します - ファジーフィルタリングを実行します -
fzf --filterで結果をフィルタリングします - 上位 15 件を返します - 関連性でソートされた結果を返します
カスタマイズ
.gitignore を無視するパスを含める
追加パスセクションのコメントを外してカスタマイズします:
# .notes ディレクトリを .gitignore で無視していても含める
[ -e .notes ] && rg --files --follow --hidden --no-ignore-vcs .notes 2>/dev/null
# vendor ディレクトリを含める
[ -e vendor ] && rg --files --follow --hidden --no-ignore-vcs vendor 2>/dev/null
除外パターン
ripgrep グロブパターンを追加してファイルを除外します:
rg --files --follow --hidden \
--glob '!*.min.js' \
--glob '!*.map' \
--glob '!node_modules' \
. 2>/dev/null
結果の件数制限を変更する
head -15 を変更して、より多くまたはより少ない結果を返します:
# 上位 25 件のマッチを返す
... | head -25
トラブルシューティング
スクリプトが見つからない
settings.json のパスがスクリプトの場所と一致していること、および ~ または絶対パスを使用していることを確認してください。
結果が返されない
以下を確認してください:
- ripgrep がインストールされている:
which rg - fzf がインストールされている:
which fzf - jq がインストールされている:
which jq - スクリプトが実行可能である:
ls -la ~/.claude/file-suggestion.sh
パフォーマンスが遅い
大規模なリポジトリの場合:
.gitignoreがnode_modules、distなどを除外していることを確認してください- 大きなディレクトリに対して明示的な
--glob '!pattern'を追加してください
テンプレートスクリプト
すぐに使えるテンプレートは以下の場所にあります:
${CLAUDE_PLUGIN_ROOT}/skills/file-suggestion/scripts/file-suggestion.sh
これを ~/.claude/ ディレクトリにコピーして、必要に応じてカスタマイズしてください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- majiayu000
- ライセンス
- MIT
- 最終更新
- 2026/5/4
Source: https://github.com/majiayu000/claude-skill-registry / ライセンス: MIT