Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Astro v5 starter with TailwindCSS v4, shadcn/ui, React 19, TypeScript, Sentry, and GitHub Actions CI/CD.
The Astro + TailwindCSS + shadcn/ui Template is a boilerplate for building static sites with Astro v5, a React 19 component layer styled by TailwindCSS v4 and shadcn/ui, and production-ready tooling for error tracking, testing, and CI/CD.
It is an open-source, MIT-licensed starting point for static websites and web apps. The template takes source files written in Astro, React, and TypeScript and builds them into a static site with environment-specific URL and asset configurations. It runs on Astro 5.12.9 with React 19.1.1, TailwindCSS 4.1.4, and shadcn/ui 2.10.0 per the version badges in the README, and it is published on GitHub with a live demo hosted on GitHub Pages.
client:load, and path aliases via @/ are configured in tsconfig.json.src/styles/global.css define an OKLCH color palette, a .dark class for dark mode, and custom variants; theme tokens are exposed as CSS variables for shadcn/ui.components.json with the New York style, gray base color, CSS variables enabled, and Lucide icon library; included components are badge, button, card, dialog, label, radio-group, and switch.src/lib/constants.ts sets separate SITE_URL, BASE_URL, and ASSETS_URL for development, staging, and production; npm run stg and npm run prod switch builds between environments.src/lib/sentry.ts initializes Sentry in production, captures exceptions, warnings, and HTTP errors, and falls back to console output in development.npm run test:run, npm run test:ui, and npm run test:coverage are available.npm audit, multi-version Node.js builds (20.x and 22.x), and deploy the built site to GitHub Pages..astro files; VSCode settings enable format-on-save.BASE_URL.STATUS..env.Layout.astro and Head.astro for SEO meta tags.BASE_URL.STATUS to true in src/lib/constants.ts and the build output moves to a path such as dist/hoge/.captureHttpError with the URL and HTTP status to get detailed Sentry reports for failed requests.npx shadcn add form or similar commands to copy components into src/components/ui/ for customization.Clone the repository, install dependencies with npm install, and start development with npm run dev. The build commands npm run build, npm run stg, and npm run prod produce environment-specific static output in dist/, and the GitHub Actions workflow automates tests plus GitHub Pages deployment.
Node.js v20.9.0 or higher and npm v10.1.0 or higher. The repository includes .node-version, .nvmrc, and a Volta config that pins Node 20.18.0 and npm 10.8.2.
Yes, it is released under the MIT License, so you can use and modify it freely, including in commercial projects.
Yes. The SettingsDialog component lets users choose light, dark, or system theme; dark mode is implemented with a .dark class on the document root, and the choice persists in localStorage.
Use npx shadcn add button or npx shadcn add dialog card alert to copy the component source into src/components/ui/. Because components are copied directly, updates require manually re-running the command.
Set ASSETS_URL.STATUS to true in src/lib/constants.ts and provide the CDN base URL; the build then places assets under that prefix and sets assetsPrefix in the Vite config.
