type: standard
aspect: typology
title: "Стандарт: Сущность (Структура)"
version: 1.0.0
date: 2026-02-19
status: active
Стандарт: Сущность (Структура)
Версия: 1.0.0
Тип системы: Структура
Вопросов: 4
ОПРЕДЕЛЕНИЕ
Сущность — атомарный элемент системы, описывающий устройство без поведения.
ПОСЛЕДОВАТЕЛЬНОСТЬ ВОПРОСОВ
ЧТО? → КТО? → ГДЕ? → СКОЛЬКО?
│ │ │ │
Тип Владелец Хранение Размер
КАК, КОГДА — неприменимы (нет динамики).
ОБЯЗАТЕЛЬНЫЕ ПОЛЯ
| Вопрос |
Поле |
Описание |
| ЧТО? |
type |
Тип сущности |
| КТО? |
owner |
Кто управляет |
| ГДЕ? |
location |
Где хранится |
| СКОЛЬКО? |
attributes |
Характеристики |
ТИПЫ СУЩНОСТЕЙ
Инфраструктура
| Сущность |
Описание |
Хранение |
| Server |
Физ/вирт сервер |
infra/@infra-{name}/ |
| Storage |
Облачное хранилище |
infra/infra-{name}/ |
| Workstation |
ПК оператора |
infra/@infra-home-pc/ |
Данные
| Сущность |
Описание |
Хранение |
| Hub |
Центральное хранилище |
Beget S3 |
| ProjectData |
Данные проекта |
hub/projects/{name}/ |
| Backup |
Резервная копия |
hub/_backup/ |
Код
| Сущность |
Описание |
Хранение |
| Project |
Бизнес-проект |
/{business}/ |
| Site |
Веб-приложение |
{business}/{domain}/ |
| Script |
Исполняемый код |
*/scripts/ |
Конфигурация
| Сущность |
Описание |
Формат |
| Index |
Метаданные папки |
index.yaml |
| INFRA |
Метаданные инфры |
INFRA.yaml |
| Config |
Настройки |
.env, *.yaml |
ШАБЛОН ОПИСАНИЯ
entity: "{название}"
type: "{тип}"
# ЧТО? - Определение
definition: |
Что это такое
# КТО? - Владелец
owner:
role: "Роль, управляющая сущностью"
# ГДЕ? - Хранение
location:
path: "путь/к/сущности"
format: "yaml|md|folder"
# СКОЛЬКО? - Атрибуты
attributes:
- name: "атрибут1"
type: "string"
required: true
- name: "атрибут2"
type: "number"
required: false
ПРИМЕРЫ
Server (Сервер)
entity: "DEV-PRO"
type: "server"
definition: "VPS сервер для разработки"
owner:
role: "Инфра"
location:
path: "infra/@infra-dev-pro/"
format: "folder + INFRA.yaml"
attributes:
- name: "ip"
value: "91.218.142.168"
- name: "ram"
value: "4GB"
- name: "disk"
value: "80GB"
- name: "os"
value: "Ubuntu 22.04"
Hub (Хранилище данных)
entity: "Hub"
type: "storage"
definition: "Центральное хранилище всех данных"
owner:
role: "Система"
location:
path: "$DATASPACE/ (сервер), ~/BegetS3/ (PC)"
format: "S3 bucket"
attributes:
- name: "provider"
value: "Beget"
- name: "protocol"
value: "S3"
- name: "access"
value: "rclone FUSE mount"
Project (Проект)
entity: "pirotehnika"
type: "project"
definition: "Бизнес-проект интернет-магазина"
owner:
role: "Проектор"
location:
path: "$WORKSPACE/pirotehnika/"
format: "folder + index.yaml"
attributes:
- name: "domain"
value: "pirotehnika.spb.ru"
- name: "stack"
value: "OpenCart, PHP"
- name: "hub"
value: "hub/projects/pirotehnika/"
ИМЕНОВАНИЕ
| Тип |
Формат имени |
Пример |
| Бизнес-проект |
lowercase |
pirotehnika |
| Сайт |
domain.tld |
pirotehnika.spb.ru |
| Инфра (свой) |
@infra-{name} |
@infra-dev-pro |
| Инфра (чужой) |
@remote-{provider} |
@remote-beget |
| Хранилище |
infra-{type}-{provider} |
infra-s3-beget |
| Документ |
UPPER_CASE.md |
ENTITIES.md |
| AI-агент |
kebab-case.ai.md |
coder.ai.md |
ЖИЗНЕННЫЙ ЦИКЛ
Создание → Использование → Архивация → Удаление
│ │ │ │
index.yaml Работа archive/ rm -rf
СВЯЗИ
- Стандарт: COMPONENTS.md
- Управляется: Ролями
- Хранится: В $WORKSPACE или $DATASPACE
Версия: 1.0.0