shadcn-ng
unovue/shadcn-ng shadcn-ng
Version: Latest (2025) Tags: Angular, Tailwind CSS, Radix Primitives
References: Docs — installation, components, theming • GitHub Issues — bugs, workarounds • GitHub Discussions — Q&A, patterns
API Changes
This section documents version-specific API changes.
-
NEW: Angular support — shadcn-ng is the Angular port of shadcn/ui, providing copy-paste components styled with Tailwind CSS
-
NEW: CLI commands — Use
npx shadcn-ng@latest initfor initialization andnpx shadcn-ng@latest add <component>for adding components -
NEW: Standalone components — All components are Angular standalone components with proper imports
-
NEW:
cnutility — Use thecn()helper fromlib/utils.tsto merge Tailwind CSS classes -
NEW: CSS variables theming — Configure colors via CSS variables in
globals.css
Best Practices
- Use standalone components — All shadcn-ng components are standalone, import them directly in
importsarray
import { Component } from "@angular/core";
import { UbButtonDirective } from "~/components/ui/button";
@Component({
standalone: true,
imports: [UbButtonDirective],
// ...
})
export class ExampleComponent {}
-
Configure Tailwind CSS — Follow the official installation guide to set up tailwindcss-animate, class-variance-authority, clsx, and tailwind-merge
-
Use CSS variables for theming — Define colors in
:rootin your globals.css for dynamic theming -
Treat components as your own code — Copy components into your project and customize as needed
-
Use registry for custom components — Create your own registry.json to share and reuse custom components across projects
More from oguzhan18/angular-ecosystem-skills
angular-tailwind
ALWAYS use when working with Angular and Tailwind CSS, Tailwind configuration, utility-first CSS, or styling Angular applications with Tailwind.
139angular-animations
>-
137rxjs
ALWAYS use when working with RxJS Observables, operators, and reactive patterns in Angular applications.
136angular-security
ALWAYS use when working with Angular Security, XSS prevention, CSRF protection, Content Security Policy, or sanitization in Angular applications.
131angular-material
ALWAYS use when working with Angular Material components, CDK, or Material Design in Angular applications.
131angular-bootstrap
ALWAYS use when working with Angular Bootstrap, ng-bootstrap, Bootstrap components in Angular, or Bootstrap 5 integration.
129