fix(review): address review findings (guardrails, prompts, tests, docs)

- permission-gate: block refs/tags/v* pushes, rm -r -f separated flags,
  git reset --hard, git clean (verified against actual bypasses)
- prompts: /bugfix /feature /review no longer hardcode go-standards —
  reference profile-gated <lang>-standards instead
- company-context: drop hardcoded Go stack, note TRACKER_URL priority,
  warn on context truncation instead of silently dropping rules
- repo-map/docs-map: graceful degradation when config values are TODO
- /kit-doctor: warn on unfilled config fields (repoMap/trackerUrl/docsUrl)
- audit: retry POSTs to endpoint (3 attempts, backoff), still best-effort
- install.sh: remove TODO course URL from cheat sheet
- tests: expand guardrails (43 node checks), add shell tests for create-mr.sh
  (scp/https origin parse, GITLAB_HOST override, protected branch refusal),
  cover company-context lib (normalize/fetch/truncation) and mcp-bridge
- commit package-lock.json for reproducible installs
- document npm test Node >= 22.6 requirement (type stripping)
This commit is contained in:
Aleksey Shakhmatov
2026-08-06 11:22:53 +03:00
parent 1df4ea1b72
commit c068dfae0c
21 changed files with 4970 additions and 131 deletions
+6
View File
@@ -27,6 +27,12 @@ description: Используй, когда нужно найти или нап
1. Начни с портала документации (адрес — из корпоративного контекста сессии).
2. `<!-- TODO: описать, где встроенный поиск, теги/лейблы, как называть страницы -->`
### Если разделы ещё не заполнены (TODO)
Пока в скилле и конфиге стоят TODO/пустые значения — **не выдумывай структуру документации**.
Скажи пользователю, что карта документации не заполнена, и спроси, где искать или куда
писать; можно предложить уточнить у владельца документации.
## Куда писать новое
<!-- TODO: заполнить -->
+10
View File
@@ -15,6 +15,16 @@ description: Используй, когда нужно сориентирова
Адрес git-хоста также берётся из корпоративного контекста сессии.
### Если карта ещё не заполнена (TODO)
Пока в `repoMap` стоит TODO/пусто — **не выдумывай расположение кода**. Вместо этого:
1. Скажи пользователю прямо, что карта репозиториев не заполнена (можно предложить команду
`/kit-config` для проверки действующего значения).
2. Определи репозиторий по факту: откуда запущена сессия (`git remote origin`), упоминания
в тикете, поиск по git-хосту из корпоративного контекста.
3. Если найти не удалось — спроси пользователя, не догадывайся.
## Соглашения
<!-- TODO: заполнить реальными значениями компании -->