Урок 7Инструменты
Поиск и навигация
Glob, Grep, паттерны
Glob
Поиск файлов по паттернам. Быстро находит файлы по имени, расширению, пути.
Grep
Поиск по содержимому файлов. Поддерживает regex, фильтры, контекст.
Glob — поиск файлов
Glob использует паттерны для поиска файлов. Результаты сортируются по времени изменения:
| Паттерн | Описание |
|---|---|
**/*.ts | Все TypeScript файлы |
src/**/*.tsx | Все TSX файлы в src/ |
**/test/*.spec.ts | Все spec файлы в папках test |
*.config.{js,ts} | Все конфиг файлы в корне |
!**/node_modules/** | Исключить node_modules |
> Найди все React компоненты
Glob: src/**/*.tsx
Найдено 47 файлов:
src/components/Button.tsx
src/components/Header.tsx
src/pages/Home.tsx
...
src/components/Button.tsx
src/components/Header.tsx
src/pages/Home.tsx
...
Grep — поиск по содержимому
Grep ищет текст или regex внутри файлов. Построен на ripgrep (rg) для скорости:
function.*asyncНайти async функцииregexTODO|FIXME|HACKНайти комментарии-маркерыregeximport.*from.*reactНайти React импортыregexconsole\.logНайти отладочные логиliteral> Найди все TODO комментарии
Grep: pattern="TODO", output_mode="content"
src/auth.ts:42: // TODO: add rate limiting
src/api.ts:15: // TODO: handle errors
src/utils.ts:88: // TODO: refactor this
src/api.ts:15: // TODO: handle errors
src/utils.ts:88: // TODO: refactor this
Режимы вывода
content— строки с совпадениямиfiles_with_matches— только пути файловcount— количество совпадений
Полезные опции
-i— без учёта регистра-C 3— 3 строки контекстаglob="*.ts"— фильтр файлов
Комбинирование инструментов
Claude автоматически комбинирует Glob и Grep для сложных запросов:
> Найди где в компонентах используется useState
1. Glob: src/components/**/*.tsx
2. Grep: pattern="useState", glob="*.tsx"
2. Grep: pattern="useState", glob="*.tsx"
Найдено в 12 компонентах:
src/components/Form.tsx:8
src/components/Modal.tsx:5
...
src/components/Form.tsx:8
src/components/Modal.tsx:5
...
Стратегии поиска
Найти файл по имени
Glob> Найди все файлы с именем auth
Паттерн: **/auth*
Найти использование функции
Grep> Где используется функция validateUser?
Паттерн: validateUser
Найти определение класса
Grep> Найди где определён класс UserService
Паттерн: class UserService
Исследовать структуру
Task + Explore> Покажи архитектуру проекта
Паттерн: Используется суб-агент
Советы по поиску
- •Для исследования незнакомого codebase используйте Task с агентом Explore
- •Grep с output_mode="files_with_matches" быстрее для первичного поиска
- •Используйте -C для контекста вокруг найденных строк
- •Экранируйте спецсимволы в regex: \{\} для литералов
Этот урок — часть структурированного курса по LLM.
Мой путь обучения