Так как инструмент должен стать первым выбором вместо grep и search агента, просто положить скилл не даст максимального эффекта: про скиллы агенты иногда могут забывать и предпочитать базовые инструменты.
Начнем с простого.
Инструмент можно поставить разными способами в зависимости от платформы: brew / npm / winget. Подробный гайд тут:
https://github.com/defendend/Claude-ast-index-search/blob/main/USER_GUIDE.md
В Claude Code и Cursor есть понятие правил, и вот с ними ast-index ложится идеально. Просто добавляем прикрепленный к посту файл в .claude/rules/ или .cursor/rules/.
В Claude Code необходимо разрешить ast-index, через Bash(ast-index *), иначе агент будет спрашивать подтверждение на каждый вызов.
С Codex чуть сложнее: ему можно подключить либо скилл и указать его в AGENTS.md для постоянного использования, либо сразу вставить правила целиком в файл.
Для больших репозиториев или монореп можно добавить .ast-index.yaml в корень проекта и явно указать, какие директории индексировать, а какие пропускать:
include:
- app
- packages/shared
exclude:
- generated
- vendor
После изменения .ast-index.yaml лучше один раз выполнить ast-index rebuild, чтобы индекс пересобрался уже с новой конфигурацией.
Что делать с worktree?
Индекс сохраняется в ~/Library/Caches/ast-index/<project-hash>/index.db на macOS, в ~/.cache/ast-index/<project-hash>/index.db на Linux и в пользовательский cache-dir Windows, внутри ast-index/<project-hash>/index.db.
У каждого дерева вашего git-репозитория будет свой хэш, поэтому индексы будут полностью независимыми.
При обновлении ветки, ребейзе и т.п. можно вызвать ast-index update. Это команда инкрементального обновления индекса: она сравнивает текущий список файлов и сохраненный mtime в SQLite.
Также можно включить ast-index watch &: он слушает файловые события, группирует частые изменения и запускает инкрементальное обновление индекса.
Как посчитать используемость инструмента в компании?
Можно взять исходники с GitHub, дополнить их в вашем CI телеметрией и собирать информацию.
Экономия на чтении файлов
В ast есть команда outline позволяющая на лету распарсить файл в ast дерево за ~10 мс, и вычитать это позволяет вычитывать файлы на 500+ строк за 200-500 токенов.
Ну и в общем проще всего настроить скормив клоду ссылку на репозиторий и попросить его погонять агентов, пока не получите желаемый эффект под ваш проектик🙃
