Skip to content
CAI
Software that uses CAICheck a score

shadcn-ui/ui

52.0

Adequate · 28 September 2026

377.8k

lines of production code

TypeScript

primary language

3

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a comprehensive UI component registry and CLI tool that enables developers to scaffold, install, and customize accessible React components across multiple frameworks. It supports a multi-base architecture allowing users to choose between Radix UI, Base UI, or React Aria primitives, combined with a variety of visual style presets. The platform includes a robust CLI for managing dependencies, applying themes, and integrating with AI agents via Model Context Protocol, alongside a demo application that showcases the components in action.

How it got here

2023–2025 — v4 monorepo and registry overhaul

72 changes.

The project restructured into a v4 monorepo, replacing the legacy documentation site with a new application built on Next.js and Tailwind CSS v4. The shadcn CLI was significantly expanded to support a multi-base registry architecture, enabling users to choose between Radix UI and Base UI primitives while introducing new commands for registry management and theme application.

2026 — v4 template expansion and design system tooling

28 changes.

This period focused on expanding the v4 ecosystem by adding comprehensive project templates for Astro, React Router, TanStack Start, and Vite, alongside new ARIA-based component examples. It also introduced advanced design system customization tools, including a real-time style customizer, a typography interface, and a preset system with shareable configuration codes. Underlying infrastructure improvements included sharding the component registry for performance and implementing health monitoring for registries.

Features

Add Astro application template with Tailwind CSS and UI components

Introduces a new Astro-based project template that provides a foundational structure for building web applications. The template includes a main layout with global styling, a home page demonstrating a ready-to-use button component, and global CSS configured to import Tailwind CSS, allowing users to start building immediately with pre-configured styling and component infrastructure.

templates/astro-app · high confidence

Add Astro web application template with React and shadcn/ui

Introduces a new starter template for the web application within the Astro monorepo. The setup configures Astro with the React integration and Tailwind CSS via Vite, and includes a shadcn/ui configuration using the 'radix-nova' style and Lucide icons. It provides a basic project structure with a main layout, an index page demonstrating a shadcn Button component, and standard tooling configurations for TypeScript and ESLint.

templates/astro-monorepo/apps/web · high confidence

Add React Router application template

Introduces a new React Router application template that provides a complete starting point for building React Router apps. The template includes a root layout with standard meta and link tags, an error boundary for handling route errors, a route configuration file, and a home page that demonstrates usage of a UI button component styled with Tailwind CSS.

templates/react-router-app · high confidence

Add Sera editorial dashboard and media library preview components

This change introduces a suite of new UI components for the 'Sera' editorial theme, providing visual previews for the Article Directory, Audience Analytics, Article Editor, Media Library, and Empty State pages. The Article Directory includes a searchable table with status badges and progress indicators, while the Audience Analytics page features a traffic line chart, demographic progress bars, and a metrics grid. The Editor Workspace provides a rich text formatting toolbar and milestone tracking. Additionally, a Theme Switcher allows toggling between visual themes (Taupe, Neutral, Stone, etc.) in the preview environment, and a LazyPreview component uses IntersectionObserver to defer rendering these heavy components until they are visible.

apps/v4/app/(app)/(styles) · high confidence

Add base and radix registry component templates

New registry entries and component implementations for the 'example' component have been added to both the base and radix component bases. These files define the metadata structure and the actual React component code (including wrapper and content layouts) that can be used when scaffolding new applications or components via the registry system.

apps/v4/registry/bases/base/components, apps/v4/registry/bases/radix/components · high confidence

Add base-v4 component examples

The base-v4 examples directory now includes demonstration files for Accordion, Alert, AlertDialog, AspectRatio, Attachment, and Avatar components, providing reference implementations for these UI elements.

apps/v4/examples/base · high confidence

Add dynamic route for individual example pages

Users can now access specific examples via a dedicated URL path (/examples/\[base\]/\[name\]). This new page dynamically fetches the corresponding component and metadata, rendering the example directly and providing SEO-friendly metadata including Open Graph and Twitter card details.

apps/v4/app/(view)/examples · high confidence

Add use-mobile hook to base and radix registries

The base and radix registry bases now include the \use-mobile\ hook, allowing users to install a utility that detects whether the viewport width is below 768px. This hook is registered in both the \apps/v4/registry/bases/base/hooks\ and \apps/v4/registry/bases/radix/hooks\ directories, making it available for installation in projects using either registry configuration.

apps/v4/registry/bases/base/hooks, apps/v4/registry/bases/radix/hooks · high confidence

Added RTL example page with Arabic and Hebrew support

A new example page at apps/v4/app/(app)/examples/rtl demonstrates right-to-left layout support for Arabic and Hebrew. It includes a collection of demo components (button groups, input groups, fields, spinners, avatars, items, and a Notion-style prompt form) that use localized translations and the ui-rtl component variants (e.g., Button, Input, Select, Popover, DropdownMenu) to show correct alignment, icon rotation, and direction-aware behavior.

apps/v4/app/(app)/examples/rtl · high confidence

Added v4 examples directory with auto-generated registry index

The \apps/v4/examples\ directory now contains demo components for documentation, organized into \base\ and \radix\ subdirectories. An auto-generated \\_\index\\_.tsx\ file maps these examples (such as accordion, alert, avatar, and badge variants) to their source files, enabling their inclusion in documentation via the \ComponentPreview\ component. Users must run \pnpm --filter=v4 registry:build\ after adding or removing example files to update the index.

apps/v4/examples · high confidence

Initial UI package scaffolding for the monorepo template

The \templates/start-monorepo/packages/ui\ location now includes the foundational configuration files for a shared UI package. This adds a \components.json\ file configuring shadcn/ui with the 'radix-nova' style and Lucide icons, ESLint configurations (both \.js\ and \.ts\) extending TanStack's defaults with specific rule overrides, and TypeScript configurations (\tsconfig.json\ and \tsconfig.lint.json\) setting up path aliases and strict compilation. It also introduces a global CSS file importing Tailwind with source paths for the monorepo apps and components, along with placeholder directories for components, hooks, and lib.

templates/start-monorepo/packages/ui · high confidence

Initial release of @shadcn/react package

The @shadcn/react package is now available, providing unstyled React components including the MessageScroller and the new Questionnaire primitive for multi-step forms with validation and keyboard navigation. This release also includes build configuration for ESM output with React Server Components support and browser-based testing infrastructure.

packages/react · high confidence

Initial web app template with TanStack Router and 404 handling

The web application template now uses TanStack Router for client-side navigation, featuring a generated route tree and a router configuration that enables scroll restoration and intent-based preloading. The root layout includes global styles and a dedicated 404 notFoundComponent that displays a styled error message when a requested page is not found, while the index route provides a starter UI with a button component to begin development.

templates/start-monorepo/apps/web/src · high confidence

Initial web app template with dark mode and UI components

