Coding

Huo15 Grep

Try it

高效找代码 — 用 ripgrep/grep 精准定位符号、调用、定义与用法,先搜后读、缩小范围。借鉴 Claude Code 的搜索纪律。

What it does

高效找代码 — 用 ripgrep/grep 精准定位符号、调用、定义与用法,先搜后读、缩小范围。借鉴 Claude Code 的搜索纪律。

The skill document

在动手前先搜后读:用检索快速定位符号/调用/定义,缩小范围,再精读关键片段。是「读-改-验」闭环里「读」的入口。

使用时机

使用此技能当: 要找某个函数/变量/配置在哪定义、被谁调用、某报错来自哪、改动会波及哪些文件。 ❌ 不要用当: 已确切知道文件与行号(直接读即可)。

铁律

  1. 先搜后读 — 不要一上来全文件通读;先用检索把候选缩到几处,再精读。
  2. 优先 ripgrep — 有 rgrg(快、默认跳 .gitignore);没有再退回 grep -rn。始终带行号。
  3. 由宽到窄 — 先宽匹配看分布,再加文件类型/目录/正则收窄。
  4. 跟链而非孤点 — 找到定义后再搜它的用法/调用方,交叉验证,别看一处就下结论。
  5. 只读 — 检索阶段不改文件。

常用招式

# 找符号定义/出现(带行号,限文件类型)
rg -n "functionName" --type ts
rg -n "class\s+Foo" -g '*.tsx'

# 找用法/调用方
rg -n "foo\(" src/

# 找配置/常量来源
rg -n "API_KEY|baseUrl|endpoint" -i

# 列匹配到的文件(先看分布)
rg -l "TODO|FIXME"

# 看上下文(前后各 3 行)
rg -n -C3 "throw new Error"

# 没有 rg 时
grep -rn "pattern" src/ --include='*.ts'

标准流程

  1. 明确要找什么 — 符号名?报错文本?功能关键词?
  2. 宽搜定位rg -l / rg -n 看命中分布,判断主战场目录。
  3. 收窄精读 — 限定 --type/目录/正则,读关键命中(带 -C 上下文)。
  4. 跟调用链 — 定义 → 用法 → 测试,串起来理解。
  5. 输出定位 — 给出 文件:行号,方便直接交给「火一五精确编辑」改。

反模式(禁止)

  • ❌ 不搜就逐个文件通读、靠运气
  • ❌ 只搜到一处就断言"全都在这"
  • ❌ 不带行号、结果无法定位
  • ❌ 用过宽的词搜出几百条还不收窄

核心原则

先搜后读 · 由宽到窄 · 跟链验证 · 给到行号。 检索是改之前的侦察,侦察到位,改才精准。

Related skills

精确改代码 — 先读后改、精确匹配、最小化 diff、改后自检。借鉴 Claude Code 的 Edit 工具纪律,杜绝整文件重写与误伤。

1 installs

代码库索引与理解系统。扫描项目目录,提取所有符号定义(类、函数、变量、导入),构建可搜索的 JSON 索引,支持按名称/类型/文件查询。受 Claude Code 的 codebase indexing 启发,100% 原创实现,使用 Python ast + ripgrep。

6 installs

轻量级代码仓库 issue/PR 归档搜索工具,支持本地缓存查询与新鲜度检测,适合个人开发者日常代码仓库管理。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。

企业级代码仓库归档管控工具,兼容多仓库监控、重复聚类、实时同步、团队协作与自发化分流,适合团队协作与大型项目管控。核心能力:. 当需要gitcrawl。适用于独立开发者、企业团队和自动化工作流场景,提供结构化输出与错误处理机制,支持中文交互,即开即用。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。

多步任务拆解与待办跟踪 — 把复杂编程任务拆成可勾选清单,做一项勾一项,始终只一项进行中。借鉴 Claude Code 的 TodoWrite 纪律。

1 installs

用于查找代码示例、开源项目、GitHub Issue、技术问答、开发者讨论、HuggingFace 模型/数据集/Space。