architect/patterns/bootstrap-component.md

type: pattern
layer: arch
object: component
aspect: bootstrap
title: "Bootstrap нового компонента"
status: active
version: 1.0.0
date: 2026-04-14
parent: ../standards/arch-component-structure.md
deps:
- ../standards/arch-workspace-structure.md
- ../standards/arch-service-files-trio.md
- ../standards/arch-class-system.md


Bootstrap нового компонента

Рецепт создания нового компонента платформы с нуля по стандарту.


ЗАЧЕМ

Без паттерна каждый новый компонент создаётся по-разному: где-то нет AI.md, где-то неверный class:, где-то INDEX.md отсутствует. Паттерн гарантирует единообразие.


КОНТЕКСТ

Применять когда:
- Нужен новый @{имя}.{тип}/ в system/, coder/, infra/
- Нужна новая папка верхнего уровня (projector/, architect/)
- Создаётся новый IT-стек в coder/@{стек}.coder/


ШАГИ

1. Определить место и тип

system/    @{имя}.agent | @{имя}.service | @{имя}.app
coder/     @{имя}.coder | library/{уровень}/
infra/     @{имя}.server | @{имя}.storage | @{имя}.connector

Проверить: не существует ли уже такой компонент → ls system/ | grep имя

2. Создать папку

mkdir system/@{имя}.service/

3. Создать ТРОЙКУ

AI.md (мастер — для всех AI):

---
type: context
object: {имя}
aspect: agent
class: {AgentComponent|ServiceComponent|...}
layer: system
status: active
date: YYYY-MM-DD
---
# @{имя}.service — Агент
## Роль
## Что делает
## Связи

CLAUDE.md = AI.md + Claude Code специфика (навигация, команды)

README.md = AI.md + объяснения для людей

4. Создать index.yaml

name: "@{имя}.service"
class: ServiceComponent
status: active
version: 1.0.0
date: YYYY-MM-DD

5. Зарегистрировать

6. Проверить

ls system/@{имя}.service/
# Должно быть: AI.md, CLAUDE.md, README.md, index.yaml

ПРИМЕР

# Создаём @vault.service/
mkdir system/@vault.service/
# Пишем AI.md — роль: хранение секретов (HashiCorp Vault)
# Пишем CLAUDE.md — как запустить, как добавить секрет
# Добавляем в system/INDEX.md

ИСКЛЮЧЕНИЯ


СВЯЗАННЫЕ ДОКУМЕНТЫ