npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@hallaxius/ui-master

v1.0.1

Published

MCP server with 27 tools for 50+ UI component registries (shadcn/ui, Magic UI, Aceternity UI, MUI, Ant Design, and 45+ more), 286k+ icons, dependency resolution, dry-run install, comparison, and project analysis.

Readme


Table of Contents


Overview

ui-master is a Model Context Protocol (MCP) server that aggregates 50+ UI component registries and 286k+ icons into a single unified interface.

Why use ui-master?

  • Unified Search — Search across all 50+ registries with a single query. No need to know which provider has the component you need.
  • Dependency Resolution — Automatically resolves transitive registryDependencies and npm packages.
  • Dry-Run Install Plans — Preview exactly what files will be written, where they go, and what npm packages are needed before committing.
  • Batch Install — Install multiple components at once with deduplication.
  • Component Comparison — Compare alternatives from different providers side-by-side.
  • Figma Integration — Extract design tokens from Figma URLs and convert to CSS/Tailwind.
  • Storybook Generation — Auto-generate CSF3 stories with props and variants.
  • Compliance Checking — Verify components against accessibility, theming, and coding standards.
  • Project Analysis — Scan your project and get smart component recommendations.
  • 286k+ Icons — Search the full shadcn.io icon catalog across 200+ icon libraries.

Features

| Feature | Description | |---------|-------------| | 50+ Registries | shadcn/ui, Magic UI, Aceternity UI, React Bits, OriginUI, and 45+ more | | 286k+ Icons | shadcn.io, Iconify, Lucide, Heroicons, Tabler, and 200+ libraries | | 27 MCP Tools | Component search, install, comparison, themes, compliance, and more | | 4 MCP Prompts | Guided workflows for finding, installing, and comparing components | | 4 MCP Resources | Programmatic access to libraries, components, and icon metadata | | Fuzzy Search | Deterministic scoring with BM25 ranking and structural boosting | | Dependency Resolution | Recursive resolution with cycle detection and topological ordering | | Dry-Run Plans | Preview file writes, npm installs, and CSS changes before execution | | Batch Operations | Install multiple components with automatic deduplication | | Project Analysis | Smart recommendations based on your existing stack |


Installation

OpenCode

{
  "mcpServers": {
    "ui-master": {
      "command": "bunx",
      "args": ["-y", "@hallaxius/ui-master"]
    }
  }
}

Claude Desktop

{
  "mcpServers": {
    "ui-master": {
      "command": "bunx",
      "args": ["-y", "@hallaxius/ui-master"]
    }
  }
}

Cursor

{
  "mcpServers": {
    "ui-master": {
      "command": "bunx",
      "args": ["-y", "@hallaxius/ui-master"]
    }
  }
}

Windsurf

{
  "mcpServers": {
    "ui-master": {
      "command": "bunx",
      "args": ["-y", "@hallaxius/ui-master"]
    }
  }
}

Direct Install

bun add @hallaxius/ui-master
# or
bunx @hallaxius/ui-master

Environment Variables

| Variable | Description | Required | |----------|-------------|----------| | SHADCNIO_TOKEN | shadcn.io API token for icon search and download | No (but recommended) | | FIGMA_API_TOKEN | Figma API token for design token extraction | No | | UI_MASTER_CACHE_DIR | Set to memory to disable disk caching | No |


Tools (27)

Component Discovery

search_components

Search across all 50+ registries with fuzzy matching and BM25 scoring.

// Search across ALL registries (recommended)
search_components({ query: "button" })

// Search within a specific library
search_components({ query: "marquee", library: "magicui" })

// Search with framework filter
search_components({ query: "date picker", framework: "react" })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | query | string | required | Search text (name, title, description) | | library | string | all | Optional library filter | | type | string | none | Filter by unified type | | kind | string | "component" | "component" or "icon" | | framework | string | none | Framework compatibility filter | | namespace | string | none | Namespace filter | | limit | number | 20 | Max results (1-100) |

Output:

