--- description: ReUI PRO (@reui) — MCP user-reui, Frame surface, kit, license, матрица выбора alwaysApply: true --- # ReUI MCP — обязательно (PRO + free) Проект: **Base UI** (`style: base-nova`), surface lock **`frame`**. Связанные: [`shadcn-mcp.mdc`](shadcn-mcp.mdc), [`frontend-monorepo.mdc`](frontend-monorepo.mdc), [`frontend-shadcn.mdc`](frontend-shadcn.mdc), [`frontend-ui-patterns.mdc`](frontend-ui-patterns.mdc). | Документ | URL | |----------|-----| | **Introduction** | https://reui.io/docs | | **llms.txt** | https://reui.io/llms.txt | | **Get Started** | https://reui.io/docs/get-started | | **Styling** | https://reui.io/docs/styling | | **Registry** | https://reui.io/docs/registry | | **MCP** | https://reui.io/docs/mcp | | **Agent Skills** | https://reui.io/docs/agent-skills | | **Cursor MCP** | https://reui.io/docs/cursor | | **Blocks** | https://reui.io/blocks | | **Settings blocks** | https://reui.io/blocks/application/settings | | **License** | https://reui.io/docs/license-setup | | **Base UI components** | https://reui.io/docs/components/base/ | ## Primary MCP 1. **`user-reui`** — `search` / `compose_page` / `get_block` / `get_component` / `get_install_command` / `validate_usage` / `get_audit_checklist` 2. **`plugin-shadcn-shadcn`** — primitives `@shadcn`; для `@reui` — вторично **Обязательно** цитировать `previewUrl` + `docsUrl` для каждой UI-зоны. **Registry (актуально):** 20 free components — `alert`, `autocomplete`, `badge`, `data-grid`, `date-selector`, `event-calendar`, `filters`, `frame`, `gantt`, `icon-stack`, `icon-tile`, `kanban`, `number-field`, `phone-input`, `rating`, `scrollspy`, `sortable`, `stepper`, `timeline`, `tree` ([docs](https://reui.io/docs), [MCP](https://reui.io/docs/mcp)). Skill: `.claude/skills/reui` (v `668fb463eb`); обновление: `curl.exe -fsSL https://mcp.reui.io/install | node -` из корня проекта. **Важно:** skill описывает текущий registry (в т.ч. data-grid на TanStack Table v9). Установленный в проекте `@reui/data-grid` может оставаться на v8 до явного CLI upgrade — не ломать kit без миграции. ## Когда ReUI vs shadcn | Задача | Registry | Импорт | |--------|----------|--------| | Button, Sheet, Field, Sidebar, Tabs | `@shadcn` | `@evofw/ui/components/*` | | PRO pages/sections (settings, stats, auth, dashboard) | `@reui` blocks | adapt → `apps/web/src/components/` / `reui-kit/` | | Data Grid | `@reui` | `@/components/reui/data-grid/*` → `ResourcePage` | | Filters | `@reui` | `@/components/reui/filters` | | Frame surface | `@reui` | `@/components/reui/frame` | | KPI | block [stats-12](https://reui.io/preview/base/stats-12) | `reui-kit/KpiStatGrid` — см. [`kpi-hybrid.mdc`](kpi-hybrid.mdc) | | Quick Actions | Frame tiles sibling KPI | `reui-kit/QuickActionGrid` | | Semantic badge / alert | `@reui` | `@/components/reui/badge`, `@/components/reui/alert` | | Number / date / autocomplete / color / kanban / timeline / stepper / tree | `@reui` | `@/components/reui/*` | | Event Calendar / Gantt / Icon Tile (registry, 20 free) | `@reui` | CLI `@reui/` → `@/components/reui/*` при установке | **Сложные списки** — `ResourcePage` (Frame + data-grid + filters), не raw ``, не DataGridCard. **Quick Actions** — только `QuickActionGrid` (не Card / Button grid). ## MCP workflow 0. Codegraph / поиск существующих `reui-kit/*`, `@/components/reui/*` 1. `user-reui` `search` (`surface: "frame"`, `category` при известном) 2. Страница целиком → `compose_page`; секция → `get_block` 3. `get_component` для API primitives из `componentsUsed` 4. CLI из `apps/web`: `pnpm dlx shadcn@latest add @reui/ --yes` 5. Post-add: shadcn imports → `@evofw/ui/components/*` 6. Adapt by reuse → kit / route 7. `validate_usage` + `get_audit_checklist` ## Размещение | Слой | Путь | Импорт | |------|------|--------| | shadcn | `packages/ui/src/components/` | `@evofw/ui/components/*` | | ReUI CLI | `apps/web/src/components/reui/` | `@/components/reui/*` | | PRO blocks (reference) | — | install via CLI → adapt into kit; do not keep demo trees in `src/components/blocks/` | | Kit | `apps/web/src/components/reui-kit/` | `@/components/reui-kit/*` | ## Установленные ReUI (apps/web) **Components:** `frame`, `data-grid/*`, `filters`, `badge`, `alert`, `autocomplete`, `timeline`, `icon-stack`, `icon-tile`, `sortable`, `stepper` **Kit:** `ResourcePage`, `KpiStatGrid`, `QuickActionGrid`, `OpsDashboard`, `DetailPanel`, `SettingsShell` (только 2+ секции; `/settings` = PageShell + Frame) **Blocks (reference):** `stats-12`, `card-35`, `auth-13`, `app-shell-12`, `settings-16`, `settings-8`, `empty-state-12`, `form-7`, `data-grid-filtering-2`, `dashboard-1`, … ## License ```env # .env.local (gitignored) REUI_LICENSE_KEY= ``` `apps/web/components.json` → `@reui` с `Authorization: Bearer ${REUI_LICENSE_KEY}`. ## Эталоны preview | Зона | Preview | |------|---------| | KPI / Quick Actions | https://reui.io/preview/base/stats-12 · https://reui.io/preview/base/card-12 | | List | https://reui.io/preview/base/data-grid-filtering-2 | | Settings | https://reui.io/preview/base/settings-16 | | Auth | https://reui.io/preview/base/auth-13 | | Shell | https://reui.io/preview/base/app-shell-12 | | Empty | https://reui.io/preview/base/empty-state-12 | ## Запрещено - Копипаст с reui.io без CLI - ReUI в `packages/ui` / импорт как `@evofw/ui` - Radix-варианты docs — только Base UI - Raw `bg-emerald-*` вместо ReUI `variant` - Hand-roll data-grid/filters/KPI/Quick Actions/settings rows при наличии `@reui` / kit - Смешивать Card и Frame на ops-экране - Ставить shadcn/ui blocks выше ReUI PRO ## Чеклист - [ ] `user-reui` search/get_block + previewUrl - [ ] `surface: frame` - [ ] CLI add из `apps/web` при новом item - [ ] Kit / `@/components/reui` / `@evofw/ui` — правильный слой - [ ] `pnpm --filter @evofw/web build`