Installation/React Router
Install Default File UI in a React Router framework project.
Design your setup in a live studio, then copy one command tailored to this framework.
Open Create for React RouterScaffold a new project with Default File UI already configured.
Creates the framework app and wires Default File UI (package, CSS, and framework config). The kit owns the app stylesheet in a project it scaffolds, so template tokens never shadow kit tokens.
Scaffold with the CLI (npm)
1npx --yes -p @default-file/ui df-ui init -t react-router --name my-rr-app
Move into my-rr-app and run the dev server.
Start the app (npm)
1npm run dev
Copy the Button source into your app and import from `@/default-file-ui/components/df-button`. Those files become yours. Later kit releases do not replace them unless you run `df-ui add button --force`. To use the package instead, skip this step and import from `@default-file/ui`.
Add a component (npm)
1npx --yes -p @default-file/ui df-ui add button
Use a component
12345import { Button } from "@default-file/ui/components/df-button"export default function Home() {return <Button>Click me</Button>}
Configure with the CLI in your app folder, or follow the manual steps.
Skip if you already have a React Router app.
Create a project
1npm create react-router@latest
Configure with the CLI (npm)
1npx --yes -p @default-file/ui df-ui init --framework react-router
Or install manually (npm)
1npm install @default-file/ui react react-dom lucide-react
Import once in your root stylesheet (commonly `app/app.css`). Keep this import first in the file. Starter templates often declare their own `--background`, `--foreground`, or `--border` under `:root`. Those names are kit semantic tokens, so remove or rename them to keep kit theming and dark mode intact.
Import the stylesheet
1@import "@default-file/ui/css/df-index.css";
Copy the Button source into your app and import from `@/default-file-ui/components/df-button`. Those files become yours. Later kit releases do not replace them unless you run `df-ui add button --force`. To use the package instead, skip this step and import from `@default-file/ui`.
Add a component (npm)
1npx --yes -p @default-file/ui df-ui add button
Use a component
12345import { Button } from "@default-file/ui/components/df-button"export default function Home() {return <Button>Click me</Button>}
Using a different stack? Choose another framework.