首页/数据 & AI/grepai-trace-callers
G

grepai-trace-callers

by @yoanbernabeuv1.0.0
0.0(0)

使用GrepAI追踪调用者,查找调用特定函数或方法的所有代码位置。

GrepAICode AnalysisCall GraphStatic AnalysisSoftware DebuggingGitHub
安装方式
npx skills add yoanbernabeu/grepai-skills --skill grepai-trace-callers
compare_arrows

Before / After 效果对比

1
使用前

在大型代码库中手动查找特定函数或方法的调用位置,效率低下。

使用后

使用grepai-trace-callers技能,快速准确地追踪所有调用者,加速代码理解和重构。

description SKILL.md

grepai-trace-callers

GrepAI Trace Callers This skill covers using grepai trace callers to find all code locations that call a specific function or method. When to Use This Skill Finding all usages of a function before refactoring Understanding function dependencies Impact analysis before changes Code navigation and exploration What is Trace Callers? grepai trace callers answers: "Who calls this function?" func Login(user, pass) {...} ↑ │ ┌───────┴───────────────────┐ │ Who calls Login()? │ ├───────────────────────────┤ │ • HandleAuth (auth.go:42) │ │ • TestLogin (test.go:15) │ │ • CLI (main.go:88) │ └───────────────────────────┘ Basic Usage grepai trace callers "FunctionName" Example grepai trace callers "Login" Output: 🔍 Callers of "Login" Found 3 callers: 1. HandleAuth File: handlers/auth.go:42 Context: user.Login(ctx, credentials) 2. TestLoginSuccess File: handlers/auth_test.go:15 Context: result := Login(testUser, testPass) 3. RunCLI File: cmd/main.go:88 Context: err := auth.Login(username, password) JSON Output For programmatic use: grepai trace callers "Login" --json Output: { "query": "Login", "mode": "callers", "count": 3, "results": [ { "file": "handlers/auth.go", "line": 42, "caller": "HandleAuth", "context": "user.Login(ctx, credentials)" }, { "file": "handlers/auth_test.go", "line": 15, "caller": "TestLoginSuccess", "context": "result := Login(testUser, testPass)" }, { "file": "cmd/main.go", "line": 88, "caller": "RunCLI", "context": "err := auth.Login(username, password)" } ] } Compact JSON (AI Optimized) grepai trace callers "Login" --json --compact Output: { "q": "Login", "m": "callers", "c": 3, "r": [ {"f": "handlers/auth.go", "l": 42, "fn": "HandleAuth"}, {"f": "handlers/auth_test.go", "l": 15, "fn": "TestLoginSuccess"}, {"f": "cmd/main.go", "l": 88, "fn": "RunCLI"} ] } TOON Output (v0.26.0+) TOON format offers ~50% fewer tokens than JSON: grepai trace callers "Login" --toon Output: callers[3]: - call_site: context: "user.Login(ctx, credentials)" file: handlers/auth.go line: 42 symbol: name: HandleAuth ... Note: --json and --toon are mutually exclusive. Extraction Modes GrepAI offers two extraction modes: Fast Mode (Default) Uses regex patterns. Fast and dependency-free. grepai trace callers "Login" --mode fast Precise Mode Uses tree-sitter AST parsing. More accurate but requires tree-sitter. grepai trace callers "Login" --mode precise Comparison Mode Speed Accuracy Dependencies fast ⚡⚡⚡ Good None precise ⚡⚡ Excellent tree-sitter Configuration Configure trace in .grepai/config.yaml: trace: mode: fast # fast or precise enabled_languages: - .go - .js - .ts - .py - .php - .rs exclude_patterns: - "_test.go" - ".spec.ts" Supported Languages Language Extensions Go .go JavaScript .js, .jsx TypeScript .ts, .tsx Python .py PHP .php C/C++ .c, .h, .cpp, .hpp, .cc, .cxx Rust .rs Zig .zig C# .cs Java .java Pascal/Delphi .pas, .dpr Use Cases Before Refactoring # Find all usages before renaming grepai trace callers "getUserById" # Check impact of changing signature grepai trace callers "processPayment" Understanding Codebase # Who uses this core function? grepai trace callers "validateToken" # Find entry points to a module grepai trace callers "initialize" Debugging # Where is this function called from? grepai trace callers "problematicFunction" Code Review # Verify function usage before approving changes grepai trace callers "deprecatedMethod" Handling Common Names If your function name is common, results may include unrelated code: Problem grepai trace callers "get" # Too common, many false positives Solutions Use more specific name: grepai trace callers "getUserProfile" Filter results by path: grepai trace callers "get" --json | jq '.results[] | select(.file | contains("auth"))' Combining with Semantic Search Use together for comprehensive understanding: # Find what Login does (semantic) grepai search "user login authentication" # Find who uses Login (trace) grepai trace callers "Login" Scripting Examples Bash # Count callers grepai trace callers "MyFunction" --json | jq '.count' # Get caller function names grepai trace callers "MyFunction" --json | jq -r '.results[].caller' # Get file paths only grepai trace callers "MyFunction" --json | jq -r '.results[].file' | sort -u Python import subprocess import json result = subprocess.run( ['grepai', 'trace', 'callers', 'Login', '--json'], capture_output=True, text=True ) data = json.loads(result.stdout) print(f"Found {data['count']} callers of Login:") for r in data['results']: print(f" - {r['caller']} in {r['file']}:{r['line']}") Common Issues ❌ Problem: No callers found ✅ Solutions: Check function name spelling (case-sensitive) Ensure file type is in enabled_languages Run grepai watch to update symbol index ❌ Problem: Too many false positives ✅ Solutions: Use more specific function name Add exclude patterns in config Filter results with jq ❌ Problem: Missing some callers ✅ Solutions: Try --mode precise for better accuracy Check if files are in ignore patterns Best Practices Use exact function name: Case matters Check symbol index: Run grepai watch first Use JSON for scripts: Easier to parse Combine with search: Semantic + trace = full picture Filter large results: Use jq or grep Output Format Trace callers result: 🔍 Callers of "Login" Mode: fast Language files scanned: 245 Found 3 callers: 1. HandleAuth File: handlers/auth.go:42 Context: user.Login(ctx, credentials) 2. TestLoginSuccess File: handlers/auth_test.go:15 Context: result := Login(testUser, testPass) 3. RunCLI File: cmd/main.go:88 Context: err := auth.Login(username, password) Tip: Use --json for machine-readable output Use --mode precise for more accurate results Weekly Installs258Repositoryyoanbernabeu/gr…i-skillsGitHub Stars14First SeenJan 28, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onopencode205codex197gemini-cli182github-copilot179kimi-cli162amp160

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量0
评分0.0 / 5.0
版本1.0.0
更新日期2026年3月17日
对比案例1 组

用户评分

0.0(0)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

时间线

创建2026年3月17日
最后更新2026年3月17日