Velocity UI
Loading…
Menu

Getting Started

Generate components via CLI and import locally in your project.

# Prerequisites
- Node.js 18+
- Next.js 14+

# Generate
npx vui-registry-cli-v1 add button

# Use locally
import { Button } from '@/components/ui/button'

export default function Page() {
  return <Button variant="primary">Click</Button>
}

Installation Guide

Environment requirements, dependency management, build process, and troubleshooting.

# Environment
- Node 18+, pnpm or npm
- TailwindCSS optional

# Build
npm run build

# Troubleshooting
- Clear node_modules
- Delete .next and re-build

Components Catalog

Usage examples, customization options, and best practices for all components.

Button
Usage, customization, and best practices.
Card
Usage, customization, and best practices.
Toast
Usage, customization, and best practices.
Tooltip
Usage, customization, and best practices.

API Reference

Props, methods, events, return values, and TypeScript interfaces.

export type ButtonProps = {
  variant?: 'primary' | 'ghost'
  size?: 'sm' | 'md' | 'lg'
  onClick?: () => void
}

Real-World Examples

Practical scenarios with complete code samples using local imports.

import { Card } from '@/components/ui/card'
import { Button } from '@/components/ui/button'

export function ProductCard() {
  return (
    <Card>
      <Card.Header>Pro Plan</Card.Header>
      <Card.Content>Unlimited components</Card.Content>
      <Card.Footer>
        <Button variant="primary">Subscribe</Button>
      </Card.Footer>
    </Card>
  )
}

FAQ

Common questions, known issues, and solutions.

How to install?
Use the CLI: npx vui-registry-cli-v1 add <component>.
Does it support Tailwind?
Yes, works with or without Tailwind.
Where to report bugs?
Open an issue or use support channel.

Changelog

Versioned releases, breaking changes, new features, bug fixes, and migration notes.

## 1.0.0
- Initial release

## 1.1.0
- New components: Tooltip, Toast
- Breaking: Button ghost defaults to subtle
- Migration: Update ghost usage

Startup Playbook

Launch quickly with a focused component strategy, brand consistency, and a clear release plan.

# 30-60-90 Plan
- 30d: Ship core pages (Landing, Pricing, Auth)
- 60d: Add dashboards and 3-5 essential components
- 90d: Polish interactions, accessibility, and docs

# Core Components
- Buttons, Cards, Forms, Modals, Navigation, Alerts

# Release Cadence
- Weekly minor releases
- Monthly feature drops
- Changelog and migration notes

Brand & Theme

Use design tokens to maintain consistent brand, typography, spacing and contrast.

/* tokens.css */
:root{
  --foreground: 220 14% 96%;
  --background: 220 14% 6%;
  --border: 220 10% 20%;
  --primary: 260 90% 64%;
}

/* app/layout.tsx */
import { ThemeProvider } from 'next-themes'
export default function RootLayout({ children }:{
  children: React.ReactNode
}) {
  return (
    <html lang="en">
      <body>
        <ThemeProvider attribute="class" defaultTheme="dark">
          {children}
        </ThemeProvider>
      </body>
    </html>
  )
}

Accessibility Basics

Keyboard navigation, contrast ratios, focus management, and ARIA best practices.

# Checklist
- Keyboard: Tab/Shift+Tab through interactive elements
- Focus: Visible focus ring on all controls
- Contrast: >= 4.5:1 for text
- Labels: Use aria-label/aria-labelledby when needed
- Semantics: Use button/input/select instead of divs