Get started
Fabricator UI

Search documentation

Search pages, components, blocks, styles and colours.

React Router

PreviousNext

Install and configure Fabricator UI for React Router.

Choose the setup that matches your starting point.

Use the CLI

Create Project

Run the init command to scaffold a new React Router project. Follow the prompts to configure your project: base, preset, monorepo, and more.

bunx --bun fabricator-ui@latest init -t react-router

For a monorepo project, use --monorepo flag:

bunx --bun fabricator-ui@latest init -t react-router --monorepo

To choose the base (base, radix or aria), use the -b flag. Base UI is the default.

bunx --bun fabricator-ui@latest init -t react-router -b radix

Add Components

Add the Card component to your project:

bunx --bun fabricator-ui@latest add card

If you created a monorepo, run the command from apps/web or specify the workspace from the repo root:

bunx --bun fabricator-ui@latest add card -c apps/web

The command above will add the Card component to your project. You can then import it like this:

app/routes/home.tsx
import {
  Card,
  CardContent,
  CardDescription,
  CardHeader,
  CardTitle,
} from "~/components/ui/card"
 
export default function Home() {
  return (
    <Card className="max-w-sm">
      <CardHeader>
        <CardTitle>Project Overview</CardTitle>
        <CardDescription>
          Track progress and recent activity for your React Router app.
        </CardDescription>
      </CardHeader>
      <CardContent>
        Your design system is ready. Start building your next component.
      </CardContent>
    </Card>
  )
}

If you created a monorepo, update apps/web/app/routes/home.tsx and import from @workspace/ui/components/card instead.

Existing Project

Create Project

If you need a new React Router project, create one first. Otherwise, skip this step.

bun create react-router@latest

create-react-router already configures Tailwind CSS and the default ~/* import alias for you. If you're adding Fabricator UI to an older or custom React Router app, make sure both are configured before continuing.

Run the CLI

Run the init command to set up Fabricator UI in your project.

bunx --bun fabricator-ui@latest init

If the project already has components installed, init asks whether to add the @fabricator registry only, or to also apply the Fabricator theme. See Registry.

Add Components

You can now start adding components to your project.

bunx --bun fabricator-ui@latest add button

The command above will add the Button component to your project. You can then import it like this:

app/routes/home.tsx
import { Button } from "~/components/ui/button"
 
export default function Home() {
  return (
    <div className="flex min-h-svh flex-col items-center justify-center">
      <Button>Click me</Button>
    </div>
  )
}