21st Cli Use

21st-dev/skill/skills/21st-cli-use

by 21st-dev15c7436c41dcNo license12 starsListed Oct 9, 2026Updated Oct 9, 2026Repository updated 4 weeks ago

Search, install and pull code from the 21st.dev catalog with the `21st` CLI (`@21st-dev/cli`): find React/shadcn components, themes and templates, print a component's code or a theme's CSS, install an item into the project, or generate a new component with 21st AI. Use whenever the user says "search/find a component/theme on 21st", "install our team's Button", "add @user/slug", "pull that component's code", "найди компонент на 21st", "поставь наш компонент", or wants to script catalog access from the shell/CI. Auto-activate when a project has a `components.json` — search 21st before hand-writing UI.

Instructions onlySoftware Development
AI-generated overview

Guides use of the 21st CLI to search, install, and pull React/shadcn components, themes, and templates from the 21st.dev catalog.

What it does
This skill documents the 21st command-line interface for the 21st.dev catalog, covering authentication, metering, and commands for searching components, themes, and templates, printing component code or theme CSS, installing items into a project, and generating components with 21st AI. It also covers logo lookup, bookmarks, team libraries, and writing MCP client configuration. It is instructions only and ships no scripts.
When to use it
Use it when a user wants to find, install, or pull code for a component, theme, or template from 21st.dev, or wants to script catalog access from a shell or CI. It is also meant to auto-activate in projects that have a components.json so 21st is searched before UI is hand-written.
Requirements
Requires the 21st CLI, run via npx @21st-dev/cli, and network access to 21st.dev. Authentication needs either a browser login session or a 21st_sk_ API key passed via flag or environment variable. Installing components relies on shadcn and the project's package manager; AI generation requires separately enabled AI access.

21st CLI — find, install & generate from the terminal

The 21st CLI (npx @21st-dev/cli, bin 21st) is the command-line surface for the 21st.dev catalog. Search first, install what fits, and only hand-write UI when nothing matches. To publish your own components/themes/templates, use the 21st-registry skill; to publish a project's design as a theme, use 21st-design-sync.

Auth (do this once)

Two interchangeable credentials, both sent as the API key:

  1. Login session — npx @21st-dev/cli login opens the browser and saves a token to ~/.config/21st/auth.json. Best for interactive/dev machines.
  2. API key — 21st_sk_… from https://21st.dev/mcp (or https://21st.dev/settings/api-keys). Pass via --api-key <key> or the TWENTYFIRST_TOKEN / API_KEY_21ST env var. Best for CI.

21st whoami shows the signed-in account; 21st usage shows retrieval tier/quota and the 21st AI generation status, not an AI credit balance. For structured status, use MCP get_usage.aiGenerationEnabled or CLI 1.17.1+ 21st usage --json. Missing or unknown status does not grant AI access. 21st logout clears the saved login.

Metering

