Skip to content

What is included in this template?

The Astro Performance Starter gives you a production-ready foundation focused on performance, accessibility, and DX. Phase 5 (“UI Component Library - MVP”) is now complete, delivering essential UI components alongside the foundational site structure.

FeaturePathNotes
Base layoutsrc/layouts/BaseLayout.astroSEO props, OG/Twitter tags, font pre-loading, ViewTransitions, Header, Footer, SkipLink slots.
Headersrc/components/structural/Header.astroSticky, responsive shell with placeholder nav & logo.
Footersrc/components/structural/Footer.astroDynamic copyright year.
Skip linksrc/components/a11y/SkipLink.astroKeyboard-friendly “skip to content”.
Error pagessrc/pages/404.astro, src/pages/500.astroCustom, accessible error templates.
Demo landing pagesrc/pages/examples/landing.astroShows basic component usage.
Global font setup@fontsource-variable/interPreloaded WOFF2 assets & CSS vars.
Security headerspublic/_headersCSP, HSTS, referrer-policy, etc.
Robots rulespublic/robots.txtDefault allow + sitemap reference.
Faviconpublic/favicon.svg, public/favicon.ico, public/apple-touch-icon.pngReplace with your own brand assets.
Mobile menu islandsrc/components/islands/MobileMenuToggle.tsxProgressive enhancement; header wiring next.
TypeScript typessrc/types/Navigation types and auto-generated content types.
Project assetssrc/assets/logo.svgOptimized logo asset for branding.

Essential UI primitives following atomic design patterns:

ComponentPathPurpose
Buttonsrc/components/atoms/Button.astroVersatile button with size/variant props. Primary foundation for interactions.
Badgesrc/components/atoms/Badge.astroNon-interactive labels for status, metrics, or categories.
Imagesrc/components/atoms/Image.astroWrapper around Astro’s Image with project defaults (AVIF, optimized sizing).
Cardsrc/components/molecules/Card.astroFlexible content container with consistent spacing and styling.
Containersrc/components/structural/Container.astroManages horizontal width and centers content across breakpoints.
Sectionsrc/components/structural/Section.astroControls vertical rhythm and spacing for page sections.
Gridsrc/components/structural/Grid.astroResponsive CSS Grid with consistent gaps and breakpoint behavior.

Link styling: Basic commented-out styles provided in src/styles/global.css - customize as needed or create Link component using provided documentation patterns.

ToolPath/ConfigPurpose
Design tokenstokens/base.json, tokens/semantic.jsonComplete design system with build script.
Token builderscripts/src/build-tokens.tsConverts JSON tokens to CSS variables and Tailwind config.
Performance baselinescripts/src/baseline-performance.tsLighthouse score tracking and budgets.
Contrast validatorscripts/src/validate-contrast.tsWCAG AA accessibility validation.
Budget trackingscripts/src/track-performance-budgets.tsPerformance budget enforcement.
Biome lintingbiome.jsonFast linting and formatting (replaces ESLint + Prettier).
Git hooks.husky/pre-commitPre-configured commit hooks with lint-staged.
Vitest testingvitest.config.tsTesting framework configuration.
FeaturePathPurpose
Windsurf AI rules.windsurfrulesAI assistant configuration for optimal development patterns.
AI rules templateairules.exampleTemplate for customizing AI development context.
Comprehensive docssrc/content/docs/Complete implementation guides, patterns, and ADRs for AI context.
ConfigPurpose
.editorconfigConsistent editor settings across team.
.commitlintrc.cjsEnforces conventional commit messages.
.lintstagedignoreFiles to skip during pre-commit linting.
tailwind.config.tsTailwind with design token integration.
tsconfig.jsonStrict TypeScript configuration.
.nvmrcNode.js version specification.
Terminal window
pnpm install # install dependencies
pnpm dev # start local dev server

• Docs home: local only located at /src/content/docs/ • Demo homepage: http://localhost:4321/

  1. Branding: update logo text in Header.astro and swap public/favicon.svg.
  2. Navigation: edit links in Header.astro and wire the mobile menu panel.
  3. Pages: start new pages under src/pages/ or copy the demo landing page.
  4. SEO defaults: change siteTitle inside BaseLayout.astro.
ItemReason
.github/FUNDING.ymlFunding links vary; add your own if desired
Documentation-specific filesMarkdown linting configs, frontmatter validation scripts removed for general use

Phase 5 is complete! ✅ All MVP UI components are implemented and ready to use.

Up next: Phase 6 connects content collections for managing blog posts, projects, and structured data. Follow the implementation guides for step-by-step progress on remaining phases.