Ensign Scope
New scope
Scopes
Context
Loading…
Edit context doc
Title
Category
ui-library
▼
Tags
Active
— included in interview & generation
Body (markdown)
Write
Preview
Ensign maintains a shared component library, **ensign-ui** — a custom **shadcn component registry** (`shadcn build` / `registry.json`) that distributes components, hooks and patterns into any React project via the shadcn CLI. Prefer pulling from it over re-authoring primitives. ## Building blocks - **shadcn/ui** on **Radix UI** primitives (dialog, dropdown, popover, select, tabs, tooltip, switch, checkbox, etc.). - **Tailwind CSS v4** — utility-first, CSS-variable theming. OKLCH tokens and **dark mode via `next-themes`** (class strategy). - **Tabler Icons** (`@tabler/icons-react`, `Icon`-prefixed) are the current standard — project-commander migrated off Lucide. New work should use Tabler. - **TanStack Table v8** for data grids (server-side pagination, sorting, filtering, row selection, custom cell renderers). - **React Hook Form + Zod** (`zodResolver`) for forms. - **Recharts** for charts; **Motion** (formerly Framer Motion) for animation; **cmdk** for command menus; **@dnd-kit** for drag-and-drop. ## Conventions - Base primitives live under `components/ui/`; feature components compose them. - Theme through CSS variables — never hardcode colours. - Accessibility comes from Radix; keep `aria-*` and labelling intact when composing. > Note: newer greenfield apps may use shadcn 4.x, which is built on **Base UI** rather than Radix — the composition prop there is `render={<El/>}` instead of `asChild`. Check which the target project uses.
Save changes
Cancel