A collection of high-converting, accessible and fast landing page templates built with Astro, Tailwind CSS and TypeScript.
Every template is optimized for Core Web Vitals, SEO and accessibility out of the box.
π lospaccabit.github.io/astro-landing-kit
| Template | Description | Preview |
|---|---|---|
| SaaS Starter | Clean, conversion-focused landing page for SaaS products. | /saas-starter |
| Product Launch | Early-access page designed to capture waitlist signups. | /product-launch |
| Agency & Services | Professional page for agencies, consultancies and service businesses. | /agency-services |
- β‘ Astro 6 with static site generation and zero JavaScript by default
- π¨ Tailwind CSS 4 with a customizable design-token system
- π TypeScript in strict mode
- π Content Collections for template configuration and validation with Zod
- π SEO ready: sitemap, canonical URLs, Open Graph, Twitter Cards, JSON-LD
- βΏ Accessible: semantic HTML, focus states, reduced-motion support
- π Dark-mode ready design tokens
- π§ͺ Vitest for unit tests
- π CI/CD with GitHub Actions
- π Hosted on GitHub Pages
| Layer | Technology |
|---|---|
| Framework | Astro 6 |
| Language | TypeScript 5+ |
| Styling | Tailwind CSS 4 |
| Icons | SVG / Lucide Astro |
| Schema | Zod |
| Testing | Vitest |
| CI/CD | GitHub Actions |
| Deploy | GitHub Pages |
astro-landing-kit/
βββ .github/ # Workflows, issue templates, funding
βββ .github/workflows/ # CI/CD pipelines
βββ public/ # Static assets (favicon, robots.txt, images)
βββ src/
β βββ components/
β β βββ layout/ # Header, Footer, Container
β β βββ sections/ # Hero, Features, CTA, etc.
β β βββ ui/ # Button, Card, Badge atoms
β βββ content/
β β βββ config.ts # Zod schemas for templates
β β βββ templates/ # JSON data for each template
β βββ layouts/
β β βββ Layout.astro # Root layout with SEO meta tags
β βββ pages/
β β βββ index.astro # Template showcase
β β βββ [template].astro # Dynamic template renderer
β βββ styles/
β β βββ global.css # Tailwind entry + design tokens
β βββ types/
β β βββ index.ts # Shared TypeScript types
β βββ utils/
β βββ seo.ts # SEO helpers
βββ astro.config.mjs
βββ package.json
βββ tsconfig.json
βββ README.md
- Node.js 22+
- pnpm 9+
git clone https://github.com/loSpaccaBit/astro-landing-kit.git
cd astro-landing-kit
pnpm installpnpm devOpen http://localhost:4321.
pnpm buildpnpm lint # astro check
pnpm type-check # tsc --noEmitpnpm testTemplates are defined as JSON files in src/content/templates/. Each template follows the Zod schema declared in src/content/config.ts.
To add a new template:
- Create
src/content/templates/my-template.json. - Fill in
title,description,category,hero,features, etc. - Run
pnpm devand visit/my-template.
The repository includes a GitHub Actions workflow that builds and deploys the site to GitHub Pages on every push to main.
- Fork or clone the repository on GitHub.
- Go to Settings β Pages and set the source to GitHub Actions.
- Push to
main. The workflow will publish the site tohttps://<username>.github.io/astro-landing-kit/.
The project is static and can be deployed to any static host. Build command: pnpm build, output directory: dist.
- Dark mode toggle
- Additional sections (Team, Contact, Blog)
- More templates (Personal Brand, E-commerce, Event)
- Lighthouse CI integration
- Storybook for UI components
Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md before contributing.
MIT Β© Francesco Nocerino
Built with β€οΈ by loSpaccaBit.