Это руководство объясняет работу через командную строку простым языком.
CLI нужен, когда вам требуется:
- импортировать или обновлять проекты;
- запускать сценарии из скриптов;
- встраивать проверки в
CI; - работать напрямую, без плагина OpenCode.
Для чего нужен CLI¶
Для большинства людей CLI больше не является главным ежедневным интерфейсом.
Эту роль теперь выполняет OpenCode.
CLI лучше всего подходит для четырёх задач:
- подготовить проект;
- проверить состояние системы;
- запустить проверку или отчёт;
- автоматизировать повторяемую работу.
Три вещи, которые нужны чаще всего¶
1. Импортировать проект¶
codegraph import --path /path/to/repo
Используйте это, когда впервые добавляете репозиторий в CodeGraph.
Что произойдёт:
GoCPGпостроит граф кода;OpenVikingподготовит память проекта;- проект станет доступен для API и плагина.
2. Посмотреть список проектов¶
codegraph projects list
Используйте это, чтобы убедиться, что проект есть в системе и готов к работе.
3. Запустить API¶
python -m src.api.cli run
Используйте это, когда серверная часть нужна для OpenCode, MCP или другого инструмента.
Типовые ежедневные задачи через CLI¶
Проверить изменения из CLI¶
python -m src.cli review --base-ref HEAD~3
Подходит, если нужен результат ревью без входа в плагин.
Запустить проектную проверку¶
python -m src.cli audit --db data/projects/codegraph.duckdb --language ru --format json
Подходит, если нужен широкий проход по качеству, рискам или соответствию.
Обновить состояние проекта¶
codegraph import --path /path/to/repo
Тот же путь импорта можно использовать повторно, когда репозиторий заметно изменился и нужен новый проход обновления.
Управлять сервисными учётными записями¶
python -m src.cli auth service-account create --name ci-bot
python -m src.cli auth service-account list
python -m src.cli auth service-account inspect --service-account-id sa_123
python -m src.cli auth service-account rotate --service-account-id sa_123
python -m src.cli auth service-account revoke --service-account-id sa_123 --credential-id cred_456
python -m src.cli auth service-account deactivate --service-account-id sa_123
Эти команды нужны, когда автоматизации требуется отдельная машинная учётная запись и вы хотите управлять её жизненным циклом прямо из CLI.
Проверять снимки и правила управления¶
python -m src.cli dashboard snapshot show --snapshot-id snap_123
python -m src.cli dashboard snapshot policy
Команда dashboard snapshot show нужна для просмотра конкретного сохранённого базового состояния, а dashboard snapshot policy помогает быстро проверить действующие правила управления перед сравнением или экспортом.
Как CLI вписывается в новую архитектуру¶
Даже при работе через CLI используется та же общая модель:
GoCPGдаёт живой граф кода;OpenVikingдаёт память проекта;PostgreSQLхранит правила владения, передачи и доступа.
Это значит, что результаты CLI влияют на те же проекты, сессии и память, которыми потом пользуется OpenCode.
Когда лучше брать CLI, а когда OpenCode¶
| Используйте CLI, если… | Используйте OpenCode, если… |
|---|---|
| нужны повторяемые скрипты | нужна ежедневная интерактивная работа |
| нужно импортировать или обновить репозиторий | нужно быстро понять код или проверить изменения |
нужна проверка серверной части в CI |
нужны команды вроде /onboard или /review |
| нужен прямой эксплуатационный контроль | нужен самый короткий путь к ответу |
Короткий список команд¶
# Импорт репозитория
codegraph import --path /path/to/repo
# Список проектов
codegraph projects list
# Запуск API
python -m src.api.cli run
# Проверка изменений
python -m src.cli review --base-ref HEAD~3
# Полный аудит
python -m src.cli audit --db data/projects/codegraph.duckdb --language ru --format json
# Жизненный цикл сервисной учётной записи
python -m src.cli auth service-account create --name ci-bot
python -m src.cli auth service-account list
python -m src.cli auth service-account inspect --service-account-id sa_123
python -m src.cli auth service-account rotate --service-account-id sa_123
python -m src.cli auth service-account revoke --service-account-id sa_123 --credential-id cred_456
python -m src.cli auth service-account deactivate --service-account-id sa_123
# Просмотр снимков и правил
python -m src.cli dashboard snapshot show --snapshot-id snap_123
python -m src.cli dashboard snapshot policy
Если что-то сломалось¶
Сначала проверьте:
- импортирован ли проект;
- запущен ли API;
- доступен ли
OpenViking; - доступен ли
PostgreSQL; - доступен ли
GoCPG.
Потом откройте: Решение проблем