# BQ-System — правила для Claude

## Поиск по коду

**ВСЕГДА использовать `ast-index` ПЕРВЫМ** для любого поиска по коду.
Grep/Read — только если 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` при добавлении новых файлов
