- 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)
43 lines
3.2 KiB
Markdown
43 lines
3.2 KiB
Markdown
---
|
|
name: repo-map
|
|
description: Используй, когда нужно сориентироваться в наших репозиториях — найти нужный сервис, понять соглашения по именованию репозиториев, где лежат CI-конфиги, куда добавлять новый сервис. Применяй при вопросах «где код», «в каком репозитории», «как найти сервис», а также в начале работы по /feature и /bugfix.
|
|
---
|
|
|
|
# Карта репозиториев
|
|
|
|
Скилл помогает понять, где что лежит, и быстро найти нужный сервис.
|
|
|
|
## Актуальная карта
|
|
|
|
Конкретная карта репозиториев — в поле `repoMap` корпоративного конфига. Её текущее значение
|
|
инжектится в **корпоративный контекст сессии** расширением `company-context` — смотри туда,
|
|
здесь оно намеренно не дублируется (единый источник правды — `config/company.json`).
|
|
|
|
Адрес git-хоста также берётся из корпоративного контекста сессии.
|
|
|
|
### Если карта ещё не заполнена (TODO)
|
|
|
|
Пока в `repoMap` стоит TODO/пусто — **не выдумывай расположение кода**. Вместо этого:
|
|
|
|
1. Скажи пользователю прямо, что карта репозиториев не заполнена (можно предложить команду
|
|
`/kit-config` для проверки действующего значения).
|
|
2. Определи репозиторий по факту: откуда запущена сессия (`git remote origin`), упоминания
|
|
в тикете, поиск по git-хосту из корпоративного контекста.
|
|
3. Если найти не удалось — спроси пользователя, не догадывайся.
|
|
|
|
## Соглашения
|
|
|
|
<!-- TODO: заполнить реальными значениями компании -->
|
|
|
|
- **Именование репозиториев:** `<!-- TODO: напр. <домен>-<сервис>, service-*, lib-* -->`
|
|
- **Группы/неймспейсы в git:** `<!-- TODO: какие группы за что отвечают -->`
|
|
- **Где CI-конфиги:** `<!-- TODO: напр. .gitlab-ci.yml в корне, шаблоны в группе ci/ -->`
|
|
- **Общие библиотеки:** `<!-- TODO: где переиспользуемый код -->`
|
|
- **Как заводится новый сервис:** `<!-- TODO: шаблон/cookiecutter, чек-лист -->`
|
|
|
|
## Как искать сервис
|
|
|
|
1. Загляни в `repoMap` из корпоративного контекста сессии — там верхнеуровневая карта.
|
|
2. Если нужен поиск по коду — используй поиск по git-хосту (адрес из корп. контекста).
|
|
3. Определи владельца по неймспейсу/группе репозитория.
|