architect/standards/COMPONENT_CATALOG.md

type: standard
title: "Каталог компонентов платформы / Component Catalog"
status: active
version: 1.0.0
date: 2026-02-17
owner: architect
last_audit: 2026-02-17


Каталог компонентов платформы / Component Catalog

Назначение

Реестр всех компонентов платформы с их характеристиками и статусом.

Обновляется: При добавлении/удалении/перемещении компонентов
Аудит: Раз в квартал (автоматический скрипт)


Статистика

Дата аудита: 2026-02-17

Показатель Значение Комментарий
Всего компонентов 39 System: 23, Library: 15, Solutions: 1
Покрытие CLAUDE.md 18% (7/39) ❌ Критично низкое
Покрытие index.yaml 2.5% (1/39) ❌ Критично низкое
Соответствие COMPONENT_SCALE 85% ⚠️ Требует миграции 6 компонентов

ИНВЕНТАРИЗАЦИЯ

System Компоненты (23)

Компонент Тип Размер Масштаб Текущее Должно быть Статус
@architect.agent AI 1 файл Микро system/ system/agents/ ✅ OK
@projector.agent AI 1 файл Микро system/ system/agents/ ✅ OK
@projector256.agent AI 1 файл Микро system/ system/agents/ ✅ OK
@platform-ui.app HYBRID 23 файла Подсистема system/ system/services/ui/ ⚠️ Миграция
@bot-platform.system HYBRID 3 файла Компонент system/ system/components/ ⚠️ Миграция + Документация
@file-viewer.service HYBRID 1 файл Микро system/ system/elements/ ⚠️ Миграция + Документация
agents AI 30 файлов Компонент system/agents/ system/agents/ ✅ OK
monitor CODE 21 файл Подсистема system/ system/services/monitor/ ✅ OK (~12K строк)
scheduler CODE 7 файлов Компонент system/ system/components/scheduler/ ✅ OK (~2K строк)
connectors CODE 2 файла REDIRECT system/ library/connectors/ ⚠️ Удалить редирект
cli CODE 1 файл Микро system/ system/tools/ ⚠️ Документация
core CODE 2 файла Микро system/ system/core/ ⚠️ Документация
elements CODE 14 файлов Микро system/elements/ system/elements/ ✅ OK
services CODE 3 файла Микро system/services/ system/services/ ⚠️ Документация
apps/mcrm CODE 14 файлов ? system/apps/ library/applications/ ⚠️ Определить размер
bots CODE 21 файл ? system/bots/ system/components/ или solutions/ ⚠️ Определить размер
components CODE 1 файл Микро system/components/ system/components/ ⚠️ Документация
config CODE 12 файлов Микро system/config/ system/config/ ✅ OK
infra CODE 1 файл Микро system/infra/ infra/ ✅ OK (ссылка)
lib CODE 3 файла Legacy system/lib/ library/ или удалить ⚠️ Миграция
registry CODE 1 файл Микро system/registry/ system/registry/ ⚠️ Документация
scripts CODE 16 файлов Компонент system/scripts/ system/scripts/ ⚠️ Документация
tools CODE 3 файла Микро system/tools/ system/tools/ ✅ OK
web CODE 11 файлов Компонент system/web/ system/web/ ⚠️ Документация

Library Компоненты (15)

Компонент Тип Размер Масштаб Текущее Должно быть Статус
adapters CODE 2 файла Микро library/ library/connectors/data/ ⚠️ Переложение
applications CODE 0 файлов Пусто library/applications/ ❌ Удалить
artifacts CODE 0 файлов Пусто library/artifacts/ ❌ Удалить
configurations CODE 0 файлов Пусто library/configurations/ ❌ Удалить
connectors CODE 80 файлов Подсистема library/connectors/ library/connectors/ ✅ OK (~50K строк)
core CODE 6 файлов Компонент library/core/ library/core/ ✅ OK
extensions CODE 0 файлов Пусто library/extensions/ ❌ Удалить
functions CODE 26 файлов Компонент library/functions/ library/functions/ ✅ OK
integrations CODE 2 файла Микро library/integrations/ library/integrations/ ✅ OK
models CODE 9 файлов Компонент library/models/ library/models/ ✅ OK
parsers CODE 3 файла Микро library/parsers/ library/functions/parsers/ ⚠️ Переложение
primitives CODE 5 файлов Микро library/primitives/ library/primitives/ ✅ OK
services CODE 15 файлов Компонент library/services/ library/services/ ✅ OK
storages CODE 2 файла Микро library/storages/ library/storages/ ✅ OK
utils CODE 0 файлов Пусто library/utils/ ❌ Удалить

