pulld

Components your AI coding agent installs by itself.

An open, shadcn-compatible component registry. Point Claude Code, Cursor, or v0 at a component and it pulls it straight into your project — typed, accessible, theme-aware.

npx shadcn@latest add https://pulld.pages.dev/r/copy-button.json

Works with the shadcn CLI & MCP. 13 free components, growing.

Or add the @pulld namespace once in components.json, then install by name (@pulld/copy-button):

{ "registries": { "@pulld": "https://pulld.pages.dev/r/{name}.json" } }

Components

Copy Button

Accessible icon button that copies a string to the clipboard and shows a transient copied state. Has aria-label, an aria-live announcement, keyboard focus ring, and a configurable reset timeout. Use it next to code blocks, API keys, share links, or any inline value a user might want to copy.

npx shadcn@latest add https://pulld.pages.dev/r/copy-button.json
K

Kbd

Inline keyboard key hint that renders a styled <kbd> element for showing shortcuts like Cmd+K or Ctrl+S. Use it in command palettes, tooltips, docs, and shortcut hints. Theme-aware via shadcn tokens; no dependencies.

npx shadcn@latest add https://pulld.pages.dev/r/kbd.json
No results

Empty State

Centered empty/zero-data placeholder with an optional icon, title, description, and call-to-action slot. Use it when a list, table, search result, inbox, or dashboard has no items yet. Dashed border, muted text, fully accessible.

npx shadcn@latest add https://pulld.pages.dev/r/empty-state.json
Revenue
$12.4k↑12%

Stat Card

Compact metric card showing a label, a big value, and an optional percentage delta with an up/down arrow (green for positive, red for negative). Use it in dashboards, analytics, and KPI rows. Composes well into dashboard blocks.

npx shadcn@latest add https://pulld.pages.dev/r/stat-card.json

Theme Toggle

Self-contained light/dark mode toggle button. Persists the choice to localStorage, respects the OS prefers-color-scheme on first load, and toggles the 'dark' class on the html element. No next-themes or provider required. Sun/Moon icons, aria-pressed.

npx shadcn@latest add https://pulld.pages.dev/r/theme-toggle.json
AMK+3

Avatar Stack

Row of overlapping circular avatars that collapses the remainder into a '+N' badge past a max count. Falls back to an initial when no image is provided. Use it for team members, participants, collaborators, or assignees.

npx shadcn@latest add https://pulld.pages.dev/r/avatar-stack.json
••••••

Password Input

Password text input with a built-in show/hide toggle button. Toggles between password and text, has an accessible aria-label and aria-pressed, and the toggle stays out of the tab order. Use it in sign-up, login, and reset-password forms.

npx shadcn@latest add https://pulld.pages.dev/r/password-input.json

Spinner

Accessible loading spinner with role=status, an aria-live region, and a screen-reader label. Use it for inline loading, button busy states, or anywhere you need to indicate a pending async operation. Animated lucide Loader2.

npx shadcn@latest add https://pulld.pages.dev/r/spinner.json
add …

Code Block

composes copy-button

Code snippet container with an optional language label and a hover/focus-revealed copy button (composes pulld's copy-button). Use it in docs, changelogs, and developer marketing pages to show installable commands or code. Demonstrates how pulld premium blocks compose free atoms.

npx shadcn@latest add https://pulld.pages.dev/r/code-block.json

Loading Button

composes spinner

Button that shows a spinner and disables itself while an async action is pending. Set loading=true during submit, save, or checkout to prevent double-clicks; an optional loadingText swaps the label. Composes pulld's spinner atom.

npx shadcn@latest add https://pulld.pages.dev/r/loading-button.json

Confirm Button

Two-step confirm button for destructive actions: the first click arms it and swaps the label to a confirmation prompt, the second click runs onConfirm. Auto-reverts after a timeout and on blur so a stray click can't fire. Use it for delete, remove, reset, revoke, unsubscribe, or disconnect actions where a full alert dialog is overkill. Theme-aware via shadcn destructive tokens; no dependencies.

npx shadcn@latest add https://pulld.pages.dev/r/confirm-button.json
Search…K

Command Palette

A production-ready ⌘K command palette: accessible (combobox/listbox roles, aria-activedescendant, focus trapped and restored), full keyboard navigation with wrap-around, fuzzy filtering with match highlighting, grouped results, recents, and an async `source` hook so you can plug in server-side or semantic search. Use it for global search, quick actions, and navigation in any app.

npx shadcn@latest add https://pulld.pages.dev/r/command-palette.json
Changes saved

Toast

A production-ready toast/notification system: call toast(), toast.success/error/info/warning/loading or toast.promise() from anywhere — no provider or context needed — and render one <Toaster />. Auto-dismiss with pause-on-hover and focus, swipe-to-dismiss, six positions, action buttons, and accessible live regions (assertive for errors, polite otherwise). Enter/exit animation respects prefers-reduced-motion. Use it for success/error feedback, async operation status, and undo prompts.

npx shadcn@latest add https://pulld.pages.dev/r/toast.json

pulld Search — semantic search for your app

Hosted and drop-in. Plug it into the command palette's source: index your content and get typo-tolerant, meaning-based results. Nothing to run.

Already subscribed? Get your keys →

Subscribe — $19/mo

Pro blocks

Composed, opinionated blocks built from the free atoms — a license unlocks install. One-time, $39.

Dashboard Overview PRO

composes stat-card, avatar-stack, empty-state, theme-toggle, loading-button

A complete, responsive dashboard overview section: a header with team avatars, theme toggle, and a primary action, a 4-up stat-card row, and a recent-activity card with an empty-state fallback. Composes pulld's stat-card, avatar-stack, empty-state, theme-toggle, and loading-button so it drops into any shadcn project. Pro block.

npx shadcn@latest add "https://pulld.pages.dev/r/pro/dashboard-overview.json?key=YOUR_KEY"
Get a license — $39 one-time