type: standard
aspect: typology
title: "Типология компонентов платформы"
version: 1.0.0
date: 2026-03-30
status: active
owner: architect
source: naming-workspace.md v3.2.0 (extracted)
Стандарт описывает типы компонентов платформы: что существует, как классифицируется, как обозначается.
Не описывает:
- Как называть компоненты → naming-platform.md
- Как устроена папочная структура → structure-workspace.md
INSTANCE → COMPONENT → SERVICE
| Уровень | Термин | Формат | Пример |
|---|---|---|---|
| Физический сервер / VM | Instance | name |
papa, worker, dev-pro |
| Логическая единица | Component | @name.type |
@papa.gateway, @md-viewer.service |
| Процесс внутри компонента | Service | service-name |
wireguard, nginx, postgres |
@name — категория / классификатор (без точки)
projects/org/@biz-lideravto/
@templates/@org/
@templates/@mkt/ ← категория внутри категории — допустимо
@name.type — компонент платформы (с точкой)
infra/@md-viewer.service/
system/@projector.agent/
library/@utils.lib/
@name.qualifier.type — компонент с уточнением (квалификаторы слева)
@lider.drupal.web/ ← Drupal веб-приложение lider
@ozon.import.connector/ ← коннектор импорта Ozon
@admin.auth.service/ ← сервис авторизации admin
Правило: тип — крайний правый; квалификаторы добавляются левее типа.
Отличие .name/ от @name.type/:
- .queue/, .monitor/, .claude/ — встроены в workspace, не деплоятся отдельно
- @name.type/ — деплоится и управляется как независимая единица
Специальные префиксы папок — только два: . и @. Подчёркивания не используются.
| Type | Назначение | Пример |
|---|---|---|
.server |
Сервер / VPS | @dev-pro.server |
.pc |
Компьютер оператора | @kt-scraper.pc |
.gateway |
Сеть: VPN / DNS / proxy / nginx | @papa.gateway |
.storage |
Файлы, бэкапы, S3 | @beget-s3.storage |
.infra |
Инфраструктурный комплекс | @kt-station.infra |
| Type | Назначение | Пример |
|---|---|---|
.app |
Полноценное приложение (логика + UI) | @nocodb.app |
.ui |
Только веб-интерфейс | @admin.ui |
.web |
Сайт | @beget-panel.web |
.service |
Платформенный сервис / демон | @md-viewer.service |
.system |
Сложный комплекс сервисов | @bot-platform.system |
| Type | Назначение | Пример |
|---|---|---|
.agent |
AI-агент (Claude) | @projector.agent |
.model |
LLM | @ollama.model |
.db |
База данных | @postgres.db |
.cache |
Кэш, очереди | @redis.cache |
.data |
MDM, каталоги | @catalog.data |
.knowledge |
Wiki, RAG | @wiki.knowledge |
| Type | Назначение | Пример |
|---|---|---|
.connector |
Подключение к внешнему API | @openrouter.connector |
.adapter |
Адаптер формата / данных | @ozon.adapter |
.integration |
Бизнес-интеграция | @ozon-1c.integration |
.lib |
Библиотека, утилиты | @utils.lib |
.tool |
Утилита, CLI | @doctor.tool |
.registry |
Git, пакеты, образы | @gitea.registry |
.monitor |
Наблюдение, алерты | @prometheus.monitor |
Стандартные подпапки @name.type/:
@name.type/
├── CLAUDE.md ← навигатор (если есть нюансы)
├── index.yaml ← зависимости компонента
├── scripts/ ← скрипты
├── config/ ← конфиги
├── docs/ ← документация
└── src/ ← исходный код (если есть)
Структура компонента-агента:
system/@projector.agent/
├── AI.md ← определение агента: роль, правила, протоколы
├── CLAUDE.md ← навигатор папки (короткий)
└── index.yaml ← зависимости
Instance: mama ← закрыт, источник истины
└── @mama.registry
Instance: papa ← единственный публичный вход
└── @papa.gateway
Instance: projector ← управление проектами
├── @projector.agent
└── @scheduler.service
Instance: worker ← production окружение
├── @app.service
├── @postgres.db
└── @redis.cache
Instance: llm ← языковые модели
└── @ollama.model
Instance: backup ← резервное хранилище
└── @backup.storage
Instance: data ← MDM / каталоги
└── @catalog.data
Instance: knowledge ← база знаний / wiki
└── @wiki.knowledge
Версия: 1.0.0
Статус: active
Владелец: architect
Источник: naming-workspace.md v3.2.0