Solutions Компоненты (1)

Компонент Тип Размер Масштаб Текущее Должно быть Статус
piro-crm HYBRID 13 файлов Система solutions/piro-crm/ solutions/piro-crm/ ⚠️ Добавить index.yaml

ПРОБЛЕМЫ ПО ПРИОРИТЕТАМ

🔴 Критические (требуют срочных действий)

# Проблема Компоненты Рекомендация Оценка
C1 CLAUDE.md только у 18% компонентов 32 компонента без CLAUDE.md Создать CLAUDE.md для ВСЕХ 5 часов
C2 index.yaml только у 2.5% компонентов 38 компонентов без index.yaml Создать index.yaml для ВСЕХ 3 часа
C3 Пустые папки в library/ applications, artifacts, configurations, extensions, utils Удалить или заполнить 5 мин
C4 system/connectors/ редирект system/connectors/ → library/connectors/ Удалить редирект, обновить импорты 30 мин
C5 system/lib/ (legacy) system/lib/ Перенести в library/ или удалить 20 мин

⚠️ Высокий приоритет

# Проблема Компоненты Рекомендация Оценка
H1 Неопределённый размер system/apps/mcrm, system/bots/ Посчитать строки, определить масштаб 10 мин
H2 @platform-ui.app (23 файла) system/@platform-ui.app/ Перенести в system/services/ui/ 30 мин
H3 Дублирование parsers library/parsers/ Переместить в library/functions/parsers/ 15 мин
H4 Дублирование adapters library/adapters/ Объединить с library/connectors/data/ 10 мин
H5 Отсутствие документации @file-viewer.service, @bot-platform.system Добавить CLAUDE.md 15 мин

📝 Средний приоритет

# Проблема Компоненты Рекомендация Оценка
M1 Недокументированы scripts system/scripts/ (16 файлов) Добавить CLAUDE.md с описанием каждого 20 мин
M2 Недокументирован web system/web/ (11 файлов) Добавить CLAUDE.md 10 мин
M3 Недокументированы компоненты system/components/, system/services/, system/core/ Добавить CLAUDE.md 30 мин

ПЛАН МИГРАЦИИ

Общая оценка: 10 часов (вся работа)

Фаза 1: Критические (2 часа)

Цель: Решить проблемы C1-C5

# 1. Создать CLAUDE.md для всех компонентов [5 часов]
# Шаблон в architect/templates/COMPONENT_TEMPLATE.md

# 2. Создать index.yaml для всех компонентов [3 часа]
# Шаблон в architect/templates/component.index.yaml

# 3. Удалить пустые папки [5 мин]
rm -rf library/applications library/artifacts library/configurations library/extensions library/utils

# 4. Удалить редирект connectors [30 мин]
# Обновить все импорты system.connectors → library.connectors

# 5. Решить system/lib/ [20 мин]
# Проверить → перенести в library/ или удалить

Фаза 2: Высокий приоритет (1.5 часа)

Цель: Решить проблемы H1-H5

# 1. Определить размер apps/mcrm и bots [10 мин]
find system/apps/mcrm -name "*.py" | xargs wc -l
find system/bots -name "*.py" | xargs wc -l

# 2. Переместить @platform-ui.app [30 мин]
mv system/@platform-ui.app system/services/ui
# Обновить импорты

# 3. Переместить parsers [15 мин]
mv library/parsers library/functions/parsers

