Section Library
Copy-paste ready components for your landing page. Each section is fully customizable and built with TypeScript, Tailwind CSS, and shadcn/ui.
Hero Sections
Eye-catching hero sections to make a strong first impression.
Centered with Badge
---
import Hero from "@/components/sections/Hero.astro";
---
<Hero
badge="NEW"
badgeText="Introducing our latest feature"
title="Build amazing products faster"
subtitle="Start with our pre-built components and focus on what matters. Ship faster, iterate quicker."
primaryCta={{ text: "Get Started", href: "/signup" }}
secondaryCta={{ text: "Learn More", href: "/docs" }}
centered
/> Build amazing products faster
Start with our pre-built components and focus on what matters. Ship faster, iterate quicker.
Left Aligned with Visual
---
import Hero from "@/components/sections/Hero.astro";
---
<Hero
tagline="๐ Launch Week"
title="Ship your SaaS in days, not months"
subtitle="Everything you need to build a modern landing page. TypeScript, Tailwind, and shadcn/ui included."
primaryCta={{ text: "Start Building", href: "/get-started" }}
secondaryCta={{ text: "View Demo", href: "/demo" }}
image={{ src: "/images/hero.png", alt: "Product screenshot" }}
/> Ship your SaaS in days, not months
Everything you need to build a modern landing page. TypeScript, Tailwind, and shadcn/ui included.
Image Placeholder
Minimal with Stats
---
import Hero from "@/components/sections/Hero.astro";
---
<Hero
title="The complete toolkit for modern development"
subtitle="Join thousands of developers building with AstroDeck"
centered
stats={[
{ value: "50K+", label: "Downloads" },
{ value: "1.2K+", label: "GitHub Stars" },
{ value: "99%", label: "Satisfaction" }
]}
/> The complete toolkit for modern development
Join thousands of developers building with AstroDeck
Call to Action
Convert visitors with compelling CTAs.
Simple Centered
---
import CTA from "@/components/sections/CTA.astro";
---
<CTA
title="Ready to get started?"
subtitle="Join thousands of developers already using AstroDeck to build amazing products."
primaryCta={{ text: "Start Free Trial", href: "/trial" }}
/> Ready to get started?
Join thousands of developers already using AstroDeck to build amazing products.
Start Free TrialSplit with Features
---
import CTA from "@/components/sections/CTA.astro";
---
<CTA
title="Build faster with our components"
features={[
"Pre-built components",
"Full TypeScript support",
"Dark mode ready"
]}
primaryCta={{ text: "Get Started Free", href: "/signup" }}
secondaryCta={{ text: "View Documentation", href: "/docs" }}
variant="split"
/> Build faster with our components
- Pre-built components
- Full TypeScript support
- Dark mode ready
Banner Style
---
import CTA from "@/components/sections/CTA.astro";
---
<CTA
title="Try AstroDeck today"
subtitle="Start building your next project with our components"
primaryCta={{ text: "Download Now", href: "/download" }}
secondaryCta={{ text: "GitHub", href: "https://github.com" }}
variant="banner"
/> Try AstroDeck today
Start building your next project with our components
Pricing Tables
Clear pricing that converts.
AstroDeck Open Source
---
import Pricing from "@/components/sections/Pricing.astro";
---
<Pricing
title="Free forever. Open source."
subtitle="All features included. No hidden costs."
plans={[
{
name: "Landing Page",
description: "Everything you need for a stunning landing page.",
price: "Free",
features: ["Hero & CTA sections", "Logo cloud", "Feature showcase", "Responsive design", "Dark mode support"],
cta: { text: "View on GitHub", href: "https://github.com" }
},
{
name: "Full SaaS",
description: "Complete boilerplate for your SaaS product.",
price: "Free",
featured: true,
features: ["All landing page features", "Authentication layouts", "Pricing sections", "Privacy & legal pages", "TypeScript & shadcn/ui", "Production-ready"],
cta: { text: "Get Started", href: "/get-started" }
},
{
name: "Open Source",
description: "MIT licensed and open for contributions.",
price: "Free",
features: ["Full source code access", "Regular updates", "Community support", "No vendor lock-in", "Commercial use allowed"],
cta: { text: "Star on GitHub", href: "https://github.com" }
}
]}
/> Free forever. Open source.
All features included. No hidden costs.
Landing Page
Everything you need for a stunning landing page.
- Hero & CTA sections
- Logo cloud
- Responsive design
Full SaaS
Complete boilerplate for your SaaS product.
- All landing page features
- Authentication layouts
- TypeScript & shadcn/ui
Open Source
MIT licensed and open for contributions.
- Full source code access
- Regular updates
- Commercial use allowed
Three Column Layout
---
import Pricing from "@/components/sections/Pricing.astro";
---
<Pricing
plans={[
{
name: "Starter",
description: "For small projects",
price: "$9",
period: "/month",
features: ["5 Projects", "Basic Support", "1 GB Storage"],
cta: { text: "Get Started", href: "/signup" }
},
{
name: "Pro",
description: "For growing teams",
price: "$29",
period: "/month",
featured: true,
badge: "Popular",
features: ["Unlimited Projects", "Priority Support", "100 GB Storage"],
cta: { text: "Get Started", href: "/signup" }
},
{
name: "Enterprise",
description: "For large organizations",
price: "Custom",
features: ["Everything in Pro", "24/7 Support", "Unlimited Storage"],
cta: { text: "Contact Sales", href: "/contact" }
}
]}
/> Comparison Table
---
import Pricing from "@/components/sections/Pricing.astro";
---
<Pricing
title="Choose your plan"
subtitle="Simple, transparent pricing"
variant="comparison"
features={["Projects", "Storage", "Support"]}
plans={[
{ name: "Free", values: ["3", "1 GB", "Community"] },
{ name: "Pro", values: ["Unlimited", "100 GB", "Email"] },
{ name: "Enterprise", values: ["Unlimited", "Unlimited", "24/7"] }
]}
/> Choose your plan
Simple, transparent pricing
| Features | Free | Pro | Enterprise |
|---|---|---|---|
| Projects | 3 | Unlimited | Unlimited |
| Storage | 1 GB | 100 GB | Unlimited |
| Support | Community | 24/7 |
Monthly/Yearly Toggle
---
import Pricing from "@/components/sections/Pricing.astro";
---
<Pricing
title="Flexible pricing"
subtitle="Save 20% with annual billing"
variant="toggle"
plans={[
{
name: "Basic",
monthlyPrice: "$19",
yearlyPrice: "$15",
cta: { text: "Choose Plan", href: "/signup" }
},
{
name: "Professional",
monthlyPrice: "$49",
yearlyPrice: "$39",
featured: true,
cta: { text: "Choose Plan", href: "/signup" }
}
]}
/> Flexible pricing
Save 20% with annual billing
Testimonials
Build trust with social proof.
Grid Layout
---
import Testimonials from "@/components/sections/Testimonials.astro";
---
<Testimonials
items={[
{
quote: "AstroDeck saved us weeks of development time. The components are beautiful and easy to customize.",
author: "Sarah Chen",
role: "CEO, TechCorp",
avatar: "/images/avatar-1.jpg"
},
{
quote: "Best Astro boilerplate I've used. Clean code, great documentation, and excellent support.",
author: "Marcus Johnson",
role: "Developer"
},
{
quote: "The perfect starting point for any SaaS project. Highly recommended for anyone using Astro.",
author: "Emily Rodriguez",
role: "Product Manager"
}
]}
/> "AstroDeck saved us weeks of development time. The components are beautiful and easy to customize."
Sarah Chen
CEO, TechCorp
"Best Astro boilerplate I've used. Clean code, great documentation, and excellent support."
Marcus Johnson
Developer
"The perfect starting point for any SaaS project. Highly recommended for anyone using Astro."
Emily Rodriguez
Product Manager
Featured Single
---
import Testimonials from "@/components/sections/Testimonials.astro";
---
<Testimonials
variant="featured"
quote="AstroDeck has completely transformed how we build landing pages. The quality of the components and attention to detail is exceptional. Our development time has been cut in half."
author="Alex Kim"
role="CTO, StartupCo"
avatar="/images/avatar.jpg"
/> AstroDeck has completely transformed how we build landing pages. The quality of the components and attention to detail is exceptional. Our development time has been cut in half.
Alex Kim
CTO, StartupCo
Horizontal Scroll
---
import Testimonials from "@/components/sections/Testimonials.astro";
---
<Testimonials
variant="scroll"
items={[
{ quote: "Game changer for our team!", author: "Jane Doe", role: "Designer" },
{ quote: "Excellent components and documentation.", author: "Tom Peters", role: "Engineer" },
{ quote: "Best boilerplate for Astro projects.", author: "Lisa Wang", role: "Founder" },
{ quote: "Saved us months of development.", author: "Ryan Brown", role: "Developer" }
]}
/> "Game changer for our team!"
Jane Doe
Designer
"Excellent components and documentation."
Tom Peters
Engineer
"Best boilerplate for Astro projects."
Lisa Wang
Founder
FAQ
Answer common questions with an accessible accordion.
Default Accordion
---
import FAQ from "@/components/sections/FAQ.astro";
---
<FAQ
title="Frequently Asked Questions"
subtitle="Everything you need to know about AstroDeck"
faqs={[
{
question: "What is AstroDeck?",
answer: "AstroDeck is an open-source component library and starter kit for building Astro.js websites. It provides pre-built, production-ready sections for landing pages and SaaS websites โ fully typed with TypeScript and styled with Tailwind CSS v4."
},
{
question: "Is AstroDeck free to use?",
answer: "Yes, AstroDeck is completely free and open-source under the MIT license. You can use it for personal and commercial projects without any cost or attribution requirement."
},
{
question: "Does AstroDeck support dark mode?",
answer: "Absolutely. Every component is built with CSS variables and Tailwind CSS, so dark mode works out of the box. Just toggle the class on the html element and all sections adapt automatically."
},
{
question: "Can I use AstroDeck with an existing Astro project?",
answer: "Yes. You can copy individual components into any Astro project. Make sure you have Tailwind CSS v4 configured via the @tailwindcss/vite plugin and the same CSS custom properties defined in your globals.css."
}
]}
/> Frequently Asked Questions
Everything you need to know about AstroDeck
What is AstroDeck?
AstroDeck is an open-source component library and starter kit for building Astro.js websites. It provides pre-built, production-ready sections for landing pages and SaaS websites โ fully typed with TypeScript and styled with Tailwind CSS v4.
Is AstroDeck free to use?
Yes, AstroDeck is completely free and open-source under the MIT license. You can use it for personal and commercial projects without any cost or attribution requirement.
Does AstroDeck support dark mode?
Absolutely. Every component is built with CSS variables and Tailwind CSS, so dark mode works out of the box. Just toggle the class on the html element and all sections adapt automatically.
Can I use AstroDeck with an existing Astro project?
Yes. You can copy individual components into any Astro project. Make sure you have Tailwind CSS v4 configured via the @tailwindcss/vite plugin and the same CSS custom properties defined in your globals.css.
Stats
Highlight key metrics that build credibility.
Four-Column Grid
---
import Stats from "@/components/sections/Stats.astro";
---
<Stats
title="Trusted by developers worldwide"
subtitle="Numbers that speak for themselves"
stats={[
{ value: "50K+", label: "Downloads", description: "Across 80+ countries" },
{ value: "1.2K+", label: "GitHub Stars", description: "And growing every week" },
{ value: "30+", label: "Components", description: "Ready to copy and paste" },
{ value: "99.9%", label: "Uptime", description: "Battle-tested infrastructure" }
]}
/> Trusted by developers worldwide
Numbers that speak for themselves
- 50K+
- Downloads
- 1.2K+
- GitHub Stars
- 30+
- Components
- 99.9%
- Uptime
Across 80+ countries
And growing every week
Ready to copy and paste
Battle-tested infrastructure
Team
Introduce the people behind your product.
Card Grid with Initials
---
import Team from "@/components/sections/Team.astro";
---
<Team
title="Meet Our Team"
subtitle="The people building AstroDeck"
members={[
{
name: "Alex Rivera",
role: "Co-Founder & CEO",
bio: "Passionate about developer experience and open source.",
social: {
github: "https://github.com",
twitter: "https://twitter.com"
}
},
{
name: "Sam Chen",
role: "Lead Engineer",
bio: "TypeScript enthusiast and Astro core contributor.",
social: {
github: "https://github.com",
linkedin: "https://linkedin.com"
}
},
{
name: "Jordan Lee",
role: "Design Lead",
bio: "Crafting accessible interfaces with Tailwind and shadcn/ui.",
social: {
twitter: "https://twitter.com",
linkedin: "https://linkedin.com"
}
}
]}
/> Comparison
Show how you stack up against the competition.
Feature Comparison Table
---
import Comparison from "@/components/sections/Comparison.astro";
---
<Comparison
title="How We Compare"
subtitle="See why teams choose AstroDeck over the alternatives"
columns={[
{ name: "AstroDeck", highlighted: true },
{ name: "Competitor A" },
{ name: "Competitor B" }
]}
features={[
{ name: "Open source", values: [true, false, false] },
{ name: "TypeScript support", values: [true, true, false] },
{ name: "Dark mode", values: [true, true, false] },
{ name: "Tailwind CSS v4", values: [true, false, false] },
{ name: "Updates per year", values: ["Unlimited", "12", "4"] }
]}
/> How We Compare
See why teams choose AstroDeck over the alternatives
| Feature | AstroDeck Recommended | Competitor A | Competitor B |
|---|---|---|---|
| Open source | |||
| TypeScript support | |||
| Dark mode | |||
| Tailwind CSS v4 | |||
| Updates per year | Unlimited | 12 | 4 |
Contact
Let visitors reach you with a clean contact form.
Split with Form
---
import Contact from "@/components/sections/Contact.astro";
---
<Contact
title="Get in Touch"
subtitle="Have a question or want to contribute? We would love to hear from you."
email="hello@astrodeck.dev"
phone="+1 (555) 000-1234"
address="123 Developer Lane
San Francisco, CA 94107
United States"
/> Get in Touch
Have a question or want to contribute? We would love to hear from you.
-
Email
hello@astrodeck.dev -
Phone
+1 (555) 000-1234 -
Address
123 Developer Lane
San Francisco, CA 94107
United States