AtroUIAtroUI
  • Getting Started
  • Installation
  • MCP server
  • Coming from…
  • Collections
  • Registry
  • Theming
  • Host APIs
  • Brand kit
  • Identity kit
  • Landing kit
  • Launch workflow
  • For agents
  • Glossary
  • Compare
  • Alternatives hub
  • vs Aceternity UI
  • vs Magic UI
  • Aceternity alternative
  • Magic UI alternative
  • Tailwind Plus alternative
  • Changelog
  • Blog
  • Updates
  • ButtonCLI
  • DialogCLI
  • Alert DialogCLI
  • MenuCLI
  • Context MenuCLI
  • Navigation MenuCLI
  • MenubarCLI
  • PopoverCLI
  • TooltipCLI
  • Preview CardCLI
  • Scroll AreaCLI
  • SeparatorCLI
  • FieldCLI
  • Number FieldCLI
  • OTP FieldCLI
  • FormCLI
  • FieldsetCLI
  • InputCLI
  • TextareaCLI
  • CheckboxCLI
  • Checkbox GroupCLI
  • RadioCLI
  • SwitchCLI
  • ToggleCLI
  • Toggle GroupCLI
  • ToolbarCLI
  • AccordionCLI
  • CollapsibleCLI
  • ComboboxCLI
  • AutocompleteCLI
  • DrawerCLI
  • TabsCLI
  • ToastCLI
  • ProgressCLI
  • SliderCLI
  • MeterCLI
  • AvatarCLI
  • CardCLI
  • Form SelectCLI
  • Motion PlaygroundCLI
  • BreadcrumbsCLI
  • ProseCLI
  • Founder AvatarCLI
  • Theme ToggleCLI
  • Adaptive Theme SwitchCLI
  • Theme ProviderCLI
  • LogoCLI
  • TimelineCLI
  • Fade InCLI
  • StaggerCLI
  • Line RevealCLI
  • Word Reveal ScrollCLI
  • Text MorphCLI
  • Copy ButtonCLI
  • Label RollCLI
  • MagneticCLI
  • TiltCLI
  • SpotlightCLI
  • Animate NumberCLI
  • Transition PanelCLI
  • Scroll ProgressCLI
  • ASCII
  • DonutCLI
  • RainCLI
  • WaveCLI
  • SparkCLI
  • BarCLI
  • BootCLI
  • WordmarkCLI
  • DecodeCLI
  • Site HeaderCLI
  • Site FooterCLI
  • Bold FooterCLI
  • HeroCLI
  • PrincipleCLI
  • WorkCLI
  • CraftsCLI
  • LabCLI
  • WhoCLI
  • PricingCLI
  • Feature GridCLI
  • Logo CloudCLI
  • FAQCLI
  • Contextual CTACLI
  • Exit IntentCLI
  • Calendly EmbedCLI
  • Waitlist FormHost API
  • Newsletter FormHost API
  • JournalCLI
  • Social ShareCLI
  • ResourcesCLI
  • AR PortfolioCLI
  • Made With EmbedCLI
  • Hero ParallaxCLI
  • Hero LampCLI
  • Logo MarqueeCLI
  • Testimonials StackCLI
  • Feature BentoCLI
  • CTA BandCLI
  • Pricing TiersCLI
  • FAQ AccordionCLI
  • Stats BandCLI
  • Integration BeamCLI
  • Showcase CarouselCLI
  • Auth SplitCLI
  • SaaS StarterCLI
  • Landing KitCLI
  • OG ExamplesCLI
  • OG Live PreviewCLI
  • OG WorkspaceHost API
  • Thumbnail PreviewCLI
  • Thumbnail WorkspaceHost API
  • Project PlannerCLI
  • Scope ChatHost API
  • Launch WorkflowCLI
  • Live DashboardCLI
  • Analytics ProviderCLI
AtroUI·Home·Components·Blog·GitHub·Changelog

Getting started

Installation

Same registry either way: the shadcn CLI (listed in the directory) or @atroui/cli if you are not on shadcn. Source lands in your repo — Next.js + Tailwind CSS v4.

Prerequisites

  • Next.js app (App Router preferred)
  • Tailwind CSS v4 — not v3 @apply / opacity syntax
  • shadcn path only: a components.json from shadcn init

Add via shadcn (recommended)

@atroui is in the official shadcn registry directory. No manual registry add URL step.

bash
npx shadcn@latest init

Dark-first tokens that match the catalog: Theming.

bash
npx shadcn@latest add @atroui/home-hero

Add more when you need them — each as its own @atroui/… name.

Without shadcn: AtroUI CLI

Same /r/{name}.json registry, no shadcn toolchain. Use bare item names (not the @atroui/ prefix).

bash
# Add one or more items (resolves registry deps)
npx @atroui/cli@latest add home-hero

# Interactive picker
npx @atroui/cli@latest add

# Browse the catalog
npx @atroui/cli@latest list

Files write under your project (for example components/blocks/home-hero.tsx). You still own the source.

What landed in the repo

The CLI copies source into your project (for example components/blocks/home-hero.tsx). Edit the CONTENT object at the top. Dependencies resolve as @atroui/brand, @atroui/utils, and so on. Full map: Registry.