{
  "results": [
    {
      "providerId": "shadcn",
      "id": "button",
      "type": "ui",
      "title": "Button",
      "description": "Displays a button or a component that looks like a button.",
      "score": 0.95
    }
  ]
}

list_components

List all components from a specific registry with pagination.

list_components({ library: "shadcn", type: "ui", limit: 50 })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | library | string | all | Filter by library | | type | enum | none | Filter by type: component, ui, block, hook, lib, style, theme, page, icon, item | | framework | string | none | Framework filter | | namespace | string | none | Namespace filter | | limit | number | 50 | Max results (1-200) | | offset | number | 0 | Pagination offset |

get_component

Get full component details including source code, dependencies, and metadata.

// Detailed mode (default) — includes file contents
get_component({ component: "shadcn/button" })

// Compact mode — metadata only
get_component({ component: "magicui/magic-card", mode: "compact" })

// With accessibility audit
get_component({ component: "shadcn/dialog", a11y: true })

// With framework compatibility check
get_component({ component: "shadcn/button", framework: "react" })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | component | string | required | "library/name" ref | | framework | string | none | Framework compatibility check | | a11y | boolean | false | Include accessibility summary | | mode | enum | "detailed" | "compact" or "detailed" |

resolve_component

Recursively resolve a component and all its transitive dependencies.

resolve_component({ component: "shadcn/dialog" })

Returns the full dependency tree in topological order, npm packages, file-to-target paths, CSS variables, and any warnings.

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | component | string | required | "library/name" ref | | mode | enum | "detailed" | "compact" or "detailed" |

Component Installation

add_component

Generate a complete install plan or write files to disk.

// Dry-run (default) — plan only
add_component({ ref: "shadcn/button", dryRun: true })

// Write to disk
add_component({ ref: "shadcn/button", projectPath: "/path/to/project", dryRun: false })

// With overwrite
add_component({ ref: "shadcn/button", projectPath: "/path/to/project", dryRun: false, overwrite: true })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | ref | string | required | "library/name" ref | | projectPath | string | none | Target project root | | targetPath | string | none | Alternative write base | | dryRun | boolean | true | Plan only (no file writes) | | overwrite | boolean | false | Overwrite existing files | | mode | enum | "detailed" | "compact" or "detailed" |

Output (dry-run):

{
  "ref": "shadcn/button",
  "items": [...],
  "files": [
    {
      "source": "registry/styles/radix-nova/button.json",
      "target": "src/components/ui/button.tsx",
      "type": "registry:ui",
      "status": "new",
      "exists": false
    }
  ],
  "npmDeps": ["class-variance-authority", "clsx", "tailwind-merge"],
  "css": "...",
  "cssVars": {...},
  "writeOrder": ["src/components/ui/button.tsx"],
  "warnings": [],
  "dryRun": true
}

batch_install

Install multiple components at once with deduplication.

batch_install({
  refs: ["shadcn/button", "shadcn/card", "shadcn/dialog"],
  dryRun: true
})

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | refs | string[] | required | Array of "library/name" refs (1-20) | | projectPath | string | none | Target project root | | targetPath | string | none | Alternative write base | | dryRun | boolean | true | Plan only | | overwrite | boolean | false | Overwrite existing files |

diff_component

Compare local installed files against the latest registry version.

diff_component({ ref: "shadcn/button", projectPath: "/path/to/project" })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | ref | string | required | "library/name" ref | | projectPath | string | none | Target project root | | targetPath | string | none | Alternative read base | | context | number | 5 | Diff context lines (0-20) | | mode | enum | "detailed" | "compact" or "detailed" |

Output:

{
  "ref": "shadcn/button",
  "files": [
    { "source": "...", "target": "...", "status": "changed", "diff": "..." },
    { "source": "...", "target": "...", "status": "unchanged" },
    { "source": "...", "target": "...", "status": "added" }
  ],
  "summary": { "added": 1, "changed": 1, "unchanged": 1 }
}

Icon Tools

search_icons

Search 286k+ icons across all libraries.

// Search across ALL icon libraries
search_icons({ query: "arrow" })

