ygrep CLI
Быстрый локальный индексный поиск по коду на Rust для ИИ-ассистентов: подключается к Claude Code, OpenCode и Codex.
- 64 ★ репозитория
- Последний коммит
Минимальный доступ
Почему такой уровень
- Индексирует и читает файлы проекта и держит фоновую службу, код проекта при этом остается нетронутым.
Установка
- Работает в
Ручная установка
brew install yetidevworks/ygrep/ygrepПервый вариант из README для macOS и Linux. Затем `ygrep install claude-code`, `ygrep install opencode` или `ygrep install codex`.
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Индексирует и читает файлы проекта и держит фоновую службу, код проекта при этом остается нетронутым.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
ygrep строит локальный индекс кода на Tantivy и отвечает на запросы мгновенно с ранжированием BM25. Поиск по умолчанию буквальный, как в grep, и спецсимволы вроде `$variable`, `{% block` и `@decorator` сохраняются. Флаг `-r` включает регулярные выражения. Токенизатор знает код: идентификаторы camelCase и snake_case делятся на части, так что запрос `send` находит `sendCampaign` и `send_email`. Команда `ygrep install claude-code` ставит плагин, который при старте сессии индексирует проект в фоне и дает скилл, учащий Claude предпочитать ygrep встроенному поиску. Для OpenCode и Codex есть установка скилла. Вывод в формате для ИИ компактный: путь, строка и процент совпадения. Фоновая служба следит за файлами и обновляет индекс, а терминальная панель показывает индексы, службу и статистику запросов. Необязательный семантический поиск использует локальную модель.
Для кого. Разработчикам с большими репозиториями, у которых агент долго ищет по коду встроенным grep и тратит контекст на лишний вывод.
Подходит, если
- В большом репозитории встроенный поиск агента работает медленно и дает много шума.
- Нужно найти функцию по части имени, например `sendCampaign` по слову `send`.
- Запрос с символами `->get(` или `{% block` должен искаться буквально, без регулярных выражений.
- Индекс должен обновляться сам, пока вы правите файлы, без запущенного терминала.
- Поиск по смыслу нужен рядом с буквальным, и модель для него должна работать локально.
Не подходит, если
- Репозиторий маленький: встроенный grep справляется без индекса.
- Агент не Claude Code, OpenCode и не Codex: автоматической установки для него нет.
- Нельзя ставить ONNX Runtime: полная сборка с семантикой требует его, но есть вариант `--no-default-features`.
Пример запроса к агенту
Найди через ygrep, где в проекте формируется очередь отправки писем.Ограничения
Автоматическая установка есть для Claude Code, OpenCode и Codex. В Claude Code после установки перезапустите программу и в начале каждой сессии выполните `/ygrep`, иначе агент останется на встроенном поиске. Полная сборка из исходников с семантикой требует ONNX Runtime, облегченная собирается с `--no-default-features`. Индекс хранится на диске, а фоновая служба и наблюдение за файлами работают пока не остановлены. Для сборки в Windows нужны Rust, MSVC Build Tools и пакеты для компиляции на C и C++.
Как отключить. Выполните `ygrep uninstall claude-code`, `ygrep uninstall opencode` или `ygrep uninstall codex`. Службу остановите средствами `ygrep`, а каталоги индексов удалите вручную.
Частые вопросы
Как установить ygrep?
Через Homebrew на macOS и Linux: `brew install yetidevworks/ygrep/ygrep`. Из исходников: `cargo install --path crates/ygrep-cli`, а вариант без ONNX собирается с `--no-default-features`.
Как подключить ygrep к Claude Code?
Выполните `ygrep install claude-code`, перезапустите Claude Code и в начале каждой сессии запускайте `/ygrep`. Плагин индексирует проект в фоне при старте, а скилл учит Claude выбирать ygrep вместо встроенного Grep и Glob.
Нужно ли заранее строить индекс?
Нет. Первый поиск в рабочей папке строит текстовый индекс и сразу выполняет запрос. Заранее его можно построить командой `ygrep index`, а изменения потом подхватываются инкрементально по времени правки файлов.
Как искать по регулярному выражению?
Добавьте флаг `-r`, например `ygrep -r "fn\s+main"` или `TODO|FIXME`. Без флага запрос буквальный, и спецсимволы вроде `$` и `@` считаются частью слова.
Что даст семантический поиск?
Необязательный векторный индекс HNSW с локальной моделью all-MiniLM-L6-v2: он находит код по смыслу рядом с буквальным поиском. Включается отдельно и требует сборки с ONNX Runtime.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыЛокальный поиск по коду для Claude Code и Codex: шесть быстрых инструментов вместо grep и Read, индекс обновляется сам.
codesearch ищет по коду сразу в нескольких репозиториях гибридным поиском и работает офлайн, без GPU и Docker.
MCP-сервер и CLI на Rust: граф вызовов и гибридный семантический поиск по коду для Claude Code и Codex
CLI на Rust строит локальный индекс символов кода, и агент ищет по структуре вместо grep, тратя на 40–50% меньше токенов.
Структурный поиск, линт и замена кода по синтаксическому дереву: шаблоны пишутся как обычный код
Локальный семантический индекс кода: агент ищет по смыслу, затем идет к определениям, вызовам и путям зависимостей
Коротко о README
Авторы описывают быстрый индексированный поиск, рассчитанный на ассистентов: токенизатор понимает код, вывод минимален, а индексы обновляются сами. В репозитории лежат сравнительные замеры версий 3.5 и 4.0.