dotenv
NEXT_PUBLIC_SITE_NAME=Acme
NEXT_PUBLIC_SITE_DOMAIN=acme.test
NEXT_PUBLIC_SITE_EMAIL=hello@acme.test
NEXT_PUBLIC_SITE_URL=https://acme.test

Optional brand env after adding @atroui/brand. Or edit DEFAULT_BRAND in the copied file.

When you need the npm package

Pure UI stops after add. Forms and AI tools that post to /api/* need the package, transpilePackages: ["atroui"], matching route handlers, and your keys:

bash
npm i atroui
# next.config.ts → transpilePackages: ["atroui"]

npx shadcn@latest add @atroui/waitlist-form @atroui/api-waitlist

Env, security defaults, rate limits: Host APIs. Example mail vars:

dotenv
CONTACT_EMAIL_TO=hello@acme.test
SMTP_USER=…
SMTP_PASSWORD=…
# or
RESEND_API_KEY=…
RESEND_AUDIENCE_ID=…

Troubleshooting

  • Utilities missing after add — Tailwind cannot see the copied files. Check @source / content paths. This is host config, not a Host API failure.
  • 503 on form or AI routes — missing keys in your env. Preview-only OG downloads and rule-based scope replies work without keys; full generation does not. See Host APIs.
  • Wrong Tailwind major — AtroUI targets v4. Do not mix v3 opacity / @apply habits into the copied files.

Install modes

Never lead with npm i atroui for pure UI. Add a registry block first; install the package only when /api/* handlers show up.

Owned source files. No npm package.

Pure UI stops at add. Source lands in your repo — no atroui package. Prefer shadcn when you use it; @atroui/cli when you do not.

bash
# shadcn (directory / components.json)
npx shadcn@latest add @atroui/home-hero

# or AtroUI CLI (no shadcn)
npx @atroui/cli@latest add home-hero

UI + hardened Host API routes.

Package + transpile when forms post to /api/*. Your keys stay in your env.

bash
npm i atroui
# next.config.ts → transpilePackages: ["atroui"]

npx shadcn@latest add @atroui/waitlist-form @atroui/api-waitlist

OG, thumbnail, scope + matching APIs.

Same package setup, then the workspace UI plus its Host API route.

bash
npx shadcn@latest add @atroui/og-workspace @atroui/api-generate
npx shadcn@latest add @atroui/thumbnail-workspace @atroui/api-thumbnail
npx shadcn@latest add @atroui/scope-chat @atroui/api-scope

Env, security, rate limits: Host APIs.

Why we split them: npm → shadcn registry.

Host-bound tools (optional)

OG, thumbnail, and scope chat ship as thin app/api/*/route.ts files that call atroui/api/*. AtroUI never ships keys.

bash
npx shadcn@latest add @atroui/og-workspace @atroui/api-generate
npx shadcn@latest add @atroui/thumbnail-workspace @atroui/api-thumbnail
npx shadcn@latest add @atroui/scope-chat @atroui/api-scope

# Your keys only (examples):
HUGGINGFACE_API_KEY=…

Clone the monorepo

Contributing to AtroUI itself:

bash
git clone https://github.com/atroui/atroui.git
cd atroui
pnpm install
pnpm dev

FAQ3

So form and AI routes can share validation, honeypot, and rate limits without vendoring native image deps into every copied file.

PreviousGetting StartedNextMCP server
npx shadcn@latest init
npx shadcn@latest add @atroui/home-hero
# Add one or more items (resolves registry deps)
npx @atroui/cli@latest add home-hero

# Interactive picker
npx @atroui/cli@latest add

# Browse the catalog
npx @atroui/cli@latest list
NEXT_PUBLIC_SITE_NAME=Acme
NEXT_PUBLIC_SITE_DOMAIN=acme.test
NEXT_PUBLIC_SITE_EMAIL=hello@acme.test
NEXT_PUBLIC_SITE_URL=https://acme.test
npm i atroui
# next.config.ts → transpilePackages: ["atroui"]

npx shadcn@latest add @atroui/waitlist-form @atroui/api-waitlist
CONTACT_EMAIL_TO=hello@acme.test
SMTP_USER=…
SMTP_PASSWORD=…
# or
RESEND_API_KEY=…
RESEND_AUDIENCE_ID=…
# shadcn (directory / components.json)
npx shadcn@latest add @atroui/home-hero

# or AtroUI CLI (no shadcn)
npx @atroui/cli@latest add home-hero
npm i atroui
# next.config.ts → transpilePackages: ["atroui"]

npx shadcn@latest add @atroui/waitlist-form @atroui/api-waitlist
npx shadcn@latest add @atroui/og-workspace @atroui/api-generate
npx shadcn@latest add @atroui/thumbnail-workspace @atroui/api-thumbnail
npx shadcn@latest add @atroui/scope-chat @atroui/api-scope
npx shadcn@latest add @atroui/og-workspace @atroui/api-generate
npx shadcn@latest add @atroui/thumbnail-workspace @atroui/api-thumbnail
npx shadcn@latest add @atroui/scope-chat @atroui/api-scope

# Your keys only (examples):
HUGGINGFACE_API_KEY=…
git clone https://github.com/atroui/atroui.git
cd atroui
pnpm install
pnpm dev