// Search within a specific library
search_icons({ query: "check", library: "lucide" })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | query | string | required | Icon search text | | library | string | all | Optional library filter | | limit | number | 20 | Max results (1-100) |

Note: Requires SHADCNIO_TOKEN for search. Without it, returns 0 hits with setup instructions.

get_icon

Get a specific icon with React component and install command.

get_icon({ library: "lucide", name: "ArrowRight", withFiles: true })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | library | string | required | Icon library id | | name | string | required | Icon name | | withFiles | boolean | false | Include raw SVG/component source |

list_icon_libraries

List all available icon libraries from shadcn.io.

list_icon_libraries({ limit: 50 })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | query | string | none | Filter by library id/name | | limit | number | 222 | Max results (1-300) |

install_icon

Generate an install plan for a shadcn.io icon.

install_icon({ library: "lucide", name: "ArrowRight", dryRun: true })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | library | string | required | Icon library id | | name | string | required | Icon name | | projectPath | string | none | Target project root | | dryRun | boolean | true | Always dry-run for now |

Design System

generate_theme

Generate CSS variables and Tailwind config for shadcn/ui compatible projects.

// Generate with default slate palette
generate_theme({ baseColor: "slate" })

// Custom primary color
generate_theme({
  baseColor: "zinc",
  primaryColor: "#3b82f6",
  accentColor: "#8b5cf6",
  radius: 0.5
})

// Compact mode — CSS only
generate_theme({ baseColor: "slate", mode: "compact" })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | baseColor | enum | "slate" | Base palette: slate, gray, zinc, neutral, stone | | style | enum | "default" | Style variant: default or new-york | | primaryColor | string | palette default | Primary color hex override | | accentColor | string | palette default | Accent color hex override | | radius | number | 0.5 | Border radius in rem (0-2) | | mode | enum | "detailed" | "compact" or "detailed" |

check_compliance

Verify a component follows design system rules.

check_compliance({ component: "shadcn/button" })

// Check specific rules
check_compliance({ component: "shadcn/button", rules: ["hardcoded-colors", "missing-css-variables"] })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | component | string | required | "library/name" ref | | rules | string[] | all | Rule IDs to check |

Output:

{
  "score": 85,
  "passed": false,
  "violations": [
    {
      "ruleId": "hardcoded-colors",
      "ruleName": "Hardcoded Colors",
      "severity": "warning",
      "category": "theming",
      "message": "Found hardcoded color values",
      "suggestion": "Use CSS variables instead"
    }
  ]
}

Advanced Features

run_pipeline

Execute a sequence of tool calls as a pipeline.

// Custom pipeline
run_pipeline({
  steps: [
    { tool: "search_components", params: { query: "modal" } },
    { tool: "compare_components", params: { query: "modal" } },
    { tool: "add_component", params: { ref: "shadcn/dialog", dryRun: true } }
  ]
})

// Predefined workflow
run_pipeline({ workflow: "search → resolve → install" })

Available Workflows:

  • search → resolve → install — Search for a component, resolve dependencies, and preview install
  • get → audit → compliance — Get component details, run audit, and check compliance
  • search → preview → storybook — Search, preview, and generate Storybook stories
  • get → diff → install — Get component, diff against local, and preview install

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | steps | array | required | Array of { tool, params } steps | | continueOnError | boolean | false | Continue after failures | | workflow | string | none | Predefined workflow name |

generate_storybook

Generate CSF3 Storybook stories for a component.

generate_storybook({ component: "shadcn/button" })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | component | string | required | "library/name" ref | | storyPath | string | auto | Custom story file path |

extract_figma_tokens

Extract design tokens from a Figma URL.

extract_figma_tokens({
  figmaUrl: "https://www.figma.com/file/abc123/MyDesign",
  designTokens: "primary: #3b82f6\nsecondary: #8b5cf6"
})

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | figmaUrl | string | required | Figma file/design URL | | designTokens | string | none | Optional design token descriptions |

figma_to_css

Convert Figma design data to CSS custom properties.

