Initial commit
This commit is contained in:
84
registry/README.md
Normal file
84
registry/README.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user