Copy the source · Own the code · Framework-agnostic · Built for humans and AI agents
One component library. Every framework.
Documentation · Login AI Playbook · Onboarding AI Playbook · Dashboard AI Playbook · Components · Quick Start
AgnosticUI components are copied into your project at install time.
They live in your repo (not hidden inside node_modules):
- Full control over the source
- Native integration with your framework
- AI-readable, high-fidelity context
cd your-project
npx agnosticui-cli init --framework vue # or react, lit, svelte
npx agnosticui-cli add Button Card InputThe component source lands directly in your project. Readable, editable, and yours.
src/
components/
ag/
Button/
Button.vue ← your file now
Button.css ← your tokens now
Button.test.ts ← your tests nowComponents land under src/components/ag/ by default: a dedicated namespace that keeps AgnosticUI components separate from your own. Configurable if you prefer otherwise.
Because the code is local, it solves the "Black Box" problem of traditional libraries hidden in node_modules.
Cursor · Claude · Copilot · Windsurf · Aider · Gemini · Replit · Kiro · Antigravity
Every tool sees the raw source. This creates a high-fidelity environment for Generative UI and Agent-driven interfaces:
- Reduce Hallucination: No more "invented" props or APIs. Since the LLM reads local files like any other code, it knows exactly what is possible.
- Better Token Efficiency: Using semantic HTML and standard CSS provides "clean context." Agents spend fewer tokens to understand the UI, leading to faster, more accurate generations.
- Agent Skills: Treat AgnosticUI Playbooks as pre-defined skills. Use them to prompt an agent to scaffold complex, accessible workflows (Login, Onboarding, Discovery Dashboard, Support Center, Data Grids) using the local components it already "sees."
This is the architecture for the next era of development: context-aware, framework-agnostic, and AI-ready.
AgnosticUI's components are authored as Lit Web Components, a standards-based layer over native Custom Elements. The CLI wraps them for your framework at copy time.
Your design system doesn't fork when your tech stack does. Supports agent-generated UI workflows directly from Playbooks.
...
| AgnosticUI | Typical component library | |
|---|---|---|
| Source in your repo | ✅ | ❌ |
| Framework agnostic core | ✅ | ❌ |
| LLM-readable locally | ✅ | ❌ |
| AI & agent-driven Playbooks included | ✅ | ❌ |
| Multiple theme skins | ✅ | Limited |
| Zero runtime dependency | ✅ after ejection | ❌ |
Playbooks (Login Form, Onboarding Wizard, Discovery Dashboard, Support Center, Data Grid) demonstrate modular, prompt-driven UI components. Each Playbook can be used in agent systems, for context-aware applications, or to create generative UI patterns.
| Playbook | What it builds |
|---|---|
| Login Form | Responsive login: mobile, floating card, two-column desktop; works with AI prompt-driven generation |
| Onboarding Wizard | Multi-step flow with progress, validation, and skip logic; supports agent-assisted workflows |
| Discovery Dashboard | Dashboard shell with header, sidebar, and data regions — ideal for agent-generated interfaces |
| Support Center | Help center with search, categories, and article layout; integrates with prompt-driven workflows |
| Data Grid | Responsive, interactive data grid with sorting, filtering, and multiple view modes, compatible with agent-driven interfaces |
Each Playbook on the docs site includes live StackBlitz examples for React, Vue, and Lit, and ships with:
PROMPT-3-FRAMEWORKS.md: one prompt to generate the pattern across all three frameworks- Skin switcher to preview your theme tokens instantly
Fully prompt-ready for agent-driven UI generation. Drop a Playbook prompt into Cursor, Claude Code, or Copilot and watch it assemble Input, Button, Card, and FormGroup correctly on the first try — because it has the full recipe, not just a component reference.
The prompts are yours to adapt. Feed one to your LLM as a crash course in AgnosticUI's patterns, fork it for your own stack, or use it as a blueprint for writing Playbooks around your own UI patterns.
AgnosticUI components expose their entire visual surface through CSS custom properties. Swap a skin and every component updates; no code changes, no find-and-replace.
/* Base tokens are required, then layer your skin on top */
@import "./components/ag/styles/ag-tokens.css";
@import "./components/ag/styles/ag-tokens-dark.css";
@import "./components/ag/styles/brutalist-light.css";
@import "./components/ag/styles/brutalist-dark.css";Hand it to a designer. Get back a token file. Import it. Done.
React
cd my-react-app
npx agnosticui-cli init --framework react
npx agnosticui-cli add Button Card InputVue
cd my-vue-app
npx agnosticui-cli init --framework vue
npx agnosticui-cli add Button Card InputSvelte
cd my-svelte-app
npx agnosticui-cli init --framework svelte
npx agnosticui-cli add Button Card InputLit / Web Components directly
cd my-lit-app
npx agnosticui-cli init --framework lit
npx agnosticui-cli add Button Card InputAfter running add, your terminal prints the exact import path for your project. No guessing. Supports agent-driven and prompt-ready UI workflows.
- Semantic HTML
- WAI-ARIA patterns validated
- Keyboard navigation across all interactive components
- AA-validated color contrast
- Reduced motion support
- Focus management built in
Accordion · Alerts · AspectRatio · Avatar · Badge · Breadcrumb · Button · Card · Checkbox · Collapsible · Combobox · CopyButton · Dialog · Divider · Drawer · EmptyState
Fieldset · Input · Radio · Rating · Select · SelectionButtonGroup · SelectionCardGroup · Slider · Toggle
Header · Menu · Pagination · Tabs
Loader · Progress · ProgressRing · ScrollProgress · Skeleton Loader · Spinner · Toast
Icon · Icon Button · Image · IntlFormatter · Kbd · Link · Mark · MessageBubble · Popover · ScrollToButton · Table · Tag · Timeline · Tooltip · VisuallyHidden
BadgeFx · ButtonFx · Flex · IconButtonFx
AgnosticUI is open source and welcomes contributions. See CONTRIBUTING.md for component authoring guidelines, the token system, and how to write Playbook entries.
Apache License 2.0 © AgnosticUI
AgnosticUI v2 is a complete rewrite and is not compatible with v1. If you need v1, it remains available via git tags:
- Packages:
agnostic-angular,agnostic-react,agnostic-vue,agnostic-svelte, etc. - Tag:
v1-legacy