# BQ-System — правила для Claude ## Поиск по коду **ast-index — дефолт.** ВСЕГДА первым для «найти символ по имени / usages / callers / outline». Grep/Read — только если ast-index вернул пустой результат. **vex** — для поиска **по смыслу**, AST-паттернов, дубликатов, компактного тела символа: `vex search "..." --semantic`, `vex similar`, `vex pattern`, `vex duplicates`, `vex show`. Что и когда — подробно в `.claude/rules/search-tools.md`. (usages/callers по JS — только ast-index.) ```bash # Найти класс/функцию/символ ast-index class "ClassName" ast-index symbol "functionName" # Найти использования ast-index usages "symbolName" # Поиск по содержимому файла ast-index search "keyword" --in-file "filename" # Структура файла ast-index outline "path/to/file.js" # Универсальный поиск ast-index search "query" ``` Grep использовать только для: - Поиска строковых литералов (`"some text"`) - Regex-паттернов - Если ast-index вернул пустой результат ## Git — обновление репо **После любых изменений** — коммит и push: ```bash git add <изменённые файлы> git commit -m "тип: описание" git push origin master ``` - Коммитить только изменённые файлы (не `git add -A`) - Сообщение коммита: `feat:` / `fix:` / `refactor:` / `style:` + краткое описание на русском или английском - Push выполнять сразу после коммита ## Стек - Node.js/Express backend, SQLite (better-sqlite3, sync) - Frontend: vanilla JS, без бандлера - ast-index проиндексирован: `ast-index rebuild` при добавлении новых файлов