About shadcn-ng
shadcn-ng is an Angular port of shadcn/ui for developers building interfaces with Tailwind CSS. It provides standalone, copy-and-customize components and a CLI for initializing projects and adding components.
Key features
- 01Standalone Angular components
- 02Tailwind CSS styling
- 03CLI initialization and component addition
- 04CSS-variable theming
- 05Class-merging cn() utility
Use cases
- 01Starting an Angular UI project
- 02Adding reusable UI components
- 03Customizing component styles and colors
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ oguzhan18/ angular-ecosystem-skills --skill shadcn-ngAfter installing, type/shadcn-ngin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/discussions/_INDEX.mdreferences/docs/_INDEX.mdreferences/issues/_INDEX.mdreferences/releases/_INDEX.mdDetails
From the project READMEunovue/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