shadcn

Add beautifully designed, accessible UI components as owned source code via a CLI

Tool
npm
v4.18.0
121,615stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
90/100Excellent
Development Activity100
Maintenance100
Community68
Maturity52
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
85/100Excellent
Architecture84
Code Quality85
Innovation90
Learning Curve82

shadcn is the official CLI for shadcn/ui, a code-distribution platform (rather than a traditional npm component library) that copies component source directly into your project via npx shadcn add. Components are built on Radix UI/Base UI primitives and styled with Tailwind CSS, so once added they are fully owned, editable files rather than an opaque installed dependency.

The CLI handles project initialization, adding individual components or third-party registry items, building custom registries, and migrating between framework versions, and it works across React, Next.js, Vite, Laravel, and other supported frameworks.

What You Get

  • A CLI (init, add, build, diff, eject, migrate, search, view) for scaffolding and managing UI components as owned source code
  • A component registry protocol so teams and third parties can publish and consume their own custom component registries, not just the official one
  • Components built on accessible headless primitives (Radix UI, Base UI) styled with Tailwind CSS
  • An MCP (Model Context Protocol) server integration (src/mcp/) for AI coding assistants to browse and install components programmatically
  • Framework support spanning React, Next.js, Vite, and Laravel, with migration tooling between major CLI/component versions

Common Use Cases

  • Bootstrapping a new React/Next.js project’s design system with accessible, pre-built but fully customizable components
  • Adding individual components (buttons, dialogs, forms) to an existing codebase without pulling in an opaque UI library dependency
  • Publishing an internal or public custom component registry for a team or open-source project to consume via the same CLI
  • Letting AI coding assistants discover and install components directly through the CLI’s MCP server integration

Under The Hood

Architecture — The GitHub repo is a pnpm/Turborepo monorepo: apps/v4 hosts the documentation and marketing site, while packages/shadcn is the published CLI (the shadcn npm package), packages/react publishes unstyled primitive components separately, and packages/helpers/packages/tests support the build and test pipeline. Inside the CLI package, src/commands/ holds one file per subcommand (add.ts, init.ts, build.ts, diff.ts, eject.ts, migrate.ts, preset.ts, search.ts, view.ts, mcp.ts), src/registry/ implements the registry-fetching and component-resolution protocol (api.ts, builder.ts, config.ts, address.ts), and src/mcp/ exposes the CLI’s functionality over the Model Context Protocol for AI-assistant integrations.

Tech Stack — TypeScript-first (87% of the codebase), with MDX (9%) for documentation content and CSS (4%) for styles. The CLI itself is a Node.js package (published as shadcn on npm) using standard CLI-building conventions; components depend on Radix UI/Base UI for accessible primitives and Tailwind CSS for styling, with framework adapters targeting Next.js, Vite, and Laravel.

Code Quality — Nearly every command file has a paired .test.ts (add.test.ts pattern seen for apply, build, docs, eject, preset, and others), giving the CLI meaningful automated coverage of its core flows. The project ships over 100 tagged releases across the shadcn and @shadcn/react packages with a consistent, high release cadence (roughly 79 commits/month), and the repo’s RELEASING.md/CONTRIBUTING.md document a mature, structured release and contribution process for a project with 584 contributors.

API Design — The CLI mirrors familiar scaffolding-tool ergonomics (init then add <component>), with diff and eject giving developers escape hatches to inspect or fully detach from CLI-managed updates — a deliberate design choice reflecting the project’s “you own the code” philosophy rather than the typical package-manager update model. The registry protocol (documented separately from the CLI itself) lets third parties extend the same add command to pull from custom sources without CLI changes.

Used by 20 apps in this directory

Java
73%
Other

ByteChef

Automation · AI Agents

990

Unified open-source platform for AI agent orchestration and workflow automation with 180+ connectors, MCP support, and durable execution.

View details
81
Repo Health
82
Technical
73
Dependency
Built with
Java73%
TypeScript26%
Updated 2 days ago
TypeScript
97%
Apache 2.0

Cline

AI Code Assistants

66,453

An open-source AI coding agent that lives in your editor and terminal — reads and edits your codebase, runs commands, browses the web, and requires human approval for every action by default.

View details
90
Repo Health
74
Technical
67
Dependency
Built with
TypeScript97%
Updated today
TypeScript
99%
Other

Dokploy

Devops · Hosting Control Panel · Security

36,702

Self-hosted PaaS that deploys apps and databases on your own VPS using Docker, Traefik, and multi-build-system orchestration

View details
89
Repo Health
76
Technical
65
Dependency
Built with
TypeScript99%
Updated yesterday
TypeScript
94%
MIT

Kaneo

Product Management · Productivity · Project Management

8,371

Lightweight self-hosted project management that gives you kanban boards, GitHub sync, and full team collaboration without the enterprise bloat.

View details
86
Repo Health
81
Technical
70
Dependency
Built with
TypeScript94%
Updated today
TypeScript
98%
MIT

Kimi Code CLI

AI Code Assistants · AI Agents · Developer Tools

6,908

A single-binary, terminal-native coding agent that reads, edits, and runs code end to end, built by Moonshot AI for Kimi models but pluggable with Anthropic, OpenAI, and Google providers too.

View details
81
Repo Health
87
Technical
66
Dependency
Built with
TypeScript98%
Updated today
TypeScript
38%
Apache 2.0

Label Studio

AI Development · Data Engineering

28,083

Label Studio is an open-source, multi-type data labeling platform that lets teams annotate images, text, audio, video, and time series data with a configurable XML-based UI and export annotations in formats ready for any ML framework.

View details
93
Repo Health
87
Technical
68
Dependency
Built with
TypeScript38%
JavaScript27%
Python25%
Updated today
TypeScript
100%
MIT

Llama Coder

AI Development · Low Code Platforms

7,115

Generate multi-file web apps from a single prompt using open-source LLMs — an open-source alternative to Claude Artifacts.

View details
71
Repo Health
66
Technical
73
Dependency
Built with
TypeScript100%
Updated 5 days ago
Python
67%
Other

Morphik

AI Development · Search · Databases

3,707

Morphik is an AI-native ingestion and retrieval engine that lets developers store, search, and reason over visually rich documents — scanned PDFs, manuals, slides, and video — without duct-taping together OCR, an embedding model, and a vector database.

View details
57
Repo Health
71
Technical
68
Dependency
Built with
Python67%
TypeScript25%
Updated 3 weeks ago
Go
54%
Other

Multica

AI Assistants · AI Development

46,769

Turn coding agents into real teammates — assign issues, track progress, and compound reusable skills across a vendor-neutral, self-hosted platform.

View details
86
Repo Health
83
Technical
70
Dependency
Built with
Go54%
TypeScript41%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search