Metadata (search, previews, a theme's CSS) is free. Retrieving component code (21st get, install) has a free daily quota; Builder includes unlimited retrieval. Hosted 21st AI requires separate AI access and consumes AI credits. Base Builder has AI off. Check 21st usage before choosing generation: when AI is not explicitly enabled, search and retrieve code, then adapt it with your own coding agent. Do not retry a generation denied with ai_subscription_required until AI access is enabled.


Find

bash
# Search everything (components + themes + templates)21st search "pricing table" --limit 1021st search button --type c        # components only (c | theme | template)21st search dark --type theme# Filters: --tag <slug> --color <bucket> --sort <s> --free|--paid#          --author <username> --mine --liked   --json for machine output

Always search before hand-writing a component — a close match is usually faster to install and adapt than to build from scratch.

Logos

bash
21st logo discord            # search brand + UI SVG logos (free, no login)21st logo "next js" --limit 5 --json

Prints each logo's name and SVG url(s) to curl straight into a project. Uses the open svgl.app library; free and unmetered on every plan.

Pull code

bash
# Print a component's code + demo (by the id from search)21st get 143 [--json]
# Print a theme's CSS (by a theme id from `search --type theme`)21st theme <id> [--json]

Install

bash
# Install a component into the current project (shadcn under the hood)21st add <user>/<slug>            # e.g. 21st add shadcn/button21st add @<team>/<slug>           # from a team library# --print to dump the shadcn command instead of running it

21st add resolves the registry item, writes it to components/ui/<slug>.tsx, and installs npm deps with the project's package manager. Public/unlisted items also work with stock shadcn: npx shadcn@latest add "https://21st.dev/r/<user>/<slug>".

Generate

When nothing in the catalog fits and 21st usage explicitly reports AI generation enabled, sketch it with hosted 21st AI and iterate from the terminal. That loop (21st generate → generation → iterate → take) lives in the 21st-ai skill. With AI off, adapt catalog code locally instead:

bash
21st generate "a glassy pricing section with a monthly/yearly toggle"

Opens a preview; from there you edit any variant and pull its code. See the 21st-ai skill for the full generate/iterate/grab-code flow and metering.


Bookmarks, teams & MCP config

bash
21st bookmarks [--type component|theme|template]21st bookmark <id> --type <kind> [--remove]     # heart / un-heart21st lists                          # your bookmark lists21st list <listId>
21st teams                          # your teams21st team <teamId>                  # a team's libraries21st team-components <teamId> [--library <id>]
21st init --client cursor|claude|codex|vscode|devin [--write]      # write MCP config21st install-skill                  # install the 21st skills globally

Source and attribution

Source:21st-dev/skillinskills/21st-cli-useat commit15c7436

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from 21st-dev/skill

21st Ui Review

21st-dev

Reviews existing UI for accessibility, responsiveness, and design-system defects, with safe deterministic fixes.

Design & Creative12updated 4 weeks ago

21st Ui Explore

21st-dev

Explore and compare multiple meaningfully different UI directions grounded in the current project's design system and 21st inspiration. Use when the user wants options, variants, concepts, a redesign direction, visual experimentation, or is unsure how a new interface should look. Trigger for requests such as "show me three directions", "explore alternatives", "what could this page look like", or "generate variants". Do not use for a straightforward implementation with an already-selected direction.

Awaiting classification12updated 4 weeks ago

21st Ui Build

21st-dev

Build or substantially change production UI using the current project's design context, existing components, and grounded 21st inspiration. Use when implementing a page, section, component, responsive redesign, or visual polish in an existing web project. Trigger for requests such as "build this UI", "implement this screen", "make this page production-ready", or "use 21st to create the interface". Use 21st-ui-explore first when the visual direction is intentionally undecided, and 21st-ui-review for critique-only work.

Awaiting classification12updated 4 weeks ago

21st Registry

21st-dev

Publish your own work to 21st.dev and manage it from the terminal with the `21st` CLI (`@21st-dev/cli`): publish a React component to a team library, publish a CSS theme or a template listing, edit / unpublish / delete your published items, list and reopen existing component work, and read/replace your public profile page (bento board). Triggers when the user says "publish/share/upload this to 21st", "залей в наш регистр", "опубликуй компонент/тему/темплейт", "share with team", "make this reusable", "unpublish/edit/delete my component", "change its visibility", "find/open my old component or draft", "найди/открой мой старый компонент или драфт", "add this to my 21st profile/bento", "update my profile page", "обнови мой профиль на 21st", "добавь блок в бенто", "add controls/knobs to my demo", "сделай демо с контролами". For finding and installing existing items use `21st-cli-use`; for turning a project's design tokens into a theme use `21st-design-sync`.

Awaiting classification12updated 4 weeks ago

21st Design Sync

21st-dev

Reads a project's shadcn/Tailwind design tokens and publishes them as a public theme on 21st.dev.

Design & Creative12updated 4 weeks ago

21st Ai

21st-dev

Generate and iterate on UI with 21st AI from the terminal via the `21st` CLI (`@21st-dev/cli`): sketch a UI from a prompt, preview the variants in the browser, edit any variant in place with a natural-language change, and pull the final code into the project. Use whenever the user wants to BUILD / SKETCH new UI ("sketch a pricing page", "generate a hero with 21st", "make me a <X> section"), ITERATE on a generated draft ("edit the third variant", "add a toggle to that take"), or GRAB the code of a draft ("pull that variant's code", "сгенери UI на 21st", "поправь третий вариант", "забери код того наброска"). For finding/installing existing components use the `21st-cli-use` skill; to publish your own, `21st-registry`.

Awaiting classification12updated 4 weeks ago