275
The empty Projects page of an app: one line on what projects are for, a Create button with its shortcut, a guide link and three templates. Creating one flies the icon into the first row of a real project list.
akaempty state·first run·onboarding
Run this in any project set up for the shadcn CLI. It copies the First Project source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/first-project.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { FirstProject } from "@/components/first-project";
export default function Page() {
return <FirstProject />;
}A free React block in the Empty & Error collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the First Project source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| workspace | string | "Ridgeline" |
| user | { name: string; initials: string } | { name: "Ada Lindqvist", initials: "AL" } |
| templates | ProjectTemplate[] | defaultTemplates |
| shortcut | string | "C" |
| defaultProjects | ProjectRow[] | [] |
| onCreate | (template?: ProjectTemplate) => void | — |
| onOpenGuide | () => void | — |
| className | string | — |