GENeral Extensible Neural Network Adaptive Data Yntelligence.
CLI-инструмент для работы с git-изменениями, merge-конфликтами и GitLab review-пайплайном.
# Справка
npx gennady help
# По умолчанию показывается справка
npx gennady
# Commit запускается только явно
npx gennady commit- Node.js
22+ - Git-репозиторий (для команд с git-контекстом)
- Для GitLab-команд:
GITLAB_PERSONAL_TOKEN
# Обязательно для review-verify / review-issues / vcs-reply (live)
export GITLAB_PERSONAL_TOKEN="<token>"
# Опционально (default: /api/v4)
export GITLAB_API_PATH="/api/v4"Swift поддержка остаётся UNVERIFIED: deterministic unit tests проверяют диагностику, а не нативную работу Xcode/Tuist. Exact E-18/UV-26 deferred post-main-cutover и не блокирует release; это не отменяет FAIL/ENV_FAIL/BLOCKED у выбранных пользовательских Swift gates.
npx gennady verify --plan --phase unit --json
npx gennady verify --phase unit--plan не выполняет gates; выбранные prerequisites могут проверяться ограниченными version
probes под WorkspaceGuard и не являются runtime evidence. SwiftPM не требует Xcode/Tuist.
Для реально выбранного Xcode build/test нужны Xcode >=16.2 и project-owned identity:
stack:
swift:
xcode:
workspace: App.xcworkspace # либо project: App.xcodeproj, но не оба
scheme: App
destination: platform=iOS Simulator,name=ProjectOwnedSimulator
testPlan: App # обязателен только для выбранных test-bearing Xcode actionsTuist >=4.202.0 проверяется только при его фактическом использовании. Formatter/linter нужны
только выбранным steps: установите project-pinned версию и выставьте PATH; Xcode выбирается через
xcode-select/DEVELOPER_DIR. Missing/broken prerequisites дают actionable BLOCKED, обычная
ошибка компиляции/теста — FAIL; ENV_FAIL требует конкретного признака проблемы окружения.
Генерация commit message из staged-изменений.
npx gennady commit
npx gennady commit --mode=oneline
npx gennady commit --branch=develop
npx gennady commit --task=MAILCORE-123
npx gennady commit --applyОпции:
--mode,-m:auto | oneline | detailed--oneline,--short,--one,-o: форсировать one-line--branch,-b: target branch для diff--task,-t: добавить task id в subject--model: модель AI backend--api,--apiUrl: URL AI API--apply: сразу выполнитьgit commitс сгенерированным текстом
Вывод файлов в XML или Markdown.
npx gennady cat ./src
npx gennady cat "./src/**/*.ts" --output=md
npx gennady cat ./src --plain
npx gennady cat --url="https://gitlab.com/.../-/merge_requests/123"Опции:
--output,-o:xml(по умолчанию) илиmd--plain: без ANSI-цветов--exclude,-e: исключить паттерны--ext: фильтр по расширениям--url: MR/PR URL для удалённого сбора файлов
AI-ревью staged изменений.
npx gennady review
npx gennady review --branch=developОпции:
--branch,-b: target branch для diff (по умолчанию origin/main)
Собирает prompt для верификации discussion-тредов Merge Request (GitLab).
# Автоопределение MR по текущей ветке
npx gennady review-verify
# По URL
npx gennady review-verify "https://gitlab.example.com/group/project/-/merge_requests/123"
npx gennady review-verify --url="https://gitlab.example.com/group/project/-/merge_requests/123"
# По ref
npx gennady review-verify group/project!123
npx gennady review-verify --ref=group/project!123
# Явно project + iid
npx gennady review-verify --project=group/project --iid=123Опции:
--branch,-b: branch-режим--url: URL merge request--ref:<project>!<iid>--project: путь GitLab-проекта--iid: IID merge request--all: включать resolved discussions
Примечание: поддерживается GitLab-host (*gitlab* в host).
Как review-verify, но возвращает только XML-артефакт issues.
npx gennady review-issues
npx gennady review-issues --ref=group/project!123Опции: те же, что у review-verify.
Собирает prompt для AI-разрешения merge-конфликтов с ветвлением по confidence (auto-resolve или диалог с оператором).
# Нужно активное merge-состояние и конфликтующие файлы
npx gennady resolve-conflicts
# Опциональные override-метки веток
npx gennady resolve-conflicts --branch=main --incoming=feature/refactor-xОпции:
--branch,-b: override для current branch label--incoming: override для incoming branch label
Важно: команда не делает git commit, она печатает prompt.
Постинг ответов в GitLab MR discussions из JSON-массива через stdin.
echo '[{"discussionId":"123","body":"✅ Fixed"}]' | \
npx gennady vcs-reply --project=group/project --iid=123
# Проверка без отправки
echo '[{"discussionId":"123","body":"✅ Fixed"}]' | \
npx gennady vcs-reply --project=group/project --iid=123 --dry-runОпции:
--project: путь GitLab-проекта--iid: IID merge request--dry-run,--dry: не отправлять, только показать dry-run вывод
Формат stdin:
[{ "discussionId": "<discussion-id>", "body": "<reply markdown>" }]Валидация TypeScript-файлов: file-header, anchors, DbC-контракты, invariant-count.
npx gennady lint ./src
npx gennady lint --staged
npx gennady lint ./src --autofix --verboseОпции:
--autofix: автоисправление DbC-контрактов--staged: только staged и untracked.ts(взаимоисключающий с путями)--verbose,-v: debug-логи--max-invariants: макс. инвариантов на сущность (по умолчанию 3)--exclude: исключить файлы по glob (повторяемый)
Синхронизация ai/directives/ из npm-пакета в текущий проект.
Sync предназначен для SDD v2. Если в проекте ещё есть канонический маркер v1 tasks/, команда
останавливается до записи файлов. Сначала npx gennady sdd-migrate bootstrap . безопасно заменяет
только доказанно package-owned V1 tooling и ставит свежий runtime миграции; полный sync выполняется
после последнего move, когда tasks/ исчез. См.
guides/v1-to-v2-migration.md.
npx gennady sync
npx gennady sync --dry-run
npx gennady sync ts-patterns typescript --dry-runОпции:
--dry-run: предпросмотр без записи
Синхронизация SDD-навыков из ai/skills/ в .claude/skills/ проекта.
На SDD v1 consumer команда также отказывается до любых записей. Наличие
.claude/skills/.gennady-synced помогает диагностике владения, но не заменяет миграцию проекта.
npx gennady sync-skills
npx gennady sync-skills --dry-run
npx gennady sync-skills sdd-executeОпции:
--dry-run: предпросмотр без записи--with-directives: сначала также синхронизироватьai/directives/(по умолчанию выключено)
Навигация по проекту: file-header разметка, DBC-контракты, граф зависимостей.
npx gennady orient # карта проекта
npx gennady orient --task=TSK-03 # файлы задачи
npx gennady orient --consumer=DbcTsLinter # кто потребляет модуль
npx gennady orient --file=path/to/file.ts # детальный просмотр
npx gennady orient --graph # граф зависимостей
npx gennady orient --specs # обзор спекОпции:
--file,--task,--consumer,--entity: поиск по атрибутам--graph,--specs: обзорные режимы--fuzzy,--detail,--depth,--max-results: настройки вывода
Выводит инструкцию по orient для AI-агентов.
npx gennady agents-rulesЗеркалирование браузерной консоли в локальный stdout.
npx gennady remote-console
npx gennady remote-console --port=8080
npx gennady remote-console --url="https://example.com"Опции:
--port,-p: порт (по умолчанию 43001)--host: хост (по умолчанию localhost)--url: URL страницы для открытия с активацией
Подробнее: cli/cmd/README.md.
npx gennady commit
npx gennady commit --mode=oneline --apply --task=TSK-42npx gennady lint ./src
npx gennady lint --staged --autofixnpx gennady orient # карта
npx gennady orient --task=TSK-03 # файлы задачи
npx gennady orient --graph # граф зависимостей
npx gennady agents-rules # инструкция для AGENTS.mdexport GITLAB_PERSONAL_TOKEN="<token>"
npx gennady review-verify --ref=group/project!123npx gennady review
npx gennady review --branch=developgit merge feature/some-branch
# если есть конфликты
npx gennady resolve-conflictsnpx gennady cat "./src/**/*.ts" --output=md --plain | pbcopynpx gennady sync
npx gennady sync-skillsnpx gennady remote-console