# Команды компонента
[Home](/ru/ai)
[Catalog](/ru/ai/catalog)
Группа команд component: обнаружение, паспорт, источник и публикация.
## Pages
[Главная](/ru/ai/docs)
### Быстрый старт
[Быстрый старт](/ru/ai/docs/quickstart)
[Для человека](/ru/ai/docs/quickstart/human)
[Для ИИ-агента](/ru/ai/docs/quickstart/agent)
[Харнессы](/ru/ai/docs/harnesses)
[Понятия](/ru/ai/docs/concepts)
[Каталог](/ru/ai/docs/catalog)
### CLI
[CLI](/ru/ai/docs/cli)
[Карта команд](/ru/ai/docs/cli/commands)
[Наблюдение](/ru/ai/docs/cli/observe)
[Конфигурация](/ru/ai/docs/cli/config)
[Телеметрия](/ru/ai/docs/cli/telemetry)
[Устройство](/ru/ai/docs/cli/device)
[Паспорта](/ru/ai/docs/cli/passport)
[Вход](/ru/ai/docs/cli/auth)
[Согласие](/ru/ai/docs/cli/consent)
[Проект](/ru/ai/docs/cli/project)
[Toolchain](/ru/ai/docs/cli/toolchain)
[Harness](/ru/ai/docs/cli/harness)
[Agent Skill CLI](/ru/ai/docs/cli/skill)
[Реестр](/ru/ai/docs/cli/registry)
#### Компонент
[Обзор](/ru/ai/docs/cli/component)
[Обнаружение](/ru/ai/docs/cli/component-discover)
[Паспорт](/ru/ai/docs/cli/component-passport)
[Источник](/ru/ai/docs/cli/component-source)
[Публикация](/ru/ai/docs/cli/component-publish)
[Выбор](/ru/ai/docs/cli/select)
[Установка](/ru/ai/docs/cli/install)
[Target](/ru/ai/docs/cli/target)
[Setup](/ru/ai/docs/cli/setup)
[Provider](/ru/ai/docs/cli/provider)
[Синхронизация](/ru/ai/docs/cli/sync)
[Доступ](/ru/ai/docs/cli/grant)
[Жалобы](/ru/ai/docs/cli/report)
[Owner](/ru/ai/docs/cli/owner)
[Publication](/ru/ai/docs/cli/publication)
[Eval](/ru/ai/docs/cli/eval)
### Веб
[Веб](/ru/ai/docs/web)
[Главная](/ru/ai/docs/web/home)
[Каталог](/ru/ai/docs/web/catalog)
[Карточка компонента](/ru/ai/docs/web/catalog-component)
[Карточка сетапа](/ru/ai/docs/web/catalog-setup)
[Региональные сервисы](/ru/ai/docs/web/services)
[Издатели](/ru/ai/docs/web/publishers)
[Content](/ru/ai/docs/web/content)
[Эта документация](/ru/ai/docs/web/docs)
[Контакт](/ru/ai/docs/web/contact)
[Правовые документы](/ru/ai/docs/web/legal)
[Вход](/ru/ai/docs/web/login)
[Аккаунт](/ru/ai/docs/web/account)
[Профиль](/ru/ai/docs/web/profile)
[Устройства](/ru/ai/docs/web/devices)
[Объекты](/ru/ai/docs/web/objects)
[Доступ](/ru/ai/docs/web/access)
[Жалобы](/ru/ai/docs/web/reports)
[Лайки](/ru/ai/docs/web/likes)
[Онбординг](/ru/ai/docs/web/onboarding)
[Публикация](/ru/ai/docs/web/publications)
### Компоненты
[Компоненты](/ru/ai/docs/components)
[instruction](/ru/ai/docs/components/instruction)
[skill](/ru/ai/docs/components/skill)
[mcp](/ru/ai/docs/components/mcp)
[hook](/ru/ai/docs/components/hook)
[command](/ru/ai/docs/components/command)
[agent](/ru/ai/docs/components/agent)
[plugin](/ru/ai/docs/components/plugin)
[setting](/ru/ai/docs/components/setting)
[Сетапы](/ru/ai/docs/setups)
### Публикация
[Публикация](/ru/ai/docs/publishing)
[Авторство](/ru/ai/docs/publishing/authoring)
### Доверие и безопасность
[Обзор](/ru/ai/docs/trust-and-safety)
[Проверки безопасности](/ru/ai/docs/security-checks)
[Диагностика](/ru/ai/docs/troubleshooting)
[cli](/ru/ai/docs/components/cli)
## Content
# Команды компонента
Компонент — одна часть сетапа, одного из восьми kind. Группа `component` —
как эта установка находит нативные файлы, записывает локальный паспорт,
привязывает внешний источник и готовит версию к публикации.
Сайт показывает каталог. Он не обнаруживает файл на этой машине, не пишет
локальный паспорт и не извлекает embedded-член. Эти шаги остаются в CLI.
Выбор, сборка и установка — другие группы.
Повседневная регистрация — intent `author`. Повседневная публикация —
`publish`. Discover, passport, source и `component publish` ниже — expert
recovery.
```bash
ai-stp task start --intent author --idempotency-key author-session-01 --json
ai-stp task start --intent publish --idempotency-key publish-session-01 --json
```
## Дочерние страницы
| Страница | Что покрывает |
| --- | --- |
| [Обнаружение и adopt](component-discover.md) | нативное обнаружение, локальный поиск, scaffold, adopt, forget |
| [Паспорт компонента](component-passport.md) | show, suggest, update, validate, quality |
| [Источник компонента](component-source.md) | parse, resolve, search, архивные наблюдения GitHub |
| [Публикация компонента](component-publish.md) | promote, version, fork, skill validate |
Перед копированием мутирующей команды читайте дочернюю страницу. Этот обзор
называет каждый путь `component.*`. Он не заменяет happy path, поля успеха
и отказы на тех страницах.
## Что такое компонент
У компонента есть kind, точная версия `X.Y`, паспорт и источник. Закрытые
kind: `instruction`, `skill`, `mcp`, `hook`, `command`, `agent`, `plugin`,
`setting` и `cli`. `command` — именованный slash-вызов; `cli` — отдельный
исполняемый процесс. Память, правила, параметры и вспомогательные инструменты —
содержимое `instruction`, `skill` или `setting`. Это не отдельные kind.
Локальный черновик — не опубликованная версия. Adopt пути регистрирует его
здесь. Release номера `X.Y` замораживает текущий head. Публикация всё
равно требует серверный план и явное подтверждение. `author_verified` и
`component_verified` независимы: ни одно не является гарантией безопасности.
## Рабочий цикл
```text
discover / find / scaffold plan → apply
→ adopt
→ passport show → suggest → update → validate
→ source parse → resolve → evidence show
→ version release
→ component publish or publication plan
→ publication confirm
```
Пропускайте шаг, только если предыдущий конверт уже сделал его ненужным.
Механическую проверку не пропускайте. Не считайте `component find` поиском
по каталогу: это `registry search`. Не считайте `component publish` финальной
публичной записью: это `publication confirm` или `setup publish confirm`.
## Таблица команд
`--json` глобальный. Это не свойство одной команды. Всегда передавайте его.
`mutability` говорит, что команда делает. `confirmation` — каким токеном
подтверждается решение.
### Обнаружение и adopt
| Команда | Mutability | Confirmation | Когда |
| --- | --- | --- | --- |
| component discover | `read` | `none` | перечислить нативные компоненты в корнях harness и одном проекте |
| `ai-stp component find` | `read` | `none` | искать в локальном реестре; без модели, без сети |
| component scaffold plan | `plan` | `none` | показать точные файлы scaffold и digest |
| component scaffold apply | `apply` | `plan_digest` | создать ровно подтверждённый scaffold |
| `ai-stp component template render` | `read` | `none` | отрендерить portable-шаблон для одного harness |
| component adopt | `apply` | `none` | зарегистрировать один найденный путь в локальном реестре |
| `ai-stp component forget` | `apply` | `none` | пометить зарегистрированный компонент удалённым, историю сохранить |
### Паспорт
| Команда | Mutability | Confirmation | Когда |
| --- | --- | --- | --- |
| `ai-stp component passport show` | `read` | `none` | показать текущий локальный черновик паспорта |
| `ai-stp component passport suggest` | `read` | `none` | предложить факты манифеста, не записывая их |
| `ai-stp component passport update` | `apply` | `plan_digest` | добавить подтверждённый JSON-patch как новую ревизию |
| `ai-stp component passport validate` | `read` | `none` | назвать каждый структурный блокер публикации |
| `ai-stp component passport quality` | `read` | `none` | необязательные подсказки автору; trust не меняет |
### Источник
| Команда | Mutability | Confirmation | Когда |
| --- | --- | --- | --- |
| `ai-stp component source parse` | `read` | `none` | разобрать внешний источник как недоверенный intent |
| `ai-stp component source resolve` | `read` | `none` | привязать GitHub-intent к одному полному commit SHA |
| `ai-stp component source search` | `read` | `none` | искать имена в каталоге; остальные полосы — по флагу |
| `ai-stp component source evidence refresh` | `apply` | `none` | обновить официальные архивные наблюдения GitHub |
| `ai-stp component source evidence show` | `read` | `none` | показать последние локальные архивные наблюдения |
| `ai-stp component source evidence history` | `read` | `none` | ограниченная append-only история наблюдений |
### Публикация
| Команда | Mutability | Confirmation | Когда |
| --- | --- | --- | --- |
| component publish | `plan` | `none` | извлечь один embedded-член в обычный план публикации |
| `ai-stp component version list` | `read` | `none` | все записанные версии и следующий minor |
| `ai-stp component version release` | `apply` | `none` | дать текущему head неизменяемый `X.Y` |
| `ai-stp component fork` | `apply` | `none` | скопировать одну записанную версию под новой идентичностью |
| `ai-stp component skill validate` | `read` | `none` | проверить skill-пакет по Agent Skills Specification |
## Токены подтверждения
`plan_digest` не всегда пишется как `--expected-plan-digest`. Читайте
дескриптор. `component scaffold apply` берёт `--expected-plan-digest`.
`component passport update` берёт `--expected-revision` текущего head.
Ни одна из этих команд не берёт `--confirm`. Boolean рядом с точным digest
спрашивал бы одно решение дважды.
`component adopt`, `component forget`, `component version release` и
`component fork` — `apply` с `confirmation: none`. Назвать путь, id или
версию **и есть** решение. Не выдумывайте флаг `--confirm`.
`component publish` — это `plan`. Он не делает объект публичным.
Подтверждайте возвращённый план на [Publication](publication.md).
## Чего эта группа никогда не делает
- не пишет нативное состояние harness — это делает только public provider
через [Установку](install.md);
- не вызывает model API и не просит ключ модели;
- не кладёт секреты, тела `.env` и токены в паспорт;
- не считает `author_verified` доказательством безопасности версии;
- не восстанавливает target из backup — это `install plan --action rollback`;
- не выдаёт доступ к major-линии — это [Доступ](grant.md).
Согласие на непроверенных издателей живёт в [Согласии](consent.md), не здесь.
Поиск по каталогу — в [Реестре](registry.md). Сборка смешанного сетапа из
каталога, Git, пакета и path-источников — в [Командах сетапа](setup.md).
## Типичные отказы
| Что видно | Что это значит | Что делать |
| --- | --- | --- |
| `AI_STP_VALIDATION_ERROR` | обязательная опция отсутствует или неверна | прочитать дескриптор; добавить названный флаг |
| `AI_STP_NOT_FOUND` | id, путь или версия здесь нет | сначала discover или find; не угадывать id |
| `AI_STP_USER_DECISION_REQUIRED` | путь отвечает более чем одному harness или kind | передать `--harness` или `--kind`, как в дескрипторе |
| `AI_STP_PLAN_STALE` | байты scaffold или паспорта изменились | построить новый план, показать, подтвердить снова |
| `AI_STP_CONFLICT` | ожидаемая ревизия больше не head | `passport show`, затем новый patch |
| `AI_STP_AUTH_REQUIRED` | облачному шагу публикации нужна сессия | `task start --intent account --idempotency-key account-session-01 --json` |
| команды нет в machine help | этой установки её нет | остановиться; не подменять похожей командой |
Мутирующая команда без `--json` смешивает человеческий текст в stdout.
Добавьте `--json` и читайте один конверт.
## Связанные страницы
- [Обнаружение и adopt](component-discover.md)
- [Паспорт компонента](component-passport.md)
- [Источник компонента](component-source.md)
- [Публикация компонента](component-publish.md)
- [Карта команд](commands.md)
- [Компоненты](../components/index.md)
- [Публикация](../publishing/index.md)
- [Доверие и безопасность](../trust-and-safety/index.md)
- [Выбор](select.md)
- [Команды сетапа](setup.md)
- [Publication](publication.md)
## Флаги берутся из continuation argv
```bash
ai-stp task intents --json
```
Не дампьте `help --agent` как прелюдию. Флаги текущей задачи — в continuation `argv`.
Документация группирует команды, чтобы человек нашёл страницу. Если страница и CLI расходятся,
следуйте CLI.