All docs
CLI · caret list

caret list

Lists every component in the bundled registry, grouped by kind, with a one-line description for each. Useful as a quick reference — the full catalog with live previews is at /components.

Usage

sh
caret list
# or
npx caret-cli list

Output

sh
Caret components (51)

interactive:
  prompt           text, password, confirm, select, multi-select, number
  spinner          loading with success/failure resolution
  splash           animated opening with logo, title, and subtitle
  typewriter       character-by-character text reveal
  reveal           line-by-line text reveal
  boot             systemd-style sequential loader
  form             multi-field input layout with tab navigation
  modal            bordered overlay with action buttons
  toast            auto-dismissing inline notification
  

display:
  error            Rust-compiler-style error blocks
  list             vertical list with bullet/numbered/arrow/dash variants
  keyValue         aligned key-value pairs for config dumps
  banner           top-of-output heading
  progress         horizontal progress bar
  step             multi-phase status indicator
  table            typed columns and rows
  

utility:
  link             OSC 8 clickable hyperlinks
  kbd              keyboard hint badge  [Ctrl+C]
  badge            colored inline badge  [production]
  code             inline code marker  `caret init`
  

Kinds

Each component is tagged with one of three kinds in the registry manifest. The grouping reflects how it's used at runtime, not how it's implemented:

  • interactive — blocks for user input or animates while running. Lives inside an Ink render loop.
  • display — synchronous, writes once and exits. Used via plain function calls in normal control flow.
  • utility — single-line helpers (badge, kbd, link) or functions returning strings rather than writing themselves.

Filter via shell

list doesn't take a query flag — pipe to grep instead.

sh
caret list | grep prompt
caret list | grep -E "interactive|table|tree"

Next

Pick a component and run caret add <name>. Or browse /components for live previews of every primitive in the catalog.