Follow the steps below to install the Base UI library in your Angular project.
Base UI provides a generous Free Tier of 119 items — every essential component (buttons, cards, dialogs, hover cards, menubars, inputs, currency fields, selects, toasts, etc.) and all 19 form blocks — usable immediately without any account or license!
✨ See the Free Tier in action Explore a complete Admin Dashboard built exclusively with free components. Check out the Live Demo, grab the source code from the GitHub Repository, or duplicate the official
Run the init command to configure your project for Base UI components:
npx base-ui-cli init
Use the CLI to add specific free components directly into your project. For example, to add a button:
npx base-ui-cli add button
Base UI ships an open Model Context Protocol server so coding agents can search and install free components with tools (list_components, search_components, get_component, add_components) instead of guessing CLI commands. The CLI remains the canonical installer — MCP wraps it. No license key is required for free components.
Works with any MCP-compatible client, including:
.cursor/mcp.jsonclaude mcp add or Claude Desktop MCP configkimi mcp add / ~/.kimi/mcp.json (stdio or HTTP)Today’s package is stdio (local process) — ideal for IDE / CLI agents (Cursor, Claude Code, Kimi Code, VS Code, Windsurf). ChatGPT and Gemini chat apps often prefer a remote MCP URL; hosted HTTP ships in a later phase. Until then those users can still follow llms.txt + the CLI, or use an IDE agent with the config below.
Shared stdio config (Cursor .cursor/mcp.json, VS Code / Windsurf MCP JSON, Claude Desktop, Kimi mcp.json — same shape):
{
"mcpServers": {
"base-ui": {
"command": "npx",
"args": ["-y", "base-ui-mcp"],
"env": {
"BASE_UI_CWD": "${workspaceFolder}"
}
}
}
}Cursor: reload the window (Cmd/Ctrl+Shift+P → Developer: Reload Window) and confirm Settings → MCP shows base-ui connected. Claude Code:claude mcp add --transport stdio base-ui -- npx -y base-ui-mcp (set BASE_UI_CWD to your app root). Kimi Code:kimi mcp add --transport stdio base-ui -- npx -y base-ui-mcp with -e BASE_UI_CWD=/path/to/app. Run npx base-ui-cli init --yes in the project first so add_components has a place to write files.
Example prompts (any MCP client):
button and card components to this project.” Package: base-ui-mcp. Pro installs via MCP (license key) ship in a later phase — until then use the CLI with BASE_UI_LICENSE_KEY. Details: base-ui-mcp · Why LLMs write better code with copy-in UI · GitHub.
After install, assemble real screens from the cookbooks: a settings form, dialog + CVA, invoice table (data-table selection, resize, server page/sort), AI chat, and Angular 22 signal forms. Component playgrounds also include Open in StackBlitz.
Pro components are the pre-built blocks — blog and article cards, ecommerce blocks, media and social widgets, full page layouts — plus the unified shell (page and dashboard modes) and advanced widgets like the data table, rich text editor, file upload, and command palette. Free apps can still ship with sidenav, scroll-nav, and page-main. A license unlocks all Pro items, with lifetime updates. Track what ships at base-ui.net/changelog.
After purchase you receive a license key by email. Set it once as an environment variable — the CLI sends it to the pro registry, where it is validated on every fetch:
export BASE_UI_LICENSE_KEY=your-license-key
(In CI, add BASE_UI_LICENSE_KEY as a secret. On Windows, use setx BASE_UI_LICENSE_KEY your-license-key.)
Then add any pro component or block with the same CLI:
npx base-ui-cli add layout-dashboard
Lifetime Pro updates ship continuously. See what changed on the changelog, then pull upstream component changes into your project:
npx base-ui-cli update
The CLI also notifies you after add when a newer base-ui-cli is on npm.
Base UI works with standard Tailwind CSS 4. Components use standard Tailwind spacing (p-4) and standard color utilities. The color="primary" input maps to blue-500 — no custom theme setup required.
Follow the official Tailwind installation guide for Angular. You need tailwindcss, @tailwindcss/postcss, and a PostCSS config.
src/tailwind.css Register this file in angular.jsonbefore your global SCSS:
@import "tailwindcss";
@source "./src/**/*.{html,ts}"; To change the default blue brand, override Tailwind's blue scale. Components keep using blue-* / color="primary":
:root {
--color-blue-500: rgb(139 92 246);
--color-blue-600: rgb(124 58 237);
/* ...full scale from theme customizer export */
} The live docs customizer (palette, radius, background, font, density) persists across reloads and can be shared with a URL such as ?theme=violet&radius=0.75&bg=zinc&font=inter&density=compact. Light/dark mode is separate. Export the CSS from the customizer to copy the blue scale into your app.
Zero-config default: skip step 3 entirely — stock Tailwind blue is the brand color out of the box.
The library provides Standalone Components, Directives, and Pipes. You import them directly from your local components folder where the CLI placed them.
In your component file (app.component.ts):
import { Component } from '@angular/core';
import { BaseButtonDirective } from './components/button/base-button.directive';
@Component({
selector: 'app-root',
standalone: true,
imports: [BaseButtonDirective],
template: `
<button base-button>Click Me!</button>
`
})
export class AppComponent {}Enjoy building beautiful interfaces!