figma_to_css({
  figmaUrl: "https://www.figma.com/file/abc123/MyDesign",
  prefix: "--figma"
})

figma_to_tailwind

Convert Figma design data to Tailwind CSS configuration.

figma_to_tailwind({
  figmaUrl: "https://www.figma.com/file/abc123/MyDesign"
})

preview_component

Get a text-based component preview with props, variants, and usage.

preview_component({ component: "shadcn/button" })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | component | string | required | "library/name" ref |

Project Management

get_project_state

Analyze your project configuration (read-only).

get_project_state({ projectPath: "/path/to/project" })

Returns: framework, shadcn style/base, Tailwind version, installed dependencies, path aliases, and any parsing errors.

analyze_project

Get smart component recommendations based on your project.

analyze_project({ projectPath: "/path/to/project", limit: 20 })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | projectPath | string | required | Project root | | framework | string | none | Framework filter | | limit | number | 20 | Max recommendations (1-100) |

init_project

Initialize a new shadcn-compatible project.

init_project({
  projectPath: "/path/to/project",
  style: "radix-nova",
  framework: "next",
  typescript: true
})

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | projectPath | string | required | Root directory | | style | enum | "radix-nova" | shadcn style: default, new-york, radix-nova | | framework | enum | "next" | Framework: next, vite, remix, astro, laravel, manual | | typescript | boolean | true | Use TypeScript | | tailwindCss | string | "src/index.css" | Global CSS file path | | iconLibrary | string | "lucide" | Icon library |

Utilities

get_audit_checklist

Run a post-install audit on a component.

get_audit_checklist({ ref: "shadcn/button" })

// Run specific checks
get_audit_checklist({ ref: "shadcn/button", checks: ["a11y", "responsive"] })

Available Checks: imports, deps, config, a11y, responsive, all

get_item_examples

Get usage examples and demos for a component.

get_item_examples({ ref: "shadcn/button", maxExamples: 3 })

compare_components

Compare similar components across all registries.

compare_components({ query: "dialog", limit: 5 })

Parameters:

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | query | string | required | Component name or description | | limit | number | 5 | Max comparisons (1-10) |

Output:

{
  "query": "dialog",
  "comparisons": [
    {
      "providerId": "shadcn",
      "id": "dialog",
      "name": "dialog",
      "type": "ui",
      "fileCount": 3,
      "totalSize": 4500,
      "npmDepsCount": 2,
      "hasCssVars": true,
      "score": 0.98
    }
  ],
  "recommendation": {
    "bestMatch": "shadcn/dialog",
    "reason": "Highest score (0.98) with 3 files and 2 npm deps."
  }
}

list_libraries

List all available registries.

list_libraries({ limit: 100 })

server_info

Get server metadata including version and all configured providers.

server_info({})

Prompts (4)

find_component

Guided prompt to find the right component for your needs.

/ask find_component "I need a date picker with range selection"

add_component_to_project

Guided prompt to add a component to your project.

/ask add_component_to_project "Add shadcn/dialog to my project"

compare_component_libraries

Guided prompt to compare similar components across libraries.

/ask compare_component_libraries "modal dialogs"

pipeline

Guided prompt to execute a workflow pipeline.

/ask pipeline "Search for card components, compare them, and install the best one"

Resources (4)

| Resource | URI | Description | |----------|-----|-------------| | Libraries | ui-master://libraries | List of all registries | | Library | ui-master://library/{id} | Components in a specific registry | | Component | ui-master://component/{library}/{name} | Full component details | | Icons | icons://shadcnio/library/{name} | Icon library metadata |


Providers (50+)

UI Component Registries (30)

