# Опубликовать пакет в центральном реестре {#root}

@status:doc/work @audience:user,author

[p01] Любой проект VibeVM может ставить пакеты из двух открытых мест: из организации `vibespecs` на GitHub и из одноимённой организации на GitVerse. Добавить туда пакет могут только их администраторы, поэтому, чтобы опубликовать свой, попросите их. Эта страница показывает, как попросить и что может помешать.

[p02]
```prompt
Проверь, что пакет org.acme/review-notes из дерева этого проекта, слот vibevm/vibepacks/org.acme/review-notes/v0.1.0, готов к центральному реестру, затем напиши сообщение с просьбой добавить его для темы Add package в чате VibeVM. Площадка — GitHub, мой логин там — octocat. Ничего не отправляй.
```

- needs: навык vibevm, установленный у вашего агента; сеть не нужна

outcome: агент называет, чего пакету ещё не хватает, например пустого описания, и показывает короткое сообщение с группой и именем пакета, площадкой и вашим логином — его остаётся вставить в Telegram

- assert: `vibe validate`

## Что происходит {#what-happens}

[p03] Агент читает [манифест](../glossary/index.xml#manifest) пакета и проверяет то, что увидит незнакомец, который будет его ставить: группу и имя, версию, лицензию и описание в одну строку. Он запускает `vibe validate`, чтобы убедиться, что проект вокруг пакета исправен. Затем пишет сообщение из трёх строк: группа и имя пакета, площадка и ваш логин на ней. Агент ничего не отправляет. Сообщение вставляете вы сами, потому что просьба ваша, как и аккаунт.

## Руками {#by-hand}

[p04] 1. Откройте тему Add package в чате VibeVM в Telegram: [t.me/vibevm_chat/9](https://t.me/vibevm_chat/9).

[p05] 2. Назовите пакет: его группу и имя, например `org.acme/review-notes`.

[p06] 3. Назовите площадку, где пакет должен жить: GitHub или GitVerse. Если не назовёте никакую, это будет GitHub.

[p07] 4. Укажите свой логин на этой площадке как логин мейнтейнера пакета.

[p08] Когда у этого аккаунта появится право писать в репозиторий пакета, версии вы публикуете сами, как показывает страница [Опубликовать пакет](publish-a-package.xml).

## Центральный реестр {#the-central-registry}

[p09] [Реестр](../glossary/index.xml#registry) в VibeVM — это организация на хостинге, где каждый пакет — отдельный git-репозиторий. Центральный реестр — пара организаций, которым каждая машина доверяет по умолчанию: `https://github.com/vibespecs` и `https://gitverse.ru/vibespecs`. При первом запуске vibe записывает обе в список реестров, который ведёт для всей машины, поэтому любой проект ставит из них без настройки.

> [p10] **The default trust set is exactly two roots** — `https://github.com/vibespecs` and `https://gitverse.ru/vibespecs` — trusted by default as the registries `vibe init` writes. Every other registry is trusted **only** by the user's own act of adding it to their configuration (owner ruling, 2026-08-13).
>
> <spec://org.vibevm.core/vibevm/modules/vibe-registry/PROP-008#DEFAULT-TRUSTED-REGISTRIES>

## Имена, которые могут не принять {#names}

[p11] Имена пакета — его группа и собственное имя — могут быть объектом чьих-то авторских прав или по другой причине быть запрещены к публикации. Такой пакет могут не принять или удалить уже после публикации.

## Что может администрация {#administration}

[p12] Администрация центрального реестра оставляет за собой право не принимать любой пакет, удалять любой пакет из реестра и совершать с любым пакетом другие администраторские действия. Эти действия не должны противоречить законодательству. Какое законодательство применяется, рассказывает страница [Применимое право](../legal/applicable-law.xml).

## Особые случаи и правила {#edge-cases}

[p13] Если нужно место, которым распоряжаетесь вы, или закрытое, публикуйте в собственный реестр, как показывает страница [Опубликовать пакет](publish-a-package.xml). Там никому не нужно одобрять ваш пакет.

