Github
Docs
SolidStart

SolidStart

Install and configure SolidStart.

CLI

Create project

Start by creating a new SolidStart project using create-solid and select tailwind or uno:

pnpm create solid@latest

Path Aliases

I'm use the @ alias to make it easier to import your components. This is how you can configure it:

tsconfig.json
{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}
app.config.ts
import { defineConfig } from "@solidjs/start/config";
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
 
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
 
export default defineConfig({
  vite: {
    resolve: {
      alias: {
        "@": resolve(__dirname, "./src")
      }
    }
  }
});

Run the CLI

Run the shadcn-solid init command to setup your project:

npx shadcn-solid@latest init

Configure components.json

You will be asked a few questions to configure components.json:

Which CSS framework would you like to use?
 TailwindCSS
 UnoCSS

Which color would you like to use as base color?
Slate

Where is your global CSS file?
src/app.css

Would you like to use CSS variables for colors?
Yes

Are you using a custom tailwind prefix eg. tw-? (Leave blank if not)


Where is your tailwind.config.cjs located?
tailwind.config.cjs

Configure the import alias for components:
@/components

Configure the import alias for utils:
@/lib/utils

That's it

You can now start adding components to your project.

npx shadcn-ui@latest add button

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

import { Button } from "@/components/ui/button"
 
export default function Home() {
  return (
    <div>
      <Button>Click me</Button>
    </div>
  )
}