Menu

Change language

GitHub repo
5 sections · ~5 min · Angular (Angular 22)

Setup. One command.

Initialize once, then add any component with one command. You own every installed file — no upgrades, no lock-in.

Works in plain Angular CLI apps and AnalogJS projects — every component is a standard standalone component.

Initialize

terminal
npx uipkge-ng@latest init
01

Initialize your project

Writes components.json, ensures the @/* tsconfig mapping, and sets up Tailwind v4 if it's missing (see tailwindcss.com/docs/installation):

terminal
npx uipkge-ng@latest init
02

What init installed

components.json (registry + aliases), @/* tsconfig mapping, the cn() helper with its npm deps, and the design tokens as src/uipkge.css (imported from your stylesheet — your own CSS is never overwritten).

03

Add any component

Files land under src/app/..., npm deps install automatically, already-installed items are skipped. Use native elements with attribute selectors (<button ui-button>) so the DOM matches the documented shape.

terminal
npx uipkge-ng@latest add button
04

Sanity check

src/app/app.ts
import { Component } from '@angular/core';
import { UiButtonComponent } from '@/ui/button';

@Component({
  selector: 'app-root',
  imports: [UiButtonComponent],
  template: `<button ui-button>Hello uipkge</button>`,
})
export class App {}

See a styled button? You're set.

05

Notes

  • Standalone components only. Every item is a standalone Angular component — no NgModules. Import it directly in your component's imports.
  • Headless behavior is yours. Unlike the Vue/React mirrors (Reka/Radix), Angular overlays and disclosures here are dependency-light on purpose — wire @angular/cdk where you need overlay, focus-trap, or list-key-manager behavior.