“A set of beautifully-designed, accessible components and a code distribution platform. Works with your favorite frameworks. Open Source. Open Code.” — the project's own words, on GitHub
What it does
shadcn/ui gives your AI a real component library to build your product's interface from, instead of inventing buttons and forms from scratch every time. You, or your AI, install one component at a time, a button, a form, a dialog, straight into your own codebase as real, editable code, not a locked-away package. Because your AI can also talk to it directly through its own connector, you can ask your AI to browse the available components and add the right ones to your project in plain language. The result looks considered and consistent across every screen, because every screen draws from the same set of pieces.
Replaces
an afternoon of one-off styling to make every new screen look consistent with the last one
For
A founder whose AI is building their product's screens and needs a consistent, well-designed set of components to build them from instead of one-off styling every time.
Not for
Not for a plain page with no framework underneath it — it's built to drop into a React-based project like Next.js, Vite or similar, not a static HTML page.
Setup
20 min · Claude Code, Kimi, Gemini CLI or Codex · node, an existing project on a supported framework, such as Next.js, Vite, TanStack Start, React Router or Astro, the AI coding tool you'll connect it to, if you want to add components by asking rather than typing commands
Get it running
Paste this into the AI that runs on your computer. It does the install, checks it works, and tells you what to type first. If anything fails, paste the error back to it.
Paste into Claude Code
Install ui (https://github.com/shadcn-ui/ui) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Claude Code, running on my machine.
1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password.
2. Run `pnpm dlx shadcn@latest init` inside an existing project — it installs itself into that project rather than being cloned.
3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says.
Tool-specific notes: Run pnpm dlx shadcn@latest init -t <framework> inside an existing project — next for Next.js, vite for Vite, start for TanStack Start, react-router for React Router, or astro for Astro; for Laravel, create the Laravel app first, then run the init command.
If I want to add components by asking in plain language rather than typing commands, set up its MCP server: add a shadcn entry (command npx, args ["shadcn@latest", "mcp"]) to .mcp.json for Claude Code or .cursor/mcp.json for Cursor, then ask it to list the available components as a smoke test.
4. Run the smallest test the README gives, and show me the output.
5. When it works, tell me what to type first, in one line, for this job: Set it up in your project.
If anything fails, show me the exact error and fix it before going on.
Paste into Kimi
Install ui (https://github.com/shadcn-ui/ui) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Kimi, running on my machine.
1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password.
2. Run `pnpm dlx shadcn@latest init` inside an existing project — it installs itself into that project rather than being cloned.
3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says.
Tool-specific notes: Run pnpm dlx shadcn@latest init -t <framework> inside an existing project — next for Next.js, vite for Vite, start for TanStack Start, react-router for React Router, or astro for Astro; for Laravel, create the Laravel app first, then run the init command.
If I want to add components by asking in plain language rather than typing commands, set up its MCP server: add a shadcn entry (command npx, args ["shadcn@latest", "mcp"]) to .mcp.json for Claude Code or .cursor/mcp.json for Cursor, then ask it to list the available components as a smoke test.
4. Run the smallest test the README gives, and show me the output.
5. When it works, tell me what to type first, in one line, for this job: Set it up in your project.
If anything fails, show me the exact error and fix it before going on.
Paste into Gemini CLI
Install ui (https://github.com/shadcn-ui/ui) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Gemini CLI, running on my machine.
1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password.
2. Run `pnpm dlx shadcn@latest init` inside an existing project — it installs itself into that project rather than being cloned.
3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says.
Tool-specific notes: Run pnpm dlx shadcn@latest init -t <framework> inside an existing project — next for Next.js, vite for Vite, start for TanStack Start, react-router for React Router, or astro for Astro; for Laravel, create the Laravel app first, then run the init command.
If I want to add components by asking in plain language rather than typing commands, set up its MCP server: add a shadcn entry (command npx, args ["shadcn@latest", "mcp"]) to .mcp.json for Claude Code or .cursor/mcp.json for Cursor, then ask it to list the available components as a smoke test.
4. Run the smallest test the README gives, and show me the output.
5. When it works, tell me what to type first, in one line, for this job: Set it up in your project.
If anything fails, show me the exact error and fix it before going on.
Paste into Codex
Install ui (https://github.com/shadcn-ui/ui) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Codex, running on my machine.
1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password.
2. Run `pnpm dlx shadcn@latest init` inside an existing project — it installs itself into that project rather than being cloned.
3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says.
Tool-specific notes: Run pnpm dlx shadcn@latest init -t <framework> inside an existing project — next for Next.js, vite for Vite, start for TanStack Start, react-router for React Router, or astro for Astro; for Laravel, create the Laravel app first, then run the init command.
If I want to add components by asking in plain language rather than typing commands, set up its MCP server: add a shadcn entry (command npx, args ["shadcn@latest", "mcp"]) to .mcp.json for Claude Code or .cursor/mcp.json for Cursor, then ask it to list the available components as a smoke test.
4. Run the smallest test the README gives, and show me the output.
5. When it works, tell me what to type first, in one line, for this job: Set it up in your project.
If anything fails, show me the exact error and fix it before going on.
What to point it at first
1
Set it up in your project
Run the init command for whatever framework your project already uses, and check that it added a components folder and a config file without touching anything else.
2
Add one real component
Ask your AI to add a single component, like a button or a card, and open the file it created — a good result is plain, readable code you could edit by hand, not a black box.
3
Let your AI browse the registry
Once its connector is set up, ask your AI to show you what components are available and add the right one to a real screen by name, then check the result looks like the rest of your product.
What it must never do unattended
Never let it change the design file without showing you the diff.
Who made it
shadcn-ui/ui on GitHub, under the MIT licence. 123,417 stars, checked 9 September 2026. Last change 8 September 2026. We did not write it; we checked it, and wrote this page so you can use it.