精确改代码 — 先读后改、精确匹配、最小化 diff、改后自检。借鉴 Claude Code 的 Edit 工具纪律,杜绝整文件重写与误伤。
编程
Huo15 Grep
试用高效找代码 — 用 ripgrep/grep 精准定位符号、调用、定义与用法,先搜后读、缩小范围。借鉴 Claude Code 的搜索纪律。
它能做什么
高效找代码 — 用 ripgrep/grep 精准定位符号、调用、定义与用法,先搜后读、缩小范围。借鉴 Claude Code 的搜索纪律。
技能文档
代码检索 (Code Search)
在动手前先搜后读:用检索快速定位符号/调用/定义,缩小范围,再精读关键片段。是「读-改-验」闭环里「读」的入口。
使用时机
✅ 使用此技能当: 要找某个函数/变量/配置在哪定义、被谁调用、某报错来自哪、改动会波及哪些文件。 ❌ 不要用当: 已确切知道文件与行号(直接读即可)。
铁律
- 先搜后读 — 不要一上来全文件通读;先用检索把候选缩到几处,再精读。
- 优先 ripgrep — 有
rg用rg(快、默认跳 .gitignore);没有再退回grep -rn。始终带行号。 - 由宽到窄 — 先宽匹配看分布,再加文件类型/目录/正则收窄。
- 跟链而非孤点 — 找到定义后再搜它的用法/调用方,交叉验证,别看一处就下结论。
- 只读 — 检索阶段不改文件。
常用招式
# 找符号定义/出现(带行号,限文件类型)
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'
标准流程
- 明确要找什么 — 符号名?报错文本?功能关键词?
- 宽搜定位 —
rg -l/rg -n看命中分布,判断主战场目录。 - 收窄精读 — 限定
--type/目录/正则,读关键命中(带-C上下文)。 - 跟调用链 — 定义 → 用法 → 测试,串起来理解。
- 输出定位 — 给出
文件:行号,方便直接交给「火一五精确编辑」改。
反模式(禁止)
- ❌ 不搜就逐个文件通读、靠运气
- ❌ 只搜到一处就断言"全都在这"
- ❌ 不带行号、结果无法定位
- ❌ 用过宽的词搜出几百条还不收窄
核心原则
先搜后读 · 由宽到窄 · 跟链验证 · 给到行号。 检索是改之前的侦察,侦察到位,改才精准。
相关技能
代码库索引与理解系统。扫描项目目录,提取所有符号定义(类、函数、变量、导入),构建可搜索的 JSON 索引,支持按名称/类型/文件查询。受 Claude Code 的 codebase indexing 启发,100% 原创实现,使用 Python ast + ripgrep。
轻量级代码仓库 issue/PR 归档搜索工具,支持本地缓存查询与新鲜度检测,适合个人开发者日常代码仓库管理。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。
企业级代码仓库归档管控工具,兼容多仓库监控、重复聚类、实时同步、团队协作与自发化分流,适合团队协作与大型项目管控。核心能力:. 当需要gitcrawl。适用于独立开发者、企业团队和自动化工作流场景,提供结构化输出与错误处理机制,支持中文交互,即开即用。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。
多步任务拆解与待办跟踪 — 把复杂编程任务拆成可勾选清单,做一项勾一项,始终只一项进行中。借鉴 Claude Code 的 TodoWrite 纪律。
用于查找代码示例、开源项目、GitHub Issue、技术问答、开发者讨论、HuggingFace 模型/数据集/Space。