| Provider | ID | Homepage | |----------|-----|----------| | shadcn/ui | shadcn | https://ui.shadcn.com | | Magic UI | magicui | https://magicui.design | | Aceternity UI | aceternity | https://ui.aceternity.com | | React Bits | reactbits | https://reactbits.dev | | OriginUI | originui | https://originui.com | | Cult UI | cultui | https://cult-ui.com | | SmoothUI | smoothui | https://smoothui.dev | | AI Elements | ai-elements | https://ai-sdk.dev | | Kibo UI | kibo | https://kibo-ui.com | | Kokonut UI | kokonutui | https://kokonutui.com | | useLayouts | uselayouts | https://uselayouts.com | | Animate UI | animate-ui | https://animate-ui.com | | Blocks | blocks | https://blocks.so | | Intent UI | intentui | https://intentui.com | | Fancy Components | fancy | https://fancycomponents.dev | | SVGl | svgl | https://svgl.app | | 21st.dev | 21st | https://21st.dev | | Tremor | tremor | https://tremor.so | | DaisyUI | daisyui | https://daisyui.com | | NextUI | nextui | https://nextui.org | | Mantine | mantine | https://mantine.dev | | Carbon Design | carbon | https://carbondesignsystem.com | | Shopify Polaris | polaris | https://polaris.shopify.com | | GitHub Primer | primer | https://primer.style | | Ant Design | antdesign | https://ant.design | | MUI Material | mui | https://mui.com | | Chakra UI | chakra | https://chakra-ui.com | | Radix Themes | radix | https://www.radix-ui.com/themes | | Park UI | parkui | https://park-ui.com | | shadcn-vue | shadcnvue | https://www.shadcn-vue.com |

Enterprise Design Systems (4)

| Provider | ID | Homepage | |----------|-----|----------| | Arco Design | arco | https://arco.design | | Atlassian Design | atlassian | https://atlassian.design | | Adobe Spectrum | spectrum | https://spectrum.adobe.com | | Microsoft Fluent | fluentui | https://fluent2.microsoft.design |

Headless Libraries (8)

| Provider | ID | Homepage | |----------|-----|----------| | React Aria | reactaria | https://react-spectrum.adobe.com/react-aria | | Headless UI | headless | https://headlessui.com | | Ark UI | arkui | https://ark-ui.com | | Zag.js | zag | https://zagjs.com | | Kobalte | kobalte | https://kobalte.dev | | Melt UI | meltui | https://melt-ui.com | | Bits UI | bitsui | https://bits-ui.com | | shadcn-slots | shadcnslots | https://slotsui.com |

Icon Libraries (14)

| Provider | ID | Homepage | |----------|-----|----------| | shadcn.io | shadcnio | https://www.shadcn.io/icons | | Lucide | lucide | https://lucide.dev | | Heroicons | heroicons | https://heroicons.com | | Tabler Icons | tabler | https://tabler.io/icons | | Phosphor Icons | phosphor | https://phosphoricons.com | | Remix Icons | remix | https://remixicon.com | | BoxIcons | boxicons | https://boxicons.com | | Font Awesome | fontawesome | https://fontawesome.com | | Material Icons | materialicons | https://fonts.google.com/icons | | Ionicons | ionicons | https://ionic.io/ionicons | | Eva Icons | evaicons | https://akveo.github.io/eva-icons | | Iconoir | iconoir | https://iconoir.com | | Carbon Icons | carbonicons | https://carbondesignsystem.com/guidelines/icons | | React Icons | reacticons | https://react-icons.github.io/react-icons | | Mingcute Icons | mingcute | https://www.mingcute.com | | Radix Icons | radixicons | https://www.radix-ui.com/icons |


Examples

Find and Install a Button

// 1. Search for buttons across all registries
search_components({ query: "button" })

// 2. Get full component details
get_component({ component: "shadcn/button" })

// 3. Preview installation (dry-run)
add_component({ ref: "shadcn/button", dryRun: true })

// 4. Install to your project
add_component({
  ref: "shadcn/button",
  projectPath: "/path/to/project",
  dryRun: false
})

Generate a Theme

// Generate CSS variables for a blue theme
generate_theme({
  baseColor: "slate",
  primaryColor: "#3b82f6",
  style: "new-york"
})

Compare Dialog Components

// Find and compare dialog implementations across all registries
compare_components({ query: "dialog" })

Batch Install Multiple Components

// Install button, card, and dialog at once
batch_install({
  refs: ["shadcn/button", "shadcn/card", "shadcn/dialog"],
  dryRun: true
})