# 4. Объединить adapters [10 мин]
mv library/adapters/* library/connectors/data/

# 5. Добавить документацию [15 мин]
# CLAUDE.md для @file-viewer.service, @bot-platform.system

Фаза 3: Средний приоритет (1 час)

Цель: Решить проблемы M1-M3

# 1. Документация scripts [20 мин]
# 2. Документация web [10 мин]
# 3. Документация components/services/core [30 мин]

Фаза 4: Валидация (15 мин)

# Запустить инвентаризацию повторно
# Проверить:
# - CLAUDE.md: 100%
# - index.yaml: 100%
# - Соответствие COMPONENT_SCALE: 100%

СТАНДАРТЫ ДОКУМЕНТАЦИИ

Обязательные файлы

Для ВСЕХ компонентов:

Файл Назначение Шаблон
CLAUDE.md AI-контекст компонента architect/templates/COMPONENT_TEMPLATE.md
index.yaml Метаданные и зависимости architect/templates/component.index.yaml

Для компонентов и выше:

Файл Назначение
README.md Человеко-читаемая документация
tests/ Тесты компонента

Для подсистем и систем:

Файл Назначение
docs/ Папка с документацией
CHANGELOG.md История изменений

ФОРМАТ index.yaml

id: component-name
type: service|component|element|system
level: L3|L4|L5
category: core|service|library|infra|constructor|solution
version: "1.0.0"
status: active|deprecated|experimental
scale: micro|component|subsystem|system  # по COMPONENT_SCALE.md
size_estimate: "~5K"  # примерная оценка строк

dependencies:
  - component-id: library-core
    version: ">=1.0.0"

provides:
  - capability: "document-management"
    interface: "python-api"

tags:
  - pm
  - dms
  - core

owner: architect|projector|infra
created: 2026-02-17
updated: 2026-02-17

ФОРМАТ CLAUDE.md (минимальный)

# {Название компонента}

**Тип:** {service|component|element|system}
**Масштаб:** {micro|component|subsystem|system}
**Статус:** {active|deprecated|experimental}
**Версия:** {version}

---

## Что это

{Краткое описание назначения компонента}

## Структура

{component}/
├── файл1.py
└── файл2.py

## Использование

{Как использовать}

## Зависимости

{От чего зависит}

## Следующие шаги

{Что планируется}

---

**Версия:** {version}

ЧЕКЛИСТ ДОБАВЛЕНИЯ НОВОГО КОМПОНЕНТА

При создании нового компонента:

Шаг 1: Определить масштаб
- [ ] Оценить размер в строках кода
- [ ] Определить зависимости
- [ ] Проверить нужна ли БД/API
- [ ] Выбрать папку по COMPONENT_SCALE.md

Шаг 2: Создать структуру
- [ ] Создать папку компонента
- [ ] Создать CLAUDE.md (обязательно)
- [ ] Создать index.yaml (обязательно)
- [ ] Создать README.md (для компонента+)
- [ ] Создать tests/ (для всех)

Шаг 3: Зарегистрировать
- [ ] Добавить в этот каталог (COMPONENT_CATALOG.md)
- [ ] Обновить architect/INDEX.md
- [ ] Закоммитить в git

Шаг 4: Интеграция
- [ ] Обновить зависимости в index.yaml других компонентов
- [ ] Добавить импорты где нужно
- [ ] Протестировать


СВЯЗИ / References


СКРИПТЫ

Инвентаризация (автоматическая)

# Запустить полную инвентаризацию
python3 /opt/claude-workspace/architect/scripts/component_audit.py

# Проверить CLAUDE.md покрытие
python3 /opt/claude-workspace/architect/scripts/check_claude_md.py

# Проверить index.yaml покрытие
python3 /opt/claude-workspace/architect/scripts/check_index_yaml.py

Создание документации (массовое)

# Создать CLAUDE.md для всех компонентов без него
python3 /opt/claude-workspace/architect/scripts/generate_claude_md.py

# Создать index.yaml для всех компонентов без него
python3 /opt/claude-workspace/architect/scripts/generate_index_yaml.py

Версия: 1.0.0
Следующий аудит: 2026-05-17