Краткий справочник по CodeGraph

Короткая шпаргалка для повседневной работы


Основные команды

Команда Пример Описание
/help /help review Показать справку
/scenarios /scenarios security Список сценариев
/select /select 02 Сменить сценарий
/stat /stat Показать статистику БД
/query /query SELECT * FROM nodes_method LIMIT 5 Выполнить SQL
/review /review git Проверка кода
/config /config llm temperature 0.5 Изменить настройки
/project /project list Управление проектами
/cpg /cpg callers heap_insert Запросы к GoCPG
/explain /explain heap_insert Глубокий анализ метода
/watch /watch start Панель мониторинга
/exit /exit Сохранить и выйти

Сценарии по ролям

Разработка

/select 01  → Онбординг          "Где определена функция X?"
/select 04  → Разработка функций "Куда добавить хук?"
/select 05  → Рефакторинг        "Найти мёртвый код"
/select 06  → Производительность  "Найти медленные функции"
/select 15  → Отладка            "Проследить путь выполнения"

QA и тестирование

/select 07  → Покрытие тестами   "Что не покрыто тестами?"
/select 09  → Проверка кода      "Проверить эти изменения"
/select 12  → Технический долг   "Оценить объём долга"
/select 13  → Массовый рефакторинг "Найти все использования X"

Безопасность

/select 02  → Аудит безопасности   "Найти SQL-инъекции"
/select 08  → Соответствие         "Проверить по OWASP Top 10"
/select 14  → Инцидент             "Проследить вектор атаки"
/select 16  → Точки входа          "Список конечных точек API"

Архитектор

/select 03  → Документирование     "Описать функцию X"
/select 10  → Межрепозиторный анализ "Влияние изменения Y?"
/select 11  → Архитектура          "Найти нарушения слоёв"

Сценарии S17–S21 (редактирование файлов, оптимизация кода, проверка стандартов, анализ зависимостей, синхронизация документации интерфейсов) доступны через принудительный выбор сценария, но не отображаются в панели CLI /scenarios.


Частые запросы

Поиск функций

> Где определена palloc?
> Показать вызывающие heap_insert
> Что вызывает ExecProcNode?

Анализ безопасности

> Найти уязвимости к SQL-инъекциям
> Проследить путь данных от пользовательского ввода до запроса
> Показать функции без валидации входных данных

Понимание кода

> Объясните подсистему исполнителя
> Как работает выделение памяти?
> Показать зависимости модуля X

Команды структурного поиска

# CLI-команды для работы с шаблонами
python -m src.cli patterns scan                        # Сканирование по всем правилам
python -m src.cli patterns search "malloc($x)" --lang c  # Ad-hoc поиск
python -m src.cli patterns list                        # Список загруженных правил
python -m src.cli patterns stats                       # Статистика шаблонов
python -m src.cli patterns fix --dry-run               # Предпросмотр автоисправлений
python -m src.cli patterns generate "описание" --lang c  # LLM-генерация правил

Проверка кода

OpenCode

/review git              # Локальные изменения
/review github 123       # GitHub PR
/review gitlab 456       # GitLab MR
/review file patch.diff  # Файл изменений
/review diff             # Вставить diff интерактивно

# С опциями
/review git --format json --inline

CLI

python -m src.cli review --base-ref HEAD~3
python -m src.cli review --staged
python -m src.cli review --files src/api/main.py src/auth.py
python -m src.cli review --format sarif --sarif-file out.sarif
python -m src.cli review --no-security

Коды возврата: 0 = чисто или только medium/low, 1 = обнаружены critical или high.


SQL-запросы

-- Подсчёт функций
/query SELECT COUNT(*) FROM nodes_method

-- Поиск функций по имени
/query SELECT name, filename FROM nodes_method
       WHERE name LIKE 'heap%' LIMIT 10

-- Поиск вызывающих функций
/query SELECT caller.name FROM edges_call e
       JOIN nodes_method caller ON e.src = caller.id
       WHERE e.dst = (SELECT id FROM nodes_method WHERE name='palloc')
       LIMIT 5

Конфигурация

# Просмотр всех настроек
/config

# Изменение параметров LLM
/config llm provider gigachat
/config llm temperature 0.7

# Переменные окружения
export GIGACHAT_AUTH_KEY="..."
export OPENAI_API_KEY="..."

Быстрые рабочие процессы

Утренняя проверка безопасности

/select 02
> Найти уязвимости в последних коммитах
/review git

Начало работы нового разработчика

/select 01
> Какова основная архитектура?
> С какого места начать читать код?

Аудит перед релизом

/select 08
> Сгенерировать отчёт по соответствию OWASP
python -m src.cli review --base-ref origin/main --format json --output-file audit.json

Устранение неполадок

Проблема Решение
«Нет результатов» Проверьте /stat и убедитесь, что CPG загружена
Медленный отклик Уменьшите n_ctx в настройках
Подключение отклонено Проверьте GoCPG и DuckDB
Время ожидания API Увеличьте timeout в настройках

Полная документация: Руководство CLI