2.8 KiB
2.8 KiB
UI Design Contract (EvoFirewall)
Единый контракт ops-приложений семейства (vps-tracker / CFDM / EvoBGP / EvoFirewall). Surface: ReUI Frame. Kit: apps/web/src/components/reui-kit/.
Карта: llms.txt · Styling · License · Blocks · MCP · Agent skills
Surface
Project lock: surface: frame. Ops / list / dashboard / detail / settings — только Frame, не shadcn Card как shell. Не смешивать Card и Frame на одном ops-экране.
Canonical PRO references
| Зона | Block | Preview |
|---|---|---|
| Shell | app-shell-12 |
https://reui.io/preview/base/app-shell-12 |
| KPI | stats-12 |
https://reui.io/preview/base/stats-12 |
| Dashboard | dashboard-1 |
https://reui.io/preview/base/dashboard-1 |
| Lists | data-grid-filtering-2 |
https://reui.io/preview/base/data-grid-filtering-2 |
| Settings | settings-16 |
https://reui.io/preview/base/settings-16 |
| Auth | auth-13 |
https://reui.io/preview/base/auth-13 |
| Empty | empty-state-12 |
https://reui.io/preview/base/empty-state-12 |
| Forms | form-7 → Sheet |
https://reui.io/preview/base/form-7 |
Kit API (reui-kit/) — целевой
| Component | Role |
|---|---|
ResourcePage |
Frame + line tabs + Filters + DataGrid |
KpiStatGrid |
KPI tiles |
OpsDashboard |
KPI + charts + attention |
SettingsShell |
settings nav + Outlet |
DetailPanel |
detail Frame sections |
Shared App Shell chrome
Эталон: EvoBGP / CFDM + app-shell-12.
| Токен / зона | Значение |
|---|---|
--sidebar-width |
240px |
| Header | h-12, sticky, border-b |
main |
gap-4 md:gap-6, px-4 py-4 md:px-6 md:py-5 |
App Switcher: auth-portal GET /api/v1/app-switcher. Планируемый app id: fw.
MCP workflow
- MCP
user-reui—search/get_block/get_componentwithsurface: "frame" - Cite
previewUrl+docsUrl - CLI from
apps/web:pnpm dlx shadcn@latest add @reui/... - Adapt into kit — do not hand-roll KPI/grid/settings
validate_usage/get_audit_checklist
Primitives: MCP plugin-shadcn-shadcn + @evofw/ui.
License
# apps/web/.env.local
REUI_LICENSE_KEY=
apps/web/components.json → Authorization: Bearer ${REUI_LICENSE_KEY}.
Forbidden
- Card as ops list/dashboard shell
- Hand-rolled tables when ReUI DataGrid exists
- Hand-rolled KPI when
KpiStatGridexists - Mixing Card and Frame on one ops screen
- Raw
bg-emerald-*/space-y-*