{ "schemaVersion": "0.1.0", "rules": [ { "id": "no-random-local-ui", "severity": "error", "text": "Do not create a local one-off UI element when a registry component exists." }, { "id": "no-outlines", "severity": "error", "text": "Visible outlines, stroke borders, focus rings, and hard colored contours are forbidden on runtime UI. Use only fill, opacity, blur, and surface hover/focus states." }, { "id": "circle-actions", "severity": "error", "text": "Icon-only actions are circular controls. They use the shared control-ring size and 5px inset rules." }, { "id": "dropdowns-portal", "severity": "error", "text": "Dropdowns inside cards, tables, sidebars, sticky headers, and scroll containers render through a portal/fixed layer." }, { "id": "dropdowns-shared-engine", "severity": "error", "text": "Selection dropdowns and action dropdowns use the shared dropdown engine. Do not implement local outside-click and absolute inline menus." }, { "id": "matte-glass", "severity": "error", "text": "Popup, dropdown, modal, sidebar, and settings surfaces use dark matte glass with blur, not plain transparency, monocolor fills, or light foreign backgrounds." }, { "id": "accent-contrast", "severity": "error", "text": "Filled accent controls must use computed on-accent text from the accent-contrast utility." }, { "id": "buttons-shared-module", "severity": "error", "text": "Text actions use the shared Button primitive with variant and surface props. Modal footer buttons must use surface='modal'." }, { "id": "status-pills", "severity": "error", "text": "Statuses use the shared status-tone palette, centered label, no outline, and fixed status control geometry." }, { "id": "admin-tables", "severity": "warning", "text": "Admin data screens use AdminTable anatomy: table-shell, toolbar, editable cells, circular actions, and shared status/date controls." }, { "id": "delete-confirmation", "severity": "error", "text": "Every destructive delete/removal action must open NodeDcDeleteModal before mutating data." }, { "id": "inline-delete-buttons", "severity": "error", "text": "Inline delete buttons inside editors and tables stay transparent by default and receive only neutral glass hover; red filled delete buttons are forbidden outside the confirmation modal." }, { "id": "taskmanager-calendar", "severity": "warning", "text": "Calendar popovers must follow the Task Manager nodedc-calendar-shell and portal dropdown pattern." } ] }