Astro
Install and configure shadcn/ui with Zaidan for Astro using SolidJS.
Create project
Start by creating a new Astro project with SolidJS and Tailwind CSS:
Configure TypeScript Paths
Add the following to your tsconfig.json to enable path aliases:
{ "extends": "astro/tsconfigs/strict", "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["./src/*"] } }}Run the CLI
Run the shadcn init command to setup your project:
Configure your Shadcn installation
Update the components.json file to point to the Zaidan registry and use the kobalte style:
{ "$schema": "https://ui.shadcn.com/schema.json", "style": "kobalte", "rsc": false, "tsx": true, "tailwind": { "config": "", "css": "src/styles/globals.css", "baseColor": "neutral", // or "gray", "stone", "zinc" "cssVariables": true, "prefix": "" }, "iconLibrary": "lucide", "rtl": false, "aliases": { "components": "@/components", "utils": "@/lib/utils", "ui": "@/components/ui", "lib": "@/lib", "hooks": "@/hooks" }, "menuColor": "default", // or "inverted" "menuAccent": "subtle", // or "bold" "registries": { "@zaidan": "https://zaidan.carere.dev/r/{style}/{name}.json" }}Customize your Design System
Customize your Design System then
Add Components
You can now start adding components to your project.
The command above will add the Button component to your project. You can then import it 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 + TailwindCSS</title> </head>
<body> <div className="grid place-items-center h-screen content-center"> <Button>Button</Button> </div> </body></html>