Files
Claude-Code-Workflow/.claude/workflows/context-search-strategy.md
catlog22 703f22e331 feat: add codebase-retrieval semantic search tool
Add semantic file discovery via Gemini CLI --all-files parameter
- Define codebase-retrieval as primary semantic search tool
- Add tool selection matrix for search strategy
- Provide command templates with dynamic placeholders
- Document workflow integration with rg and other tools

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-13 09:38:25 +08:00

4.0 KiB

name, description, type
name description type
context-search-strategy Strategic guidelines for context search commands search-guideline

Context Search Strategy

Execution Environment

CRITICAL: All commands execute in Bash environment (Git Bash on Windows, Bash on Linux/macOS)

Forbidden: Windows-specific commands (findstr, dir, where, type, copy, del) - Use Bash equivalents (grep, find, which, cat, cp, rm)

Core Search Tools

codebase-retrieval: Semantic file discovery via Gemini CLI with all files analysis rg (ripgrep): Fast content search with regex support find: File/directory location by name patterns grep: Built-in pattern matching in files get_modules_by_depth.sh: Program architecture analysis and structural discovery

Decision Principles

  • Use codebase-retrieval for semantic discovery - Intelligent file discovery based on task context
  • Use rg for content - Fastest for searching within files
  • Use find for files - Locate files/directories by name
  • Use grep sparingly - Only when rg unavailable
  • Use get_modules_by_depth.sh first - MANDATORY for program architecture analysis before planning
  • Always use Bash commands - NEVER use Windows cmd/PowerShell commands

Tool Selection Matrix

Need Tool Use Case
Semantic file discovery codebase-retrieval Find files relevant to task/feature context
Pattern matching rg Search code content with regex
File name lookup find Locate files by name patterns
Architecture analysis get_modules_by_depth.sh Understand program structure

Quick Command Reference

# Semantic File Discovery (codebase-retrieval)
~/.claude/scripts/gemini-wrapper --all-files -p "List all files relevant to: [task/feature description]"
bash(~/.claude/scripts/gemini-wrapper --all-files -p "List all files relevant to: [task/feature description]")

# Program Architecture Analysis (MANDATORY FIRST)
~/.claude/scripts/get_modules_by_depth.sh  # Discover program architecture
bash(~/.claude/scripts/get_modules_by_depth.sh)  # Analyze structural hierarchy

# Content Search (rg preferred)
rg "pattern" --type js          # Search in JS files
rg -i "case-insensitive"        # Ignore case
rg -n "show-line-numbers"       # Show line numbers
rg -A 3 -B 3 "context-lines"    # Show 3 lines before/after

# File Search (find)
find . -name "*.ts" -type f     # Find TypeScript files
find . -path "*/node_modules" -prune -o -name "*.js" -print

# Built-in alternatives
grep -r "pattern" .             # Recursive search (slower)
grep -n -i "pattern" file.txt   # Line numbers, case-insensitive

Workflow Integration Examples

# Semantic Discovery → Content Search → Analysis (Recommended Pattern)
~/.claude/scripts/gemini-wrapper --all-files -p "List all files relevant to: [task/feature]"  # Get relevant files
rg "[pattern]" --type [filetype]  # Then search within discovered files

# Program Architecture Analysis (MANDATORY BEFORE PLANNING)
~/.claude/scripts/get_modules_by_depth.sh  # Discover program architecture
bash(~/.claude/scripts/get_modules_by_depth.sh)  # Analyze structural hierarchy

# Search for task definitions
rg "IMPL-\d+" .workflow/ --type json        # Find task IDs
find .workflow/ -name "*.json" -path "*/.task/*"  # Locate task files

# Analyze workflow structure
rg "status.*pending" .workflow/.task/      # Find pending tasks
rg "depends_on" .workflow/.task/ -A 2      # Show dependencies

# Find workflow sessions
find .workflow/ -name ".active-*"          # Active sessions
rg "WFS-" .workflow/ --type json           # Session references

# Content analysis for planning
rg "flow_control" .workflow/ -B 2 -A 5     # Flow control patterns
find . -name "IMPL_PLAN.md" -exec grep -l "requirements" {} \;

Performance Tips

  • rg > grep for content search
  • Use --type filters to limit file types
  • Exclude common dirs: --glob '!node_modules'
  • Use -F for literal strings (no regex)