Skip to content

RubaXa/gennady

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

227 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Gennadyᡇᡉᡗᡃ πŸ—―οΈ

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"

🧭 ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ CLI

πŸ“ commit

ГСнСрация 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 с сгСнСрированным тСкстом

🐱 cat

Π’Ρ‹Π²ΠΎΠ΄ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² 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 для ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ сбора Ρ„Π°ΠΉΠ»ΠΎΠ²

πŸ” review

AI-Ρ€Π΅Π²ΡŒΡŽ staged ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

npx gennady review
npx gennady review --branch=develop

ΠžΠΏΡ†ΠΈΠΈ:

  • --branch, -b: target branch для diff (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ origin/main)

βœ… review-verify

Π‘ΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚ 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-issues

Как review-verify, Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ XML-Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ issues.

npx gennady review-issues
npx gennady review-issues --ref=group/project!123

ΠžΠΏΡ†ΠΈΠΈ: Ρ‚Π΅ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ Ρƒ review-verify.


🧠 resolve-conflicts

Π‘ΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚ 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.


πŸ’¬ vcs-reply

ΠŸΠΎΡΡ‚ΠΈΠ½Π³ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π² 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>" }]

🧹 lint

Валидация 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 (повторяСмый)

πŸ—―οΈ alt-opinion

ΠœΡƒΠ»ΡŒΡ‚ΠΈ-ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Π΅ мнСния с ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ синтСзом.

# МнСниС Π΄Π²ΡƒΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ с синтСзом
npx gennady alt-opinion \
  --model="llmproxy/kimi-k2.6" \
  --model="llmproxy/glm-5.1" \
  --synthModel="llmproxy/deepseek-v4-pro" \
  --file="./spec.md"

# Π§Π΅Ρ€Π΅Π· stdin
cat spec.md | npx gennady alt-opinion \
  --model="llmproxy/gpt-4o" \
  --model="openrouter/claude-sonnet"

ΠžΠΏΡ†ΠΈΠΈ:

  • --model: дСскриптор ΠΌΠΎΠ΄Π΅Π»ΠΈ provider/model[::prompt.md] (повторяСмый)
  • --synthModel: модСль-синтСзатор
  • --file: ΠΏΡƒΡ‚ΡŒ ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ
  • --modelPrompt: ΠΏΡ€ΠΎΠΌΠΏΡ‚ для всСх ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
  • --synthPrompt: ΠΏΡ€ΠΎΠΌΠΏΡ‚ для синтСзатора
  • --strict: exit 1 ΠΏΡ€ΠΈ ошибкС любой ΠΌΠΎΠ΄Π΅Π»ΠΈ

πŸ”„ sync

Бинхронизация ai/directives/ ΠΈΠ· npm-ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

npx gennady sync
npx gennady sync --dry-run
npx gennady sync ts-patterns typescript --dry-run

ΠžΠΏΡ†ΠΈΠΈ:

  • --dry-run: прСдпросмотр Π±Π΅Π· записи

πŸ”„ sync-skills

Бинхронизация SDD-Π½Π°Π²Ρ‹ΠΊΠΎΠ² ΠΈΠ· ai/skills/ Π² .claude/skills/ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

npx gennady sync-skills
npx gennady sync-skills --dry-run
npx gennady sync-skills sdd-execute

ΠžΠΏΡ†ΠΈΠΈ:

  • --dry-run: прСдпросмотр Π±Π΅Π· записи

🧭 orient

Навигация ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ: 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: настройки Π²Ρ‹Π²ΠΎΠ΄Π°

πŸ“‹ agents-rules

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠΎ orient для AI-Π°Π³Π΅Π½Ρ‚ΠΎΠ².

npx gennady agents-rules

πŸ–₯️ remote-console

Π—Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ консоли Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ 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.


πŸ› οΈ Π’ΠΈΠΏΠΎΠ²Ρ‹Π΅ сцСнарии

1. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚

npx gennady commit
npx gennady commit --mode=oneline --apply --task=TSK-42

2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ качСство ΠΊΠΎΠ΄Π°

npx gennady lint ./src
npx gennady lint --staged --autofix

3. Навигация ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ

npx gennady orient                    # ΠΊΠ°Ρ€Ρ‚Π°
npx gennady orient --task=TSK-03      # Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π΄Π°Ρ‡ΠΈ
npx gennady orient --graph            # Π³Ρ€Π°Ρ„ зависимостСй
npx gennady agents-rules              # инструкция для AGENTS.md

4. ВСрификация MR

export GITLAB_PERSONAL_TOKEN="<token>"
npx gennady review-verify --ref=group/project!123

5. AI-Ρ€Π΅Π²ΡŒΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

npx gennady review
npx gennady review --branch=develop

6. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ merge-ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²

git merge feature/some-branch
# Ссли Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹
npx gennady resolve-conflicts

7. Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ для AI

npx gennady cat "./src/**/*.ts" --output=md --plain | pbcopy

8. Бинхронизация Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² ΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ²

npx gennady sync
npx gennady sync-skills

9. ΠœΡƒΠ»ΡŒΡ‚ΠΈ-ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·

npx gennady alt-opinion \
  --model="llmproxy/kimi-k2.6" \
  --model="llmproxy/glm-5.1" \
  --synthModel="llmproxy/deepseek-v4-pro" \
  --file="./spec.md"

10. Π—Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ консоли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

npx gennady remote-console

About

πŸ€– Gennadyᡇᡉᡗᡃ πŸ—―οΈ β€” GENeral Extensible Neural Network Adaptive Data Yntelligence.

Topics

Resources

Stars

Watchers

Forks

Contributors