Files
pi-kit/RELEASING.md
Aleksey Shakhmatov 3f987cecc5 feat(release): install channels (stable/beta) + RELEASING/CHANGELOG
- install.sh installs a moving channel ref: git:...@stable by default, PI_KIT_CHANNEL=beta|vX.Y.Z to override; pi update follows the channel
- cheat sheet shows channel + new commands (/kit-doctor, /kit-help)
- RELEASING.md: channel/tag release + rollback process; CHANGELOG.md (Keep a Changelog)
- supersedes earlier 'no ref = latest' for controlled rollout

Verified: install.sh syntax + channel resolution (stable default, beta/tag override).
2026-07-16 13:50:27 +03:00

2.4 KiB
Raw Blame History

Релизы и каналы @mvideo/pi-kit

Пакет исполняет код на машинах всех разработчиков, поэтому раскатка контролируется каналами и semver-тегами, а не «всегда latest».

Каналы

  • stable — ветка, на которую сотрудники установлены по умолчанию (git:git.codelab.vc/ai/pi-kit@stable). Указывает на проверенный релиз.
  • beta — ветка для обкатки перед stable (по желанию). Установка: PI_KIT_CHANNEL=beta.
  • Можно закрепиться на конкретный тег: PI_KIT_CHANNEL=v1.2.3.

pi update --extensions тянет текущее состояние канала, на который установлен пользователь.

Как выпустить релиз

  1. Собрать изменения в main через MR с ревью (правило репозитория).
  2. Прогнать проверки: npm test (guardrails), npm run typecheck (при наличии peer-типов), pi install ./ + /kit-doctor.
  3. Обновить версию в package.json и запись в CHANGELOG.md (раздел из Unreleased).
  4. Поставить тег на нужный коммит main:
    git tag -a vX.Y.Z -m "vX.Y.Z"
    git push origin vX.Y.Z
    
  5. Перевести канал на этот тег (fast-forward ветки канала):
    git branch -f beta   vX.Y.Z   # сначала на beta для обкатки
    git push origin beta
    # после обкатки:
    git branch -f stable vX.Y.Z
    git push origin stable
    
  6. Сотрудники получат обновление обычным pi update --extensions.

Semver

  • patch (vX.Y.Z+1) — фиксы guardrails/скилов/шаблонов без изменения поведения команд.
  • minor — новые скилы/команды/расширения, обратно совместимо.
  • major — несовместимые изменения (удаление команд, смена формата config/company.json).

Откат

Перевести stable на предыдущий тег и запушить:

git branch -f stable vX.Y.(Z-1) && git push origin stable