The web application template now includes a root layout that integrates the Geist font family and a ThemeProvider for system-aware dark mode support. Users can toggle between light and dark themes by pressing the 'd' key, with logic to prevent interference during text input. The template also provides a default home page featuring a Button component from the shared UI library, along with configuration files for Next.js, TypeScript, ESLint, and PostCSS to ensure consistent styling and code quality.

templates/next-monorepo/apps/web · high confidence

Introduce @shadcn/helpers for AI SDK chat fixtures and human-in-the-loop mocking

The new @shadcn/helpers package provides a deterministic chat fixture system for testing AI applications built with the AI SDK. It introduces a fluent API to script user and assistant turns, supporting complex message structures like reasoning, data parts, file attachments, and tool calls. A key capability is human-in-the-loop mocking: the system can pause on unresolved tool calls or approval-gated actions, allowing tests to simulate user decisions and continue the conversation via continuation callbacks. The package also includes an AI SDK-specific adapter that formats these scripted messages into the correct stream chunks expected by the AI SDK's transport layer.

packages/helpers · high confidence

Introduce Base UI component registry for v4

The v4 registry now includes a new 'base' UI layer that wraps components with the @base-ui/react primitives. This adds a comprehensive set of accessible primitives (such as Accordion, Alert, Avatar, Button, Checkbox, Collapsible, and Combobox) alongside styled shadcn-style wrappers (including Calendar, Card, Carousel, and Chart). The registry also introduces new composite components like Attachment, Bubble, and InputGroup, providing a unified, themeable foundation for the v4 application.

apps/v4/registry/bases/base/ui · high confidence

Introduce MessageScroller component for chat transcripts

Added the MessageScroller component, a headless scroll container for chat transcripts that manages scroll position, anchoring, auto-follow, and visibility tracking. This new feature includes a provider, root, viewport, content, item, and button components, along with hooks for scroll control and visibility state. The implementation is backed by comprehensive unit and browser-based performance tests to ensure stability and efficiency during scrolling and content updates.

packages/react/src · high confidence

Introduce registry health monitoring and scoring

Added a new health monitoring system for registries that tracks availability, schema validity, item correctness, and dry-run installability. The implementation includes network safety checks to prevent SSRF by blocking private IP addresses, a dry-run execution engine that safely spawns CLI processes with sanitized environments and timeouts, and a scoring engine that calculates health scores based on recent observations. Health data is persisted to blob storage with versioned schemas and automatic history cleanup.

apps/v4/lib/registry-health · high confidence

Introduce shadcn Model Context Protocol (MCP) server

A new MCP server implementation has been added to the shadcn package, exposing tools that allow AI agents to interact with shadcn registries. This includes capabilities to list and search for UI components, view detailed item information and usage examples, retrieve CLI add commands, and perform post-creation audits. The server integrates with the existing registry context to support pagination, type filtering, and error handling for skipped registries.

packages/shadcn/src/mcp · high confidence

Introduction of parallel Base UI and Radix registry bases

The registry now supports two parallel component bases: \base\ (backed by Base UI) and \radix\ (backed by Radix). This change introduces a new registry structure where UI components are available under both implementations, allowing users to choose their preferred underlying library. The \\_\index\\_.tsx\ file has been updated to expose these new base variants, and documentation guidelines have been added to ensure that shared surfaces are kept in sync across both trees.

apps/v4/registry/bases · high confidence

New ARIA-based component examples for Accordion, Alert, and Avatar

The aria example application now includes a comprehensive set of new component demos, providing reference implementations for Accordion (basic, borders, card, disabled, multiple, and RTL), Alert (basic, colors, destructive, action, and RTL), AlertDialog (basic, destructive, small, media, and RTL), AspectRatio, Attachment, and Avatar (basic, group, badge, and RTL). These files demonstrate how to use the new \aria-nova\ and \aria-rhea\ UI libraries to build accessible interfaces with features like right-to-left layout support, media icons, and grouped avatars.

apps/v4/examples/aria · high confidence

New Astro, React Router, and TanStack Start project templates

Users can now scaffold new applications using Astro, React Router, and TanStack Start in addition to existing Next.js options. The Astro templates (single-app and monorepo) are configured with React, TypeScript, and shadcn/ui, utilizing the new Tailwind CSS v4 setup and the \radix-nova\ style. The React Router templates provide both single-app and monorepo structures, featuring the \remixicon\ icon library and a comprehensive global CSS file with Tailwind CSS v4 theme variables. The TanStack Start template includes a file-based router setup with Tailwind CSS and shadcn/ui integration. All new templates support the \shadcn\ CLI for adding components and are configured with pnpm workspaces and Turborepo for monorepo variants.

templates · high confidence

New Blocks and Colors pages with SEO metadata and Radix Luma styling

The app now includes dedicated /blocks and /colors pages. The Blocks section features a layout with a page header using Radix Luma buttons, a navigation component, and displays featured blocks on the main page and categorized blocks on sub-pages, all with generated static metadata. The Colors section provides a similar layout structure to display color palettes. Both pages are configured for static generation and include Open Graph and Twitter card metadata for improved SEO.

apps/v4/app/(app)/blocks · high confidence

New LLM-optimized documentation route

A new API route at /llm/\[\[...slug\]\] has been added to serve documentation content specifically processed for Large Language Models. This endpoint fetches the requested page, applies style-specific processing (supporting base-nova, aria-nova, and new-york-v4 styles based on the URL slug), and returns the content as raw Markdown. This allows external tools or internal systems to consume documentation in a format optimized for LLM ingestion.

apps/v4/app/(app)/llm · high confidence

New Playground and Tasks examples added to v4

