LaralCN-UI: A shadcn-style copy-and-own Blade component system for Laravel
A shadcn-style copy-and-own Blade component system for Laravel. Instead of a runtime library, you pull pure Blade and Tailwind v4 components into your own source tree via an Artisan CLI or one-click copy from the docs site. Every component is fully owned and editable, with no version coupling.
Project Overview
LaralCN-UI is a shadcn-style copy-and-own Blade component system for Laravel. It is not a runtime library. Instead of depending on a package you cannot edit, you pull individual components into your own source tree as plain .blade.php files that you fully own. Components are pure Blade and Tailwind v4, with Alpine.js used only when interactivity is unavoidable. There are two install channels: an Artisan CLI (composer require, ui:init, ui:add) and one-click copy from the documentation website. A registry is the single source of truth, and the docs site dogfoods that registry so the CLI install and the copy-from-site output are guaranteed identical.
The Challenge
The reason this project exists is simple. shadcn/ui changed how the React world builds interfaces. You do not take on a dependency you cannot see into. You copy clean, accessible, themeable components into your own codebase and they become yours. That model is loved because it removes version lock-in, makes every component fully editable, and keeps the design system honest and in your control. The Laravel ecosystem has nothing equivalent. The available options are runtime component libraries that you depend on, that hide their markup behind a package, and that couple your UI to a library version. There was no real copy-and-own, Blade-native answer to shadcn/ui for Laravel. LaralCN-UI exists to fill exactly that gap, bringing the shadcn philosophy (own your components, theme with tokens, no runtime coupling) to pure Blade and Tailwind v4.
The Solution
LaralCN-UI delivers the shadcn model natively for Laravel. A single registry holds every component as a JSON manifest plus its Blade source. A small dev-only Composer package ships an Artisan CLI (ui:init, ui:add, ui:list, ui:diff) that resolves dependencies recursively and copies components into resources/views/components/ui as files the developer owns. A second channel needs no CLI at all: the documentation site renders the exact registry files with live previews and one-click copyable source, which is the supported path for plain Blade and Statamic projects. Components use Tailwind v4 CSS-first theme tokens only, with tailwind-merge so consumer classes correctly override defaults. The documentation site is built in the shadcn documentation style, with a Preview and Code toggle, an Installation section (Command and Manual), and a Usage section for every component. Because the site dogfoods the same registry the CLI installs from, the CLI output and the copy-from-site output are always identical.
Project Info
Tech Stack
Let's Build Something Together
Whether you have a project idea, want to collaborate on a web or mobile app, or just say hello