Files
pi-kit/skills/repo-map/SKILL.md
T
Aleksey Shakhmatov c068dfae0c 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)
2026-08-06 11:22:53 +03:00

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. Определи владельца по неймспейсу/группе репозитория.