Added new example pages for a Playground (mimicking OpenAI's interface with model selection, parameter sliders, and preset management) and a Tasks data table (featuring sorting, filtering, pagination, and row actions). These examples are built using the v4 New York registry components and, for the Tasks table, integrate TanStack Table v9 with explicit feature declarations for tree-shaking.

apps/v4/app/(app)/examples/tasks · high confidence

New Radix v4 example components for Accordion, Alert, Aspect Ratio, Attachment, and Avatar

The Radix v4 examples directory now includes a comprehensive set of new component demos, providing ready-to-use patterns for Accordion (basic, bordered, card-wrapped, disabled, multiple, and RTL), Alert (basic, destructive, colored, with actions, and RTL), Aspect Ratio (landscape, portrait, square, and RTL), Attachment (grouping, image previews, size variants, upload states, and triggers), and Avatar (basic, groups, badges, and RTL). These examples demonstrate the updated component APIs and styling conventions for the v4 design system.

apps/v4/examples/radix · high confidence

New React monorepo application templates with UI and theme support

Added new starter templates for the \react-router-monorepo\ and \vite-monorepo\ application structures. The React Router template includes a Dockerfile for containerized builds, a root layout with error boundaries, and configuration for shadcn/ui components using the \radix-nova\ style. The Vite template provides a complete setup with a \ThemeProvider\ component that supports dark/light/system modes (toggled via the 'd' key), ESLint configuration, and Tailwind CSS integration. Both templates initialize a home page displaying a shared workspace button component to demonstrate inter-package communication.

templates/react-router-monorepo/apps/web, templates/vite-monorepo/apps/web · high confidence

New Typeset customization interface with live preview and documentation

The Typeset page now features a dedicated customization interface that allows users to adjust typography settings (font, size, leading, flow, measure) via a custom picker component. These changes are reflected in real-time through an iframe-based preview that supports hover-based live previews without committing to the URL history. The interface includes a main menu for actions like shuffling, resetting, and undo/redo, as well as a documentation panel that provides step-by-step installation instructions and a copyable prompt for AI coding agents. Keyboard shortcuts (R for shuffle, D for theme toggle, Cmd+Z for undo/redo) are supported both in the main UI and within the preview iframe.

apps/v4/app/(app)/(typeset) · high confidence

New Vite + React template with dark mode support

A new Vite-based React template has been added to the project. It provides a ready-to-use application structure featuring a Tailwind CSS setup, a reusable ThemeProvider component for managing light, dark, and system color schemes, and a keyboard shortcut (press 'd') to toggle the theme. The template includes a root layout and a home page demonstrating these capabilities.

templates/vite-app · high confidence

New York v4 UI component registry

The New York v4 UI registry has been introduced, providing a comprehensive set of accessible, themeable UI components for the v4 design system. This release includes foundational elements such as Accordion, Alert, Avatar, Badge, Breadcrumb, Button, Calendar, Card, Carousel, Checkbox, and Chart, along with more complex interactive components like AlertDialog, Attachment, Bubble, and ButtonGroup. The components are built using Radix UI primitives and Tailwind CSS, featuring a consistent \data-slot\ attribute system for styling and support for variants, sizes, and states. The registry also includes a charting component powered by Recharts, enabling data visualization within the v4 ecosystem.

apps/v4/registry/new-york-v4/ui · high confidence

New York v4 registry adds comprehensive chart component examples

The New York v4 registry now includes a full suite of chart examples built with Recharts, covering area charts (default, gradient, stacked, interactive, with icons/legend/axes), bar charts (default, horizontal, interactive, with active states and custom labels), and radial charts. These components are registered as \registry:block\ items, allowing users to easily install and customize these visualization patterns in their applications.

apps/v4/registry/new-york-v4/charts · high confidence

New York v4 registry example files added

The New York v4 registry now includes a comprehensive set of example components for the documentation site. This change adds the registry manifest and individual demo files for core UI elements including Accordion, Alert, Avatar, Badge, Breadcrumb, and Button (with variants like ghost, destructive, and link). It also introduces new examples for ButtonGroup, demonstrating layouts with dropdowns, popovers, selects, and input groups, as well as a new Calendar example.

apps/v4/registry/new-york-v4/examples · high confidence

New base UI component examples and registry metadata

The base registry now includes a comprehensive set of example implementations for core UI components, including Accordion, Alert, AlertDialog, AspectRatio, Attachment, Avatar, Badge, Breadcrumb, Bubble, and Button. These examples demonstrate various variants, sizes, and usage patterns (such as icon placement, responsive layouts, and state handling) to help users quickly integrate and customize the base design system.

apps/v4/registry/bases/base/examples · high confidence

New card-based dashboard components and demo layout

This change introduces a collection of new UI card components for the dashboard, including Account Access, Analytics, Claimable Balance, Contribution History, Dividend Income, Empty Distribute Track, New Milestone, Notification Settings, Payments, Payout Threshold, Power Usage, QR Connect, Savings Targets, and Sidebar Navigation. These components are assembled into a responsive demo layout (\CardsDemo\) that arranges them in a grid, with additional skeleton loading states provided for each card to support loading UI patterns.

apps/v4/app/(app)/(root)/cards · high confidence

New charts documentation page in v4 app

The v4 application now includes a dedicated charts documentation section at /charts. This new layout page provides a header with metadata and navigation, and the charts.tsx file defines a comprehensive registry of chart components (area, bar, line, pie, radar, radial, and tooltip variants) sourced from the new-york-v4 registry, making these visualizations available for users to browse and integrate.

apps/v4/app/(app)/charts · high confidence

New component transformation utilities and test coverage

The shadcn CLI now includes a suite of code transformation utilities to automatically adapt component code during installation or updates. These transformations handle converting \asChild\ props to \render\ props, mapping Tailwind color variables to inline colors, applying custom CSS prefixes, supporting Right-to-Left (RTL) layouts, and replacing icon placeholders with actual icon components from libraries like Lucide. The system also cleans up internal marker classes and manages font-related class names based on project configuration. Comprehensive test suites and snapshots have been added to verify the correct behavior of these transformations across various import styles, dynamic imports, and React Server Component (RSC) patterns.

packages/shadcn/src/utils/transformers · high confidence

New dashboard and login UI blocks for the Radix registry

This update adds new pre-built UI blocks to the Radix registry, including a comprehensive dashboard template (dashboard-01) and multiple login page variants (login-01 through login-05). The dashboard block features a sidebar navigation, an interactive area chart using Recharts, and a data table powered by TanStack Table v9 with drag-and-drop sorting, row selection, and filtering capabilities. The login blocks provide various authentication layouts, including simple forms, two-column designs with cover images, and social login options. These blocks are now available for users to scaffold new applications or integrate into existing projects.

apps/v4/registry/bases/radix/blocks · high confidence

New dashboard and login UI blocks for v4

The registry now includes a new 'dashboard-01' block featuring a sidebar, interactive area chart, and a data table with drag-and-drop sorting and filtering powered by TanStack Table v9. Additionally, four new login page blocks (login-01 through login-04) have been added, offering various layouts including split-screen designs and social login options.

apps/v4/registry/new-york-v4/blocks · high confidence

New dashboard and login page blocks added to the registry

This change introduces a new set of pre-built UI blocks to the registry, including a comprehensive dashboard template (dashboard-01) and multiple login page variants (login-01 through login-05). The dashboard block features a sidebar with navigation, an interactive area chart using Recharts, and a data table powered by TanStack Table v9 with drag-and-drop sorting, filtering, and pagination. The login blocks provide various authentication UI patterns, such as simple forms, two-column layouts with cover images, and social login options.

apps/v4/registry/bases/base/blocks · high confidence

New dynamic chart type pages with pre-rendered code highlights

A new dynamic route at /charts/\[type\] has been added to display specific chart categories (area, bar, line, pie, radar, radial, tooltip). This page pre-fetches registry item metadata and highlighted code for all charts in the selected category in parallel, then renders them using the ChartDisplay component in a responsive grid layout. The page is statically generated with force-static settings and includes SEO metadata with canonical URLs for each chart type.

apps/v4/app/(app)/charts/\[type\] · high confidence

New dynamic view page for registry components

Added a new dynamic route page at \apps/v4/app/(view)/view/\[style\]/\[name\]/page.tsx\ that serves as the display surface for individual registry components. This page fetches component metadata and content from the registry (falling back to demo items), generates SEO metadata (Open Graph/Twitter cards), and statically generates paths for all registered components and examples. It wraps the rendered component in a new \ComponentPreview\ utility (defined in \component-preview.tsx\) which applies specific styling to handle chart shadows within cards.

apps/v4/app/(view)/view · high confidence

New migration commands for class-name merging and base color themes

The CLI now includes dedicated migration commands to modernize existing projects. The \cn\ migration automatically replaces \clsx\ and \tailwind-merge\ usage with the unified \cn\ package, handling various import styles and preserving comments, while also supporting the \cnfast\ package. Additionally, a new base-color migration allows users to update their CSS variables from one theme (e.g., slate) to another (e.g., zinc) by rewriting the relevant \oklch\ values in their Tailwind CSS configuration.

packages/shadcn/src/migrations · high confidence

New monorepo templates for Vite and TanStack Start

Added new starter templates for monorepo projects, including a Vite-based UI package and a TanStack Start web application. The web app template configures Vite with TanStack Start, React, Tailwind CSS, and TanStack DevTools, while the UI package template provides a shared component library structure with Tailwind CSS, ESLint, and TypeScript configuration. Both templates use shadcn/ui with the radix-nova style and lucide icons, establishing a consistent foundation for new monorepo applications.

templates/start-monorepo/apps/web, templates/vite-monorepo/packages/ui · high confidence

New preset system with built-in themes and encoding

The shadcn CLI now includes a comprehensive preset system that allows users to select from predefined design themes (Nova, Vega, Maia, Lyra, Mira, Luma, Sera, and Rhea) during initialization. These presets bundle specific combinations of icon libraries (Lucide, Hugeicons, Phosphor), fonts (Inter, Geist, Figtree, JetBrains Mono, etc.), and color schemes. The system supports a new 'aria' base option alongside existing 'radix' and 'base' bases. Preset configurations are encoded into short, shareable codes (v2 format) that include chart colors and heading fonts, enabling users to easily replicate or share their design choices.

packages/shadcn/src/preset · high confidence

New programmatic registry API and address resolution logic

The shadcn registry module now exposes a programmatic API for adding and resolving registry items, including support for universal items, GitHub registries, and namespaced registries. The \addRegistryItems\ function handles configuration merging, environment variable loading, and registry tree resolution, while the \address\ module introduces robust parsing for item addresses (shadcn, namespace, URL, file, and GitHub schemes) with strict validation for GitHub refs. The \builder\ module provides URL and header construction with environment variable expansion and query parameter support, and the \config\ module merges user configurations with built-in registries and applies style fallbacks for Tailwind v4.

packages/shadcn/src/registry · high confidence

New project templates and monorepo package-manager support

The CLI now scaffolds projects for Astro, Laravel, React Router, and TanStack Start in addition to existing Next.js and Vite options, each with dedicated single-app and monorepo configurations. For monorepos, the init process now respects the detected package manager: it adapts workspace configurations (converting pnpm-workspace.yaml and workspace: protocol references for npm), updates the packageManager field in package.json, and uses fontsource for font handling in non-Next.js frameworks while preserving Next.js-specific font setup. Tests verify correct install-arg selection per package manager and safe workspace-protocol rewriting.

packages/shadcn/src/templates · high confidence

New registry bases for Base UI and Radix UI themes

The registry now includes dedicated base configurations for both Base UI and Radix UI, allowing users to scaffold projects with their preferred component library. The new \base\ registry base configures dependencies for \@base-ui/react\, while the \radix\ base configures dependencies for \radix-ui\, each providing distinct style presets and dependency lists for their respective ecosystems.

apps/v4/registry/bases/base, apps/v4/registry/bases/radix · high confidence

New registry management commands for adding, building, and validating registries

The shadcn CLI now includes a dedicated \registry\ command group with three subcommands. The \registry add\ command allows users to register custom component sources by namespace (e.g., \@acme\) or URL, automatically updating \components.json\ or \package.json\ with the new registry configuration. The \registry build\ command (marked experimental) processes a local \registry.json\ file to resolve item dependencies, deduplicate files, and output individual JSON registry items to a specified directory. The \registry validate\ command checks the integrity of a registry file or a GitHub source, reporting specific diagnostics for missing files or schema errors and setting a non-zero exit code on failure.

packages/shadcn/src/commands/registry · high confidence

New search API endpoint powered by Fumadocs

A new API route at /api/search has been added to support documentation search functionality. This endpoint utilizes the Fumadocs search server integration, specifically the \createFromSource\ helper, to expose search capabilities based on the configured documentation source.

apps/v4/app/api · high confidence

New shadcn CLI commands for registry management, presets, and project configuration

The CLI now includes several new commands to manage components and project settings: \build\ generates flattened registry JSON files from source registries, supporting nested output directories and \include\ directives; \apply\ allows applying UI presets (theme, font) to existing projects with an \--only\ flag to selectively update parts; \eject\ inlines the \shadcn/tailwind.css\ styles into the project's CSS and removes the \shadcn\ dependency; \docs\ fetches documentation links for components based on the project's base; \info\ outputs project configuration and preset details in JSON or human-readable format; and \diff\ (deprecated) is replaced by \add --diff\ to preview component updates. These commands enhance the developer experience by providing more granular control over registry builds, theme application, and project introspection.

packages/shadcn/src/commands · high confidence

New style themes (Luma, Lyra, Maia, Mira, Nova, Rhea, Sera) added to the registry

The registry now includes seven new CSS style themes—Luma, Lyra, Maia, Mira, Nova, Rhea, and Sera—each providing a complete set of component styles for elements like buttons, inputs, accordions, and alerts. These themes allow users to apply distinct visual designs to their applications by selecting the corresponding style file.

apps/v4/registry/styles · high confidence

New style transformation system for inlining Tailwind classes

The shadcn CLI now includes a new style transformation pipeline (create-style-map and transform-style-map) that parses CSS @apply directives to build a style map and then automatically inlines the corresponding Tailwind utility classes into component source files. This replaces the need for cn- prefixed class names in the generated code by resolving them to their actual Tailwind classes at build time, while preserving allowlisted classes like cn-rtl-flip and cn-font-heading for runtime handling.

packages/shadcn/src/styles · high confidence

New updaters for Tailwind config, CSS, dependencies, and environment variables

The \packages/shadcn/src/utils/updaters\ directory now includes dedicated modules for managing project configuration and assets. \update-tailwind-config\ and \update-tailwind-content\ handle adding or merging \darkMode\ and \content\ properties in Tailwind config files. \update-css-vars\ and \update-css\ apply CSS variables and utility/component styles to the project's CSS entry point, with specific support for Tailwind v4 syntax. \update-dependencies\ manages \package.json\ entries, including logic to preserve existing version specifiers and handle React 19 peer dependency flags for npm. \update-env-vars\ safely merges environment variables into \.env.local\ files. \update-files\ orchestrates file creation and import resolution. Comprehensive test suites and snapshots have been added for all these modules.

packages/shadcn/src/utils/updaters · high confidence

New v4 Radix UI component registry with multi-icon support and data-slot attributes

The v4 Radix UI registry now provides a comprehensive set of base UI components (including Accordion, Alert, Avatar, Button, Calendar, Card, Carousel, Chart, Checkbox, Collapsible, Combobox, and more) designed for the new design system. These components are built on top of Radix UI primitives and integrate with the \cn\ utility for styling. Key updates include the addition of \data-slot\ attributes to all components for easier CSS targeting, support for multiple icon libraries (Lucide, Tabler, Hugeicons, Phosphor, and Remixicon) via the \IconPlaceholder\ component, and the introduction of new components like \Attachment\, \Bubble\, and \ButtonGroup\. The registry also includes specific implementations for complex components like \Chart\ (using Recharts) and \Calendar\ (using react-day-picker), ensuring consistent styling and behavior across the application.

apps/v4/registry/bases/radix/ui · high confidence

New v4 Radix example registry with multi-style theming

The v4 Radix registry now includes a comprehensive set of component examples (such as Accordion, Alert, Avatar, and Button) that demonstrate the new theming system. These examples utilize a \style-\ prefix (e.g., \style-vega\, \style-nova\, \style-lyra\) to apply distinct visual variants to components, allowing users to preview and adopt different design aesthetics within the same component structure.

apps/v4/registry/bases/radix/examples · high confidence

The v4 application area now includes a suite of new hooks to support its specific UI and data needs. A new layout system (use-layout, LayoutProvider) allows users to toggle between 'fixed' and 'full' modes, persisting the choice in local storage. Configuration management (use-config) introduces a 'new-york-v4' style and standardizes package manager options. Search functionality is enhanced via use-search-registry, which integrates with nuqs for URL-synced, paginated directory filtering. Additional utility hooks include use-colors for managing color formats, use-copy-to-clipboard with legacy fallbacks, use-delayed-status for chat states, and standard media/mobile queries.

apps/v4/hooks · high confidence

New v4 application library utilities and registry infrastructure

The \apps/v4/lib\ directory has been populated with a comprehensive set of new utility modules that power the v4 application experience. This includes registry management logic for fetching and caching components (\registry.ts\, \blocks.ts\), code transformation and syntax highlighting for documentation (\format-code.ts\, \highlight-code.ts\), and a new AI compatibility bridge (\ai.ts\) that re-exports from \@shadcn/helpers/ai-sdk\. The update also introduces dedicated modules for managing site configuration, font definitions, color palettes, and message animations, alongside infrastructure for handling the documentation page tree and sidebar scroll restoration.

apps/v4/lib · high confidence

New v4 card components for dashboards and forms

Added a suite of new UI card components in the v4 application, including activity goals, calendar views, chat interfaces, cookie settings, account creation, exercise statistics, subscription forms, payment methods, issue reporting, document sharing, stats dashboards, and team management. These components utilize the v4 registry UI primitives (such as Card, Field, Chart, and Command) to provide ready-to-use layouts for common dashboard and form patterns.

apps/v4/components/cards · high confidence

New v4 homepage with SEO metadata and structured data

The root page for the v4 application has been introduced, establishing the main landing view. This page now includes comprehensive SEO metadata (Open Graph, Twitter cards) and JSON-LD structured data to improve search engine visibility. The layout features a new header with announcement and call-to-action buttons, alongside a responsive hero section that displays dashboard imagery on mobile and a component demo on desktop.

apps/v4/app/(app)/(root) · high confidence

New v4 preview and authentication example pages

The v4 application now includes a dedicated preview system and authentication examples. The preview infrastructure (app/(view)/preview) allows users to view component blocks with dynamic font variable injection and typeset styling controls, supporting multiple design bases. Additionally, a new authentication example page (app/(app)/examples/authentication) demonstrates the v4 component set, including the new Field, FieldGroup, and Spinner components alongside the Button.

apps/v4 · high confidence

New v4 public registry configuration and theme assets

The v4 public registry now includes its core configuration and asset files, enabling users to install and customize UI components. A new \config.json\ defines multiple style presets (such as Vega, Nova, and Maia) built on different base libraries like Radix, Aria, and Base, allowing selection of specific fonts, icon libraries, and color themes. The \index.json\ file catalogs available UI components (e.g., accordion, alert, avatar) with metadata linking to documentation and examples for each base. Additionally, \themes.css\ provides the CSS variable definitions for various color themes (zinc, slate, stone, etc.) in both light and dark modes, and \registries-legacy.json\ maps third-party registry aliases to their respective URLs, supporting the installation of external component collections.

apps/v4/public/r · high confidence

New v4 registry build and maintenance tooling

The apps/v4/scripts directory now includes a comprehensive set of build and maintenance scripts for the v4 registry. The new build-registry.mts script serves as the central pipeline, handling the generation of registry indexes, style-specific UI components, and public registry JSON outputs with targeted build modes and caching. Supporting scripts include build-icons.ts for managing icon mappings across libraries, build-test-app.mts for generating test applications with specific styles, and capture scripts (capture-explore.mts, capture-registry.mts) for taking screenshots of registry blocks and explore presets. Additionally, monitor-registries.mts provides health monitoring for registries, while validate-registries.mts ensures directory and registry JSON validity.

apps/v4/scripts · high confidence

Registry directory endpoint now includes health status data

The \/r/registries.json\ endpoint has been updated to merge registry health information into the directory payload when the \REGISTRY\_HEALTH\_ENABLED\ environment variable is set. The route fetches a health snapshot from a blob store (using a configurable store ID or a default) and merges the health score and status for each registry. The endpoint uses static ISR with a 5-minute revalidation period and is designed to fail open—returning the registry list without health data if the snapshot is missing, stale, or if the health service is unavailable.

apps/v4/app/r · high confidence

Support for multiple icon libraries (Lucide, Phosphor, Remix, Tabler, Hugeicons)

The icon registry now supports five icon libraries—Lucide, Phospher, Remix, Tabler, and Hugeicons—allowing users to choose their preferred icon set. This change introduces auto-generated export files for each library and a dynamic \createIconLoader\ utility that handles lazy-loading and caching of icons from the selected source. A \legacy-mapping.json\ file is also included to map existing icon names to their equivalents in the new libraries, facilitating migration from previous icon sets.

apps/v4/registry/icons · high confidence

Support for multiple icon libraries with migration capability

The icon system now supports Lucide, Tabler, Hugeicons, Phosphor, and Remix Icon. This change introduces a configuration structure defining the package and import details for each library, along with template parsing logic that allows users to migrate icons between any of these supported libraries.

packages/shadcn/src/icons · high confidence

v4 registry overhaul with multi-base architecture and public health monitoring

The v4 registry has been restructured to support a multi-base architecture, allowing users to choose between Base UI, Radix UI, and React Aria as their underlying component primitives, combined with various style presets like Nova and Sera. This change introduces a new build pipeline that generates registry combinations from authored bases and style tokens, replacing the previous single-style model. Additionally, the registry now includes a public health monitoring system that checks registry availability and publishes status to a private Vercel Blob store, exposing this data via the \/r/registries.json\ route to help users identify reliable third-party registries.

apps/v4/registry · high confidence

Removals

Removal of legacy UI component library

The entire \apps/www/components/ui\ directory has been removed, deleting all previously shipped UI components including Accordion, AlertDialog, Avatar, Button, Checkbox, Collapsible, ContextMenu, Dialog, DropdownMenu, HoverCard, Label, Menubar, Popover, RadioGroup, ScrollArea, Select, Separator, Slider, Switch, Tabs, and Tooltip. This eliminates the old Radix-based implementation from the application.

apps/www/components/ui · high confidence

Removal of legacy component example files

The \apps/www/components/examples\ directory has been cleaned up by deleting numerous legacy example files (such as \button/loading.tsx\, \checkbox/demo.tsx\, and \tabs/demo.tsx\) and removing the central \index.tsx\ barrel file that previously exported these components. This change removes the old, flat example structure from the codebase, likely as part of a broader reorganization where examples are now managed or displayed differently.

apps/www/components/examples · high confidence

Removal of legacy documentation and site configuration files

The \docs.ts\ and \site.ts\ configuration files within the \apps/www/config\ directory have been removed. This deletion eliminates the hardcoded definitions for the main navigation, sidebar navigation structure, and basic site metadata (name, description, and social links) that previously powered the documentation site's layout and identity.

apps/www/config · high confidence

Removal of legacy www documentation components and utilities

The \apps/www/components\ directory has been cleared of its previous implementation, removing a suite of documentation-specific UI elements and supporting files. This includes the deletion of the Apple Music demo, MDX rendering helpers (\mdx.tsx\, \mdx-head.tsx\), and layout components such as the site header, main navigation, sidebar navigation, and pager. Additionally, utility components for code display (\code-block-wrapper.tsx\, \component-example.tsx\, \component-source.tsx\), copy functionality (\copy-button.tsx\), and theme management (\theme-provider.tsx\, \fonts.tsx\) have been removed, along with the associated API endpoint for event logging (\pages/api/log.ts\) and TypeScript type definitions (\types/nav.ts\, \types/unist.ts\).

apps/www/components · high confidence

Removal of log and OG image validation schemas

The validation schemas for logging events (specifically the \logSchema\ for \copy\_primitive\ events) and Open Graph image generation (\ogImageSchema\) have been removed from the application. This eliminates the Zod-based type definitions previously used to validate these specific data structures, meaning any code relying on these schemas for input validation or type inference will no longer function as before.

apps/www/lib/validations · high confidence

Behavioural changes

Add 404 handling to the start-app template

The start-app template now includes a dedicated notFoundComponent in the root route configuration, ensuring that users see a styled 404 page with a clear message when navigating to non-existent routes, rather than relying on default framework behavior.

templates/start-app/src/routes · high confidence

Automated commit and push for template updates

The sync-templates script now automatically stages, commits, and pushes changes to the main branch when local modifications are detected in a template folder. This ensures that any updates made to the template files are immediately synchronized to the remote repository without manual intervention.

scripts · high confidence

Dashboard example updated to v4 components and TanStack Table v9

The dashboard example has been refreshed to use the new v4 component registry (imported from \@/registry/new-york-v4/ui/...\), including the updated Sidebar, Card, and Chart components. The data table implementation now leverages TanStack Table v9, utilizing its new feature-based architecture (e.g., \tableFeatures\, \createFilteredRowModel\) and integrating \@dnd-kit\ for row reordering. The layout has been restructured to use the v4 \SidebarProvider\ and \SidebarInset\, and the interactive area chart now supports time-range filtering via a toggle group and mobile-responsive select.

apps/v4/app/(app)/examples/dashboard · high confidence

New AI rule to enforce UI registry parity

A new Cursor rule has been added to ensure that changes to shared UI components in the 'base' registry are automatically mirrored in the 'radix' registry. This guideline instructs the AI to keep parallel UI trees in sync, reducing manual effort to maintain consistency across different UI implementations.

.cursor · high confidence

New York v4 registry restructured with shadcn/ui integration

The New York v4 registry has been restructured to integrate with shadcn/ui, importing the registry schema from shadcn and utilizing the cn utility. The registry now explicitly declares dependencies on class-variance-authority, cn, lucide-react, and radix-ui, alongside devDependencies on tw-animate-css and shadcn. It consolidates style definitions for the 'index' and 'style' items and aggregates components from UI, blocks, charts, lib, hooks, themes, examples, and internal modules, while filtering out deprecated toast-related items.

apps/v4/registry/new-york-v4 · medium confidence

New application layout structure for v4

The v4 application now uses a dedicated layout component that wraps the main content area with a SiteHeader and SiteFooter. This layout ensures the app fills the viewport height and includes specific styling adjustments when the designer slot is active, such as handling overflow and height constraints.

apps/v4/app/(app) · high confidence

New examples page layout with RTL support and theme selector

The examples section now uses a dedicated layout that includes a page header with navigation actions, a sidebar navigation menu, and a theme selector. A key behavioral change is the addition of support for right-to-left (RTL) components: when a component has the data attribute \data-slot=rtl-components\, the layout container adjusts its overflow, border, and background styles to ensure proper rendering in RTL contexts.

apps/v4/app/(app)/examples · high confidence

New v4 documentation components and theme management

The v4 documentation site now includes a dedicated theme management system via the new \ActiveThemeProvider\ and \useThemeConfig\ components, which handle theme switching by managing CSS classes on the document body. Additionally, a suite of new UI components has been introduced to support the v4 layout and content display, including \BlockDisplay\ and \BlockViewer\ for showcasing code blocks, \ChartDisplay\ and \ChartCodeViewer\ for interactive chart previews, \ComponentPreview\ for rendering registry components with their source code, and navigation helpers like \BlocksNav\, \ChartsNav\, and \ColorsNav\. The \Callout\ component has also been updated to use \rounded-2xl\ styling.

apps/v4/components · high confidence

Preflight checks for CLI commands

The CLI now runs preflight checks before executing commands like init, add, apply, build, and migrate. These checks validate the project environment by ensuring the target directory exists, verifying the presence of a valid components.json configuration, and confirming that required dependencies like Tailwind CSS and import aliases are correctly set up. If any preflight check fails, the command exits early with a clear error message guiding the user to resolve the issue, preventing downstream errors during component installation or configuration.

packages/shadcn/src/preflights · high confidence

Redesigned design system customizer with granular style controls

The create flow now features a comprehensive, client-side design system customizer that allows users to fine-tune their project's appearance in real-time. This update introduces dedicated pickers for selecting the base UI style, theme, chart colors, menu accents, and menu colors, alongside controls for typography (body and heading fonts), border radius, and icon libraries (Lucide, Tabler, Hugeicons, Phosphor, Remixicon). The customizer is backed by a new \DesignSystemProvider\ that synchronizes these settings via URL search parameters and applies CSS variables and body classes to the preview iframe instantly. Additional features include a command palette for quick item access, undo/redo history support, and a devtools panel for inspecting and sharing the current configuration.

apps/v4/app/(app)/(create) · high confidence

Registry base libraries now depend on the 'cn' utility

The base and radix registry libraries have been updated to explicitly depend on the 'cn' package. The registry definitions now list 'cn' as a dependency for the 'utils' item, and the utility files re-export the 'cn' function from the 'cn' package, ensuring that components relying on this utility will have it available.

apps/v4/registry/bases/base/lib, apps/v4/registry/bases/radix/lib · high confidence

Registry component maps are sharded by style for improved performance

The component registry in apps/v4 has been restructured to shard component maps per style (e.g., base, radix, aria-luma, aria-lyra, aria-maia, aria-mira). Instead of a single monolithic registry, the system now uses separate entry points for each style theme, with an index file coordinating the lazy loading of components from their respective style-specific modules. This change improves performance by allowing applications to load only the components relevant to their chosen style, reducing initial bundle size and load times.

apps/v4/examples/\\components\\, apps/v4/registry/\\components\\, apps/v4/registry/bases/\\components\\_ · high confidence_

Removal of MDX code block styling

The dedicated CSS file for MDX content (\mdx.css\) has been removed from the application. This file previously defined visual styles for syntax-highlighted code blocks (powered by Shiki), including line numbers, highlighted lines, and code titles. Users will no longer see these specific custom styles applied to code snippets in MDX files, as the styling rules are no longer present in the codebase.

apps/www/styles · high confidence

Removal of legacy App Router layout and page files

The \head.tsx\, \layout.tsx\, and \page.tsx\ files in the \apps/www/app\ directory have been deleted. This removes the previous implementation of the site's root layout (including the header, footer, and theme provider), global metadata, and the main landing page content, indicating a structural migration away from this specific App Router setup.

apps/www/app · high confidence

Removal of legacy Next.js configuration and Contentlayer setup

The \apps/www\ directory has removed its standalone Next.js configuration (\next.config.mjs\), Tailwind configuration (\tailwind.config.js\), PostCSS configuration (\postcss.config.js\), and the \contentlayer.config.js\ file. Additionally, environment example files (\.env.example\, \.gitignore\) and a custom React hook (\use-lock-body.ts\) have been deleted. This indicates the application is no longer using Contentlayer for content processing and is likely migrating to a different build or content strategy that does not require these specific local configurations.

apps/www · high confidence

Removal of legacy documentation build utilities and assets

The \apps/www/lib\ directory has removed several internal utilities and assets used for building the documentation site. Specifically, \rehype-component.ts\ and \rehype-npm-command.ts\ (which handled MDX processing for component examples and package manager commands) and \toc.ts\ (which generated tables of contents) have been deleted. Additionally, the \utils.ts\ file containing helper functions like \cn\ and \formatDate\, as well as the \vscode-theme.json\ file defining the 'One Hunter Theme' for code highlighting, have been removed. This cleanup eliminates legacy code paths for rendering component sources, npm commands, and styling within the documentation build process.

apps/www/lib · high confidence

Removal of pre-commit and commit-msg hooks

The pre-commit and commit-msg hooks in the .husky directory have been removed, meaning the repository no longer automatically runs linting (commitlint) or formatting (pretty-quick) checks before commits are finalized or messages are accepted.

.husky · high confidence

Repository restructured for v4 monorepo with new tooling and configuration

The repository has been reorganized into a v4 monorepo structure, introducing a new \apps/v4\ workspace for the website and registry alongside the \packages/shadcn\ CLI. This change includes a Node.js version bump to v20.5.1, the addition of a \.kodiak.toml\ for automated PR merging, and the introduction of a \vitest\ testing configuration. Build and linting tooling has been updated with new \turbo.json\ tasks, a renamed \prettier.config.cjs\ with expanded import sorting rules, and an updated ESLint setup. Additionally, the root \tailwind.config.js\ has been removed, and documentation files like \CONTRIBUTING.md\ and \RELEASING.md\ have been added to guide development and publishing workflows.

(repo-wide) · high confidence

Updated public assets and configuration schema for v4

The v4 application now includes standard Next.js public assets (file, globe, next, placeholder, vercel, and window SVGs) and a new llms.txt file providing documentation for AI assistants. The site.webmanifest has been moved from the www app to v4 and simplified by removing the name, short\_name, theme\_color, and background\_color fields. Additionally, the schema.json file has been added to define the configuration structure, explicitly supporting new style variants (radix-luma, base-luma, aria-vega, etc.), RTL settings, and a registries field for custom component sources.

apps/v4/public · high confidence

V4 app shell and global styling overhaul

The v4 application root now uses a new \globals.css\ that imports \tw-animate-css\ and \shadcn/tailwind.css\, defines a comprehensive set of CSS variables for colors, radii, and typography, and establishes custom variants for themes (e.g., luma, nova, vega) and layout modes (dark, fixed). The \layout.tsx\ root component integrates \NuqsAdapter\, \ThemeProvider\, \ActiveThemeProvider\, and dual tooltip providers (Base and Radix) alongside Toaster components, while also injecting scripts to handle sidebar scroll restoration and dynamic theme-color meta tag updates. Additionally, the app now includes dedicated files for SEO and discovery: \robots.ts\, \sitemap.ts\, and an RSS feed route (\rss.xml/route.ts\) that aggregates changelog entries, alongside a \style-registry.css\ that layers multiple theme stylesheets.

apps/v4/app · high confidence

shadcn CLI restructured with new commands and Tailwind v4 integration

The shadcn CLI has been restructured to support a broader set of operations, including registry management, preset handling, and MCP server integration, alongside the addition of new commands like \view\, \search\, and \diff\. The package now includes a comprehensive Tailwind CSS configuration (\tailwind.css\) featuring custom variants, utilities, and scroll-fade animations, along with a complete color palette definition (\colors.ts\) using OKLCH values, indicating a shift towards Tailwind v4's theme system.

packages/shadcn/src · high confidence

Test coverage

Added end-to-end tests for shadcn CLI commands; Added test fixtures for Next.js, Remix, and Vite applications; Added test fixtures for Vite monorepo package imports; Added test fixtures for shadcn color themes and framework configurations; Added test utility helpers and mock registry server; New utility functions and comprehensive test coverage for shadcn component installation; shadcn CLI package initialization and test infrastructure.

Dependencies

Dependency updates for v4 app and shadcn packages

The v4 demo application has been updated to use Next.js 16.3.3, React 19.2.3, Tailwind CSS 4.3.0, and Radix UI 1.4.3, alongside new dependencies like @base-ui/react 1.6.0, @tanstack/ai, and recharts 3.8.0. The shadcn CLI package (shadcn 4.21.0) now requires Node.js \>=20.18.1 and has updated its internal dependencies, including @modelcontextprotocol/sdk to 1.26.0 and commander to 14.0.0. Supporting packages @shadcn/helpers and @shadcn/react have also been updated to versions 0.2.0 and 0.3.1 respectively, with the latter adding React 19 peer dependencies.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 36 → 52 (+16.4)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 81 → 78 (-3.0)
  • Architecture 62 (new)
  • Maturity 39 → 53 (+14.2)
  • Readiness 23 → 46 (+23.0)
  • Security 46 → 59 (+13.4)
  • Accessibility 58 (new)

Resolved (124)

  • Critical CVE: [GHSA redacted] (packages/tests/fixtures/next-app-init/package-lock.json)
  • Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
  • Critical CVE: [GHSA redacted] (packages/tests/fixtures/next-app-init/package-lock.json)
  • Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
  • Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
  • Dimension evaluation failed
  • High CVE: [GHSA redacted] (packages/shadcn/test/fixtures/frameworks/next-app-src/pnpm-lock.yaml)
  • High CVE: [GHSA redacted] (packages/shadcn/test/fixtures/frameworks/next-app-src/pnpm-lock.yaml)
  • High CVE: [GHSA redacted] (packages/tests/fixtures/next-app-init/package-lock.json)
  • High CVE: [GHSA redacted] (packages/tests/fixtures/next-app-init/package-lock.json)
  • High CVE: [GHSA redacted] (pnpm-lock.yaml)
  • High CVE: [GHSA redacted] (packages/tests/fixtures/next-app-init/package-lock.json)
  • High CVE: [GHSA redacted] (pnpm-lock.yaml)
  • High CVE: [GHSA redacted] (packages/tests/fixtures/next-app-init/package-lock.json)
  • High CVE: [GHSA redacted] (packages/shadcn/test/fixtures/frameworks/next-app-src/pnpm-lock.yaml)
  • High CVE: [GHSA redacted] (packages/shadcn/test/fixtures/frameworks/next-app-src/pnpm-lock.yaml)
  • High CVE: [GHSA redacted] (packages/shadcn/test/fixtures/frameworks/next-app-src/pnpm-lock.yaml)
  • High CVE: [GHSA redacted] (packages/tests/fixtures/next-app-init/package-lock.json)
  • High CVE: [GHSA redacted] (packages/shadcn/test/fixtures/frameworks/next-app-src/pnpm-lock.yaml)
  • High CVE: [GHSA redacted] (packages/shadcn/test/fixtures/frameworks/vite/package-lock.json)
  • …and 104 more

New (720)

  • Base-context workflow trigger runs with an unscoped token
  • Coverage not measured — JavaScript/TypeScript suite
  • Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
  • Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
  • Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
  • End-of-life runtime: Node.js 20
  • FileTooLong: commands/init.ts (packages/shadcn/src/commands/init.ts)
  • FileTooLong: components/data-table.tsx (apps/v4/registry/bases/aria/blocks/dashboard-01/components/data-table.tsx)
  • FileTooLong: components/data-table.tsx (apps/v4/registry/bases/base/blocks/dashboard-01/components/data-table.tsx)
  • FileTooLong: components/data-table.tsx (apps/v4/registry/bases/radix/blocks/dashboard-01/components/data-table.tsx)
  • FileTooLong: components/data-table.tsx (apps/v4/registry/new-york-v4/blocks/dashboard-01/components/data-table.tsx)
  • FileTooLong: components/project-form.tsx (apps/v4/app/(app)/(create)/components/project-form.tsx)
  • FileTooLong: components/theme-customizer.tsx (apps/v4/components/theme-customizer.tsx)
  • FileTooLong: core/chat.ts (packages/helpers/src/core/chat.ts)
  • FileTooLong: preset/resolve.ts (packages/shadcn/src/preset/resolve.ts)
  • FileTooLong: registry/config.ts (apps/v4/registry/config.ts)
  • FileTooLong: registry/resolver.ts (packages/shadcn/src/registry/resolver.ts)
  • FileTooLong: scripts/build-registry.mts (apps/v4/scripts/build-registry.mts)
  • FileTooLong: ui/sidebar.tsx (apps/v4/registry/bases/aria/ui/sidebar.tsx)
  • FileTooLong: ui/sidebar.tsx (apps/v4/registry/bases/base/ui/sidebar.tsx)
  • …and 700 more

Changes since last survey

  • 106 commits — 85 feature/other, 21 fixes

By area

  • apps/v4 — 64 commits
  • packages/shadcn — 18 commits
  • .github/workflows — 4 commits
  • .github/dependabot.yml — 3 commits
  • templates/start-app — 3 commits
  • (root) — 2 commits
  • packages/helpers — 2 commits
  • templates/next-app — 2 commits
  • templates/react-router-app — 2 commits
  • templates/vite-app — 2 commits
  • templates/vite-monorepo — 2 commits
  • (repo) — 1 commit
  • packages/react — 1 commit

Notable commits

  • fix: fix(ci): bump @changesets/cli for npm 12 publish detection (#11613)
  • fix: fix(ci): skip registry health monitor on forks (#11711)
  • fix: fix(ci): use GitHub token for stale workflow (#11546)
  • fix: fix(cli): preserve comments during cn migration (#11742)
  • fix: fix(docs): exclude accordion from typeset styles (#11579)
  • fix: fix(docs): restore sidebar block preview on mobile (#11715)
  • fix: fix(docs): use render prop instead of asChild in base ui docs (#11478)
  • fix: fix(react): hide MessageScroller until the opening position applies (#11720)
  • fix: fix(registry): correct logo quoting in directory JSON (#11807)
  • fix: fix(registry): merge registries from package.json and components.json (#11501)
  • fix: fix(registry): pass blob store id for oidc (#11622)
  • fix: fix(registry): repair health dry runs (#11739)
  • fix: fix(registry): resolve package.json registries when adding components (#11502)
  • fix: fix(registry): resolve {style} placeholder in health checks (#11712)
  • fix: fix(shadcn): stop throwing on unreadable files (#9248)
  • fix: fix(shadcn): suppress EACCES in remaining migration glob scans (#11500)
  • fix: fix(shadcn): suppress EACCES when resolving monorepo targets (#11504)
  • fix: fix(shadcn): unregister finished spinners and clarify notice dedupe naming (#11604)
  • fix: fix(styles): unify questionnaire and field choice-card styles (#11436)
  • fix: fix: serve OIDC home RSC payloads via forwarded headers
  • …and 86 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

shadcn-ui/ui was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 28 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 98a1fe67b439324ddc857f47fbdce056600a4329 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-d00c643c3f66.