Files
2026-02-02 11:41:16 +02:00

85 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LLM-Friendly Registry Structure
Эта структура реорганизует `registry.json` для более эффективной работы с LLM, уменьшая галлюцинации и улучшая выбор компонентов.
## Структура
```
registry/
├── index.json ← КАТАЛОГ (LLM всегда видит)
├── intents.json ← ПОЧЕМУ / КОГДА (WHY / WHEN)
├── components/
│ ├── FeatureCardSeven.json
│ ├── FeatureCardEight.json
│ └── ...
└── schemas/
├── FeatureCardSeven.schema.json
└── ...
```
## Файлы
### `index.json` - Легковесный каталог
Содержит минимальную информацию для выбора компонента:
- `category` - категория компонента
- `intent` - назначение компонента (почему/когда использовать)
- `bestFor` - лучшие случаи использования
- `avoidWhen` - когда НЕ использовать
- `requires` - обязательные требования (например, `features[]`)
- `import` - путь импорта
**LLM всегда видит этот файл** для выбора компонента.
### `intents.json` - Маппинг интентов
Связывает интенты с компонентами:
```json
{
"sequential process": ["FeatureCardSeven", "FeatureProcessSteps"],
"horizontal timeline": ["FeatureCardEight", "TimelineHorizontalCardStack"],
"hero with media": ["HeroBillboard"]
}
```
Помогает LLM выбирать компоненты по смыслу, а не угадывать.
### `components/*.json` - Детальная информация
Загружается **ТОЛЬКО после выбора компонента**:
- `name` - имя компонента
- `description` - описание
- `constraints` - ограничения и правила
- `propsSchema` - упрощённая схема пропсов (без className)
- `usageExample` - пример использования
- `do` - что делать
- `dont` - чего не делать
- `editRules` - правила редактирования
### `schemas/*.schema.json` - Полные схемы
Полные схемы пропсов (включая все className) для генерации кода.
## Использование
### Для LLM
1. **Выбор компонента**: Используй `index.json` + `intents.json`
2. **Детали компонента**: Загрузи `components/{ComponentName}.json` после выбора
3. **Генерация кода**: Используй `schemas/{ComponentName}.schema.json` для полной схемы пропсов
### Преимущества
- ✅ Уменьшение токенов в 3-5 раз
- ✅ Снижение галлюцинаций
- ✅ Предсказуемые правки
- ✅ Масштабируемость для разных моделей
## Обновление
Для обновления структуры после изменений в `registry.json`:
```bash
node transform-registry.js
```