Skip to content

Component Selection

The CLI wizard lets you choose which components to include during project setup.

During setup, the wizard presents component options:

◇ Which components would you like to include?
│ ● All components (recommended)
│ ○ UI components only
│ ○ UI + Patterns
│ ○ None (minimal)
OptionWhat’s Included
All componentsFull 39-component library with UI, patterns, and hero sections
UI components onlyCore interface components (Button, Input, Card, etc.)
UI + PatternsUI components plus pre-built form patterns
None (minimal)Just layouts, SEO, and navigation — add components later

For automation or quick setups, use the --components flag:

Terminal window
pnpm create velocity-astro my-site --components
# or
pnpm create velocity-astro my-site --components=all

Core interface components organized into subcategories.

ComponentSubcategoryDescription
ButtonformActions with variants (primary, secondary, outline, ghost)
InputformText input with label, hint, error states
TextareaformMulti-line text input
SelectformDropdown selection
CheckboxformCheckbox with label
RadioformRadio button selection
SwitchformToggle switch input
Carddata-displayContent container with structured layouts
Badgedata-displayStatus labels and tags
Avatardata-displayUser profile images
AvatarGroupdata-displayGrouped avatar display
Tabledata-displayData table with styling
Paginationdata-displayPage navigation controls
Progressdata-displayProgress bar indicator
Skeletondata-displayLoading placeholders
AlertfeedbackContextual feedback messages
ToastfeedbackTemporary notification messages
TooltipfeedbackHover tooltips
DialogoverlayModal dialogs
DropdownoverlayDropdown menus
TabsnavigationHorizontal tab navigation
VerticalTabsnavigationVertical tab navigation
AccordiondisclosureCollapsible content sections
SeparatorlayoutVisual divider between sections
IconprimitivesSVG icon component
CodeBlockcontentSyntax-highlighted code
LogomarketingBrand logo with variants
CTAmarketingCall-to-action sections
NpmCopyButtonmarketingNPM install command copier
SocialProofmarketingTestimonial cards
TerminalDemomarketingAnimated terminal demo

Pre-built form and UI patterns for common use cases.

ComponentDescription
ContactFormComplete contact form with validation
NewsletterFormEmail subscription form
FormFieldReusable form field wrapper
SearchInputSearch input with icon
PasswordInputPassword input with visibility toggle
StatCardStatistics display card
EmptyStateEmpty state placeholder

Flexible hero sections for landing pages.

ComponentDescription
HeroHero section with multiple layout options
<Button
variant="primary" <!-- primary | secondary | outline | ghost | destructive -->
size="md" <!-- sm | md | lg -->
colorScheme="default" <!-- default | invert -->
fullWidth={false}
icon={false}
href="/path" <!-- renders as <a> when provided -->
/>
<Hero
layout="single" <!-- single | split -->
splitRatio="1:1" <!-- 1:1 | 1:2 | 2:1 -->
align="left" <!-- left | center | right -->
background="default" <!-- default | secondary | invert | gradient | image -->
size="lg" <!-- sm | md | lg | xl -->
showGrid={true}
showBlob={true}
title="Your Title"
titleHighlight="Title" <!-- text to highlight in brand color -->
description="..."
/>
<CTA
variant="default" <!-- default | invert -->
size="lg" <!-- sm | md | lg | xl -->
align="center" <!-- center | left -->
showLogo={true}
heading="Ready to start?"
headingHighlight="start"
description="Get started in seconds."
showCopyCommand={true}
/>

Components are managed via component-registry.json in Velocity. The registry defines:

  • Component files and locations
  • Dependencies between components
  • Required utilities (like cn for class merging)
  • Category groupings

Regardless of component selection, these are always included:

  • Header — Site navigation
  • Footer — Site footer
  • ThemeToggle — Dark mode toggle
  • SEO — Meta tags component
  • JsonLd — Structured data
  • Breadcrumbs — Navigation breadcrumbs
  • Layouts — All page layouts