mindtickle-ui
This skill contains shell command directives (!`command`) that may execute system commands. Review carefully before installing.
Mindtickle UI
Mindtickle UI is a shadcn-compatible registry built on Tailwind CSS v4 and Base
UI primitives. Use it to install source components into consumer projects with
npx shadcn@latest add @mindtickle/<name>.
IMPORTANT: Prefer the consumer project's package runner for shadcn commands. Examples below use
npx shadcn@latest, but swap inpnpm dlxorbunxwhen the project uses pnpm or bun or npm or yarn.
Current Project Context
!`npx shadcn@latest info --json 2>/dev/null || echo '{"error": "No shadcn project found. Run shadcn init first."}'`
The project context tells you the actual aliases, installed components,
primitive base (base vs radix), icon library, package manager, and
resolved file-system paths. Use it before giving setup or import advice.
Setup
- If
components.jsonis missing, initialize shadcn in Base UI mode:
npx shadcn@latest init --base base
- Add the Mindtickle registry to
components.json:
{
"registries": {
"@mindtickle": "https://ui.mindtickle.design/registry/r/{name}.json"
}
}
- Install the theme and utility helpers:
npx shadcn@latest add @mindtickle/theme @mindtickle/utils
For a full install, use:
npx shadcn@latest add @mindtickle/all
Principles
- Use existing Mindtickle components before writing custom markup.
- Follow Base UI composition rules. Mindtickle is not Radix-first.
- Use semantic tokens and variants before custom classes.
- Use local reference files before guessing component APIs.
Critical Rules
Base UI Patterns → rules/base-ui.md
- Use
render, notasChild, for Base UI triggers. - Add
nativeButton={false}when render targets are not buttons. - Select requires
items; Slider single values use scalars. - Controlled ToggleGroup single values wrap and unwrap arrays.
Styling → rules/styling.md
- Use semantic classes and built-in variants.
- Use
*-mutedsurface tokens for subtle backgrounds and hover states. - Use
gap-*,size-*, andcn(); avoid raw colors and manual dark-mode overrides.
Forms → rules/forms.md
- Use
FieldGroup+Fieldfor structured forms. - Use
InputGroupInputandInputGroupTextareainsideInputGroup. - Validation uses
data-invalidon the wrapper andaria-invalidon the control.
Icons → rules/icons.md
- Use
Iconfor Mindtickle's product icon system. - Use
data-iconfor inline component icons. - Do not add icon sizing classes inside shared components.
Composition → rules/composition.md
- Prefer
MainNav,GlobalHeader, andPageHeaderbefore custom layouts. - Group items inside their Group component.
- Overlays need titles; loading buttons are composed with
Spinner.
Workflow
- Refresh project context with
npx shadcn@latest infowhen needed. - Check installed components from the injected context or the resolved UI path.
- Search the Mindtickle registry:
npx shadcn@latest search @mindtickle -q "sidebar" - Get docs and example URLs:
npx shadcn@latest docs <component> - Preview before installing:
npx shadcn@latest add @mindtickle/<name> --dry-run - Install:
npx shadcn@latest add @mindtickle/<name> - Compare local customizations with upstream updates:
npx shadcn@latest add @mindtickle/<name> --diff
Migration Workflow
For existing shadcn/ui projects, migrate incrementally instead of replacing everything at once:
- Inspect the current setup with
npx shadcn@latest info - Add the
@mindtickleregistry and install@mindtickle/themeplus@mindtickle/utils - Pick one component or block to migrate at a time
- Preview the incoming registry item with
npx shadcn@latest add @mindtickle/<name> --dry-run - Review exact changes with
--viewand--diff - Merge carefully so local customizations are preserved
Use this especially when teams already have local shadcn component edits they do not want to overwrite.
Component Selection
| Need | Use |
|---|---|
| Navigation sidebar | MainNav (block, Mindtickle-exclusive) |
| Page header | PageHeader (block, Mindtickle-exclusive) |
| Site header | GlobalHeader (block, Mindtickle-exclusive) |
| Keyboard shortcuts | Kbd (Mindtickle-exclusive) |
| Button groups | ButtonGroup (Mindtickle-exclusive) |
| AI text input | AssistedInput (Mindtickle-exclusive) |
| Loading animation | Spinner, ShimmerDots, ShimmeringText |
| Product icons | Icon (Mindtickle icon system) |
| Menus | DropdownMenu, Menubar, ContextMenu |
| Overlays | Dialog, Sheet, Drawer, AlertDialog |
| Forms | Field, InputGroup, Input, Select, Checkbox, RadioGroup |
Registry Snapshot
The current registry contains 58 UI components and 3 flagship layout blocks surfaced by this skill.
Local References
These reference files are generated from the same MDX docs that power the docs site, then processed for LLM-friendly local reading:
- accordion
- alert
- alert-dialog
- assisted-input
- avatar
- badge
- breadcrumb
- button
- card
- checkbox
- collapsible
- context-menu
- dialog
- drawer
- dropdown-menu
- empty
- field
- global-header
- hover-card
- icon
- input
- input-group
- kbd
- label
- main-nav
- menubar
- page-header
- pagination
- popover
- progress
- radio-group
- resizable
- scroll-area
- select
- separator
- sheet
- shimmering-text
- skeleton
- slider
- spinner
- switch
- table
- tabs
- textarea
- toast
- toggle
- toggle-group
- tooltip
Local Examples
Start from these examples when you need production-flavored layout patterns:
- main-nav-learner.tsx
- page-header-module.tsx
- global-header-demo.tsx
- field-demo.tsx
- input-group-validation.tsx
- dialog-settings.tsx
- icon-colors.tsx
- assisted-input-demo.tsx
Quick Commands
# Search the Mindtickle registry
npx shadcn@latest search @mindtickle -q "navigation"
# Preview a component without writing files
npx shadcn@latest add @mindtickle/main-nav --dry-run
# Install all Mindtickle UI components and blocks
npx shadcn@latest add @mindtickle/all
# Install a Mindtickle block
npx shadcn@latest add @mindtickle/page-header