Run a Pipeline

// Search, compare, and preview install of the best option
run_pipeline({
  steps: [
    { tool: "search_components", params: { query: "modal" } },
    { tool: "compare_components", params: { query: "modal" } },
    { tool: "add_component", params: { ref: "shadcn/dialog", dryRun: true } }
  ]
})

Extract Figma Tokens

// Extract design tokens from Figma
extract_figma_tokens({
  figmaUrl: "https://www.figma.com/file/abc123/MyDesign",
  designTokens: "primary: #3b82f6\nsecondary: #8b5cf6"
})

// Convert to CSS
figma_to_css({ figmaUrl: "https://www.figma.com/file/abc123/MyDesign" })

// Convert to Tailwind config
figma_to_tailwind({ figmaUrl: "https://www.figma.com/file/abc123/MyDesign" })

Generate Storybook Stories

// Generate CSF3 stories for a component
generate_storybook({ component: "shadcn/button" })

Check Component Compliance

// Check accessibility and theming compliance
check_compliance({ component: "shadcn/button" })

Initialize a Project

// Set up a new shadcn project
init_project({
  projectPath: "/path/to/new-project",
  style: "radix-nova",
  framework: "next",
  typescript: true
})

Development

Prerequisites

  • Bun >= 1.2.0

Setup

git clone https://github.com/hallaxius/ui-master.git
cd ui-master
bun install

Commands

bun dev          # Start development server with hot reload
bun test         # Run tests
bun run bundle   # Build for distribution
bun run inspect  # Open MCP Inspector

Project Structure

src/
  index.ts              # Entry point
  server.ts             # Server builder
  config.ts             # Provider configurations
  types.ts              # Core types
  version.ts            # Version info
  tools/                # MCP tools (27)
    components.ts       # Component search/list/get/resolve
    icons.ts            # Icon search/get/install
    install.ts          # Component install/diff
    batch.ts            # Batch install
    compare.ts          # Component comparison
    theme.ts            # Theme generation
    compliance.ts       # Compliance checking
    preview.ts          # Component preview
    figma.ts            # Figma integration
    storybook.ts        # Storybook generation
    pipeline.ts         # Workflow pipeline
    init.ts             # Project initialization
    audit.ts            # Audit checklist
    examples.ts         # Usage examples
    project.ts          # Project analysis
    meta.ts             # Server info
    libs.ts             # Library listing
  providers/            # Registry adapters (50+)
    index.ts            # Provider registry
    shadcn.ts           # shadcn/ui adapter
    magicui.ts          # Magic UI adapter
    aceternity.ts       # Aceternity UI adapter
    shadcn-registry.ts  # Generic shadcn registry adapter
    shadcnio.ts         # shadcn.io icons adapter
    iconify.ts          # Iconify adapter
    http.ts             # HTTP fetcher
  registry/             # Dependency resolution
    resolve.ts          # Component resolution
    installPlan.ts      # Install plan builder
    diff.ts             # Diff generation
  prompts/              # Prompt templates (4)
    find-component.ts
    add-to-project.ts
    compare-libs.ts
    pipeline.ts
  resources/            # MCP resources (4)
    libraries.ts
    library.ts
    component.ts
    icons.ts
  analyze/              # Analysis helpers
    project.ts          # Project scanner
    a11y.ts             # Accessibility checker
    framework.ts        # Framework detection
    rank.ts             # Recommendation ranking
  cache/                # Caching layer
    index.ts            # Cache interface
    memory.ts           # In-memory cache
    disk.ts             # Disk cache
    composite.ts        # Composite cache
  compliance/           # Compliance rules
    rules.ts
  theme/                # Theme generation
    palettes.ts
  util.ts               # Shared utilities

License

MIT © 2026 @hallaxius


Contributing

Contributions are welcome! Please open an issue or submit a pull request at https://github.com/hallaxius/ui-master.


Support

  • GitHub Issues: https://github.com/hallaxius/ui-master/issues
  • Documentation: https://github.com/hallaxius/ui-master