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

96 lines
4.0 KiB
Markdown

---
name: context-search-strategy
description: Strategic guidelines for context search commands
type: 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
```bash
# 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
```bash
# 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)