# Glob

Сопоставляет имена файлов с glob-паттерном и возвращает пути, отсортированные по времени последнего изменения (от новых к старым). Оптимизирован для быстрого поиска файлов в кодовых базах любого размера без вызова `find`.

## Когда использовать

- Перечисление всех файлов определённого расширения (например, все `*.ts` под `src`)
- Поиск конфигурационных или фикстурных файлов по соглашениям об именовании (`**/jest.config.*`, `**/*.test.tsx`)
- Сужение области поиска перед прицельным `Grep`
- Проверка, существует ли уже файл по известному паттерну, перед вызовом `Write`
- Поиск недавно изменённых файлов с опорой на порядок по времени изменения

## Параметры

- `pattern` (string, обязательный): glob-выражение для сопоставления. Поддерживает `*` для односегментных подстановок, `**` для рекурсивных совпадений и `{a,b}` для альтернатив, например `src/**/*.{ts,tsx}`.
- `path` (string, необязательный): каталог для поиска. Должен быть валидным путём каталога, если указан. Полностью опустите поле, чтобы искать в текущем рабочем каталоге. Не передавайте строки `"undefined"` или `"null"`.

## Примеры

### Пример 1: все файлы TypeScript
Вызовите `Glob` с `pattern: "src/**/*.ts"`. Результат — список, отсортированный по mtime, так что наиболее недавно изменённые файлы идут первыми, что удобно для фокусировки на горячих точках.

### Пример 2: поиск кандидата на определение класса
Если вы подозреваете, что класс живёт в файле с неизвестным вам именем, ищите с `pattern: "**/*UserService*"`, чтобы сузить кандидатов, затем действуйте через `Read` или `Grep`.

### Пример 3: параллельное обнаружение перед крупной задачей
В одном сообщении сделайте несколько вызовов `Glob` (например, один для `**/*.test.ts` и один для `**/fixtures/**`), чтобы они выполнялись параллельно, а их результаты можно было сопоставить.

## Примечания

- Результаты упорядочены по времени изменения файла (сначала новые), а не по алфавиту. Сортируйте после, если нужен стабильный порядок.
- Паттерны обрабатываются инструментом, а не shell; вам не нужно их экранировать или кавычить, как в командной строке.
- Для открытого исследования, требующего нескольких раундов поиска и рассуждений, делегируйте `Agent` с типом агента Explore вместо цепочки множества вызовов `Glob`.
- Предпочитайте `Glob` вызовам `find` или `ls` через `Bash` для поиска по именам файлов; он стабильно обрабатывает права и возвращает структурированный вывод.
- Для поиска содержимого внутри файлов вместо имён используйте `Grep`.
