AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
136 copy-owned React + Tailwind components with warm tokens, real dark mode and signature motion. Add one with a command, keep every line.
Developer toolsTypeScript · HTMLGitHub @arjunkshah12345-hashOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
120 copy-owned React + Tailwind components with warm tokens, real dark mode and signature motion.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Everything an interface is made of.
136 copy-owned React + Tailwind components with warm tokens, real dark mode and motion that earns its place.
VibeUI is a component library you copy into your project instead of installing. Add a file and it is yours to read, change and keep: no runtime package, no theme provider, no black box. Every component reads one token file, so pieces from different corners of the library look like they were made together.Read the full README ↗VibeUI is a component library you copy into your project instead of installing. Add a file and it is yours to read, change and keep: no runtime package, no theme provider, no black box. Every component reads one token file, so pieces from different corners of the library look like they were made together.
Run the repo to browse all 178 components live (/components), read the docs (/docs), and open any component for its source, install command and generated API table.
templates/vibeui.css. Copied components animate and theme correctly in your app.dark class on <html>, no flash, and light / dark can pin any subtree.prefers-reduced-motion.clsx, tailwind-merge, class-variance-authority, @phosphor-icons/react. No animation library.llms.txt and a JSON registry with generated API tables.Status. Pre-1.0. Install the CLI with
npx @agents-npm-packages/vibeui(see CLI). Live site: tryjasmine.dev.
git clone https://github.com/arjunkshah12345-hash/vibeui.git
cd vibeui
npm install
npm run dev
| Route | What |
|---|---|
/ | Landing page: a live composed interface, the ten shelves with real previews, a token playground |
/components | Searchable gallery of live previews |
/components/<name> | One component: preview, install, API, source |
/docs | Installation, theming, dark mode, motion, accessibility, recipes, CLI, MCP, FAQ |
Add ?theme=dark (or light) to any URL to preview a theme.
1. Install the peers
npm i clsx tailwind-merge class-variance-authority @phosphor-icons/react
2. Add the tokens and cn()
npx @agents-npm-packages/vibeui init --dir .
This writes vibeui.tokens.css and src/lib/utils.ts. Import the tokens after Tailwind:
@import "tailwindcss";
@import "../../vibeui.tokens.css";
3. Add a component
npx @agents-npm-packages/vibeui add button dialog --dir ./src/components/ui
Components that import siblings bring them along, so add footer-cta also copies button (and button copies spinner).
import { Button } from "@/components/ui/button"
<Button variant="accent" loading={saving}>Save changes</Button>
You need a @/* → src/* path alias and Tailwind CSS v4. Toasts need ToastProvider once near your root; everything else is self-contained. Vite and Next.js setup details are in /docs/installation.
| Shelf | Count | Components |
|---|---|---|
| Actions | 9 | button · chip · copy-button · kbd · pill · separator · split-button · status-button · toggle |
| Forms | 17 | autosize-textarea · calendar · checkbox · combobox · file-drop · input · number-field · otp-field · password-field · radio · range-slider · rating · search-field · select · slider · switch · tag-input |
| Feedback | 12 | alert · banner · callout · empty · gauge · meter · notification · progress-ring · progress · skeleton · spinner · status-icon |
| Data & surfaces | 17 | area-chart · aspect-ratio · avatar · bar-chart · card · code-block · color-swatch · comparison · donut-chart · heatmap · list · resizable · scroll-area · sortable-list · sparkline · stat · table |
| Overlays | 11 | command · context-menu · dialog · drawer · dropdown-menu · lightbox · popover · sheet · toast · tooltip · tour |
| Navigation | 10 | accordion · breadcrumb · floating-nav · pagination · · · · · · |
Every component has hover, press and focus feedback, and anything that appears also animates out. Each page in /components lists the props (generated from the real TypeScript types), the peers it needs and the sibling components it imports.
Everything is a CSS variable. Retint the accent for both themes:
:root { --accent: #2563eb; --accent-ink: #fff; --accent-soft: rgb(37 99 235 / .1); --ring: rgb(37 99 235 / .28); }
.dark { --accent: #7aa7ff; --accent-ink: #06142e; --accent-soft: rgb(122 167 255 / .14); --ring: rgb(122 167 255 / .3); }
Both modes are monochrome by default: the accent is the ink, and one --accent variable retints everything. Radii, shadows, fonts and motion are tokens too, and you can override any of them on a single element to scope a theme. See /docs/theming, /docs/dark-mode and /docs/motion.
npx @agents-npm-packages/vibeui list --category forms
npx @agents-npm-packages/vibeui search "date picker" --json
npx @agents-npm-packages/vibeui get calendar --source
npx @agents-npm-packages/vibeui add calendar --dir ./src/components/ui
| Command | Purpose |
|---|---|
list, search, get | Read the registry (add --json for scripts) |
add <name…> | Copy components and the siblings they import |
init | Write the token file, utils.ts and a short guide |
categories, registry, guide, mcp | Catalog, regenerate, install guide, start the MCP server |
add exits non-zero if anything fails, so it is safe in scripts. Inside a clone, the binary is node bin/vibeui.mjs (or npm run vibeui). Full reference: /docs/cli.
Coding agents can discover and install components without scraping the site.
| Surface | Entry |
|---|---|
| MCP (stdio) | npm run mcp · node mcp/server.mjs |
CLI with --json | see above |
| Briefs | llms.txt · docs/agents.md |
| Registry | registry/components.json |
claude mcp add vibeui -- node /absolute/path/to/vibeui/mcp/server.mjs
Tools: search_components, get_component (source + API), add_component, get_tokens, get_utils, get_install_guide, and more. See /docs/agents and .cursor/mcp.vibeui.example.json.
Native controls where they exist, real roles and keyboard handling on the rest, visible focus, and reduced-motion support. It has not had a formal audit. Known gaps (for example Sheet and Popover do not trap focus, and Segmented and Rating are not arrow-key navigable) are listed honestly in /docs/accessibility.
src/components/ui/ the library: one file per component
src/components/showcase/ demos and the gallery
src/app/ the Next.js site (landing, /components, /docs)
templates/vibeui.css the token file, single source of truth
agent/ bin/ mcp/ registry core, CLI and MCP server
scripts/ registry, API extraction, catalog, notices
registry/components.json generated catalog (committed)
| Command | What |
|---|---|
npm run dev | Showcase site |
npm run build | Production build (regenerates the registry first) |
npm run check | Typecheck, lint and build |
npm run registry | Refresh the registry, API tables and this README's catalog |
npm run notices | Regenerate THIRD_PARTY_NOTICES.md |
npm run vibeui / npm run mcp | The CLI / the MCP server |
Contributions are welcome. Read CONTRIBUTING.md for the layout, how to add a component and what a good pull request looks like, and the Code of Conduct. Report vulnerabilities privately as described in SECURITY.md. Release notes are in CHANGELOG.md.
MIT. Third-party dependencies, fonts and icons are listed with their licenses in THIRD_PARTY_NOTICES.md.
VibeUI was inspired by shadcn/ui (the copy-owned model and its API conventions), ObsidianUI (expressive, animated craft components), Magic UI (tasteful motion) and Origin / coss ui (dense app primitives). All of those are credited for ideas, not code, and none is affiliated with this project.
segmentedsidebarsteppertable-of-contentstabstimeline| Signature | 63 | ai-orb · arrow-fill-button · aura-border · blur-reveal · book-flip · circle-menu · color-picker · confetti · count-up · cover-flow · dice · dither-image · dock · dot-globe · dotted-grid · dynamic-island · falling-sand · flip-card · flow-field · folder-preview · gooey-menu · hold-button · image-sphere · ink-trail · jelly-loader · kaleidoscope · keycap · knob · lanyard · liquid-glass · liquid-metal · liquid-switch · loupe · magnet-tabs · marquee · masonry · mesh-gradient · odometer · orbit-ring · pan-zoom · particle-text · peel-card · pendulum-wave · plasma-ball · pluck-string · pointer-morph · progressive-blur · radar-sweep · ripple-image · rotating-carousel · scratch-reveal · scroll-stack · signature-pad · slide-to-confirm · split-flap · split-showcase · spotlight · stacked-cards · trading-card · velocity-marquee · warp-field · waveform · wheel-picker |
| Text effects | 18 | curve-text · decode-text · flip-text · glitch-text · gradient-text · highlight-text · letter-hover · neon-text · quote · rolling-text · scramble-text · stagger-words · text-link · text-reveal · text-shimmer · typewriter · underline-reveal · weight-text |
| Hover effects | 13 | hover-border · hover-card · hover-expand · hover-glow-grid · hover-icon · hover-image-list · hover-image · hover-lift · hover-shine · hover-slide · hover-tilt · magnetic-button · magnetic-link |
| Footers | 8 | footer-cta · footer-giant · footer-legal · footer-mega · footer-newsletter · footer-simple · footer-status · social-links |