π luminacn/ui
April 13, 2026 Β· View on GitHub
Signal-first, headless UI primitives for Angular.
Build accessible, composable components β owned directly in your codebase.
CLI-generated UI system for Angular 19+ and Tailwind CSS v4.
β¨ Overview
luminacn/ui is a modern UI architecture for Angular that gives you full ownership of your components.
Instead of installing opaque dependencies, you generate components directly into your project β fully customizable, fully transparent, and fully yours.
Core Ideas
- π§ Primitives over components β build from composable building blocks
- β‘ Signal-native β designed for Angular Signals (zoneless-ready)
- π§© Headless-first β logic separated from styling
- π¦ Locally owned β components live in your source, not
node_modules - π CLI-driven β install, update, diff, and rollback with precision
β‘ Quick Start
Initialize your project
npx luminacn@latest init
Add components
npx luminacn add sheet navigation-menu input-otp
π§© How it works
CLI β Registry β Generator β Your Codebase
β
Angular Signals UI
Every component is:
- generated into your repo
- fully editable
- version-tracked via CLI
No runtime lock-in. No hidden abstraction.
π CLI
| Command | Description |
|---|---|
init | Initialize luminacn in your project |
add | Add components to your codebase |
list | View available components |
upgrade | Update components to latest versions |
rollback | Revert to a previous state |
diff | Compare local vs registry |
doctor | Validate environment setup |
remove | Remove components safely |
π§± Component Categories
Navigation & Layout
Navigation Menu Β· Sheet Β· Accordion Β· Tabs Β· Tooltip Β· Dropdown Β· Context Menu Β· Pagination Β· Stepper
Data Display
Data Table Β· Carousel Β· Infinite Scroll Β· Badge Β· Alert Β· Progress Β· Skeleton Β· Spinner
Form Controls
Input Β· Input OTP Β· Textarea Β· Checkbox Β· Radio Β· Switch Β· Toggle Β· Toggle Group Β· Slider Β· FormField
Overlays & Feedback
Dialog Β· Popover Β· Toast Β· Sheet Β· Tooltip
Typography
Headings Β· Text Β· Lead Β· Kbd Β· Utilities
π§ͺ Example β Stepper
<nav lmStepper [activeStep]="0" #stepper="lmStepper">
<button lmStepperTrigger [index]="0">Profile</button>
<button lmStepperTrigger [index]="1" [disabled]="profileInvalid()">
Security
</button>
<section class="mt-4">
@if (stepper.activeStep() === 0) {
<profile-form />
} @if (stepper.activeStep() === 1) {
<security-settings />
}
</section>
</nav>
π§ Philosophy
1. You own the code
Every component is generated into your project. No black boxes.
2. Headless by default
Logic is isolated from styling. Use your own design system freely.
3. Signal-native architecture
Built for Angular Signals and future zoneless Angular.
4. Zero dependency core
No runtime UI framework lock-in.
π Why luminacn/ui?
| Feature | luminacn/ui | Angular Material | CDK |
|---|---|---|---|
| Source ownership | β Yes | β No | β οΈ Partial |
| Headless architecture | β Yes | β No | β οΈ Partial |
| Signals-ready | β Yes | β No | β No |
| Tailwind-first | β Yes | β No | β No |
| CLI-driven updates | β Yes | β No | β No |
πΊοΈ Roadmap
Core Interactions
- Sheet (Drawer) β
- Navigation Menu β
- Input OTP β
- Combobox / Autocomplete β
- Command Palette (Cmd+K) β³
Data & Display
- Infinite Scroll β
- Data Table β³
- Carousel β³
Forms
- Toggle Group β
- Calendar / Date Picker β
Layout
- Resizable Panels β³
- Pagination β³
- Context Menu β
β‘ Installation Philosophy
No lock-in. No runtime magic.
Everything is generated:
- You inspect it
- You modify it
- You ship it
π¦ License
MIT
π₯ Final Note
luminacn/ui is built for developers who want:
βShadcn-style ownership β but for Angular.β