Installation

Install Fulldev UI for Astro.

Fulldev UI is distributed as a shadcn-compatible @fulldev registry for Astro projects. The setup below keeps your project aligned with the examples in this documentation.

Create new Astro project

If you don’t have a project yet, we recommend using this starter template.

Add to existing Astro project

Because Fulldev UI uses shadcn-compatible registry tooling, run the shadcn init command to set up your project:

npx shadcn@latest init

If the CLI prompts for defaults, choose Astro and keep CSS variables enabled.

Edit tsconfig.json file

Add the following code to the tsconfig.json file to resolve paths:

{
  "compilerOptions": {
    // ...
    "baseUrl": ".",
    "paths": {
      "@/*": [
        "./src/*"
      ]
    }
    // ...
  }
}

Add Fulldev UI registry

Add Fulldev UI as a namespaced registry to your components.json file:

{
  "registries": {
    "@fulldev": "https://ui.full.dev/r/{name}.json"
  }
}

Once the registry is present, install the base stylesheet and shared helpers:

npx shadcn@latest add @fulldev/init

This installs the Tailwind theme tokens, animation styles, and class helper. Import @/styles/global.css from your app layout. In an existing project, review the CLI’s stylesheet changes to preserve your own theme.

Install every block with npx shadcn@latest add @fulldev/blocks, or choose individual blocks and components below.

Use a container-aware app shell

Fulldev UI uses Tailwind CSS v4 container query variants such as @2xl: and @max-5xl:. These are intentional and should not be converted to viewport breakpoints like 2xl:.

To make those variants work, add @container to the root wrapper that contains your page content:

---
import "@/styles/global.css"
---

<body class="@container">
  <slot />
</body>

Add Components

You can now start adding components to your project.

npx shadcn@latest add @fulldev/button

or multiple resources at once:

npx shadcn@latest add @fulldev/button @fulldev/card @fulldev/section

Add all components

npx shadcn@latest add @fulldev/components

Usage

The commands above will add components to your project. You can then import them like this:

---
import { Button } from "@/components/ui/button"
---

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
    <meta name="generator" content={Astro.generator} />
    <title>Astro + Fulldev UI</title>
  </head>
  <body class="@container">
    <div class="grid h-screen place-items-center content-center">
      <Button>Button</Button>
    </div>
  </body>
</html>

At that point, you can follow the component pages directly and install only the pieces you need.