astro-performance-starter/
│ │ ├── ci.yml # Quality gates (lint, types, tests)
│ │ ├── deploy.yml # GitHub Pages deployment
│ │ ├── lighthouse.yml # Lighthouse CI (desktop + mobile)
│ │ ├── mutation.yml # Stryker mutation testing
│ │ └── release.yml # Release automation
│ │ └── feature-request.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── README.md # Docs overview & navigation
│ ├── getting-started/ # Onboarding & quick-start guides
│ ├── implementation-guides/ # Development guides
│ │ ├── README.md # Implementation roadmap
│ │ ├── completed/ # Foundation phases (0-4)
│ │ │ ├── phase-0-foundation.md
│ │ │ ├── phase-1-content-arch.md
│ │ │ ├── phase-2-design-system.md
│ │ │ ├── phase-3-tooling.md
│ │ │ ├── phase-4-skeleton.md
│ │ │ └── phase-*-code-examples.md
│ │ ├── active-phases/ # Current development (5-12)
│ │ │ ├── phase-5-components.md
│ │ │ ├── phase-6-sections.md
│ │ │ ├── phase-7-content.md
│ │ │ ├── phase-9-performance.md
│ │ │ ├── phase-10-deployment.md
│ │ │ ├── phase-11-documentation.md
│ │ │ └── phase-12-post-launch.md
│ │ ├── guides/ # Topic-specific guides
│ │ │ ├── accessibility-guide.md
│ │ │ ├── components-guide.md
│ │ │ ├── content-model-guide.md
│ │ │ ├── image-optimization-guide.md
│ │ │ ├── rollback-strategies-guide.md
│ │ │ └── testing-strategy-guide.md
│ │ ├── code-examples/ # Implementation examples
│ │ └── reference/ # Technical reference
│ │ ├── directory-structure.md
│ │ └── budgets-guardrails.md
│ ├── patterns/ # Reusable code patterns
│ ├── development/ # Contributor docs
│ └── adr/ # Architecture Decision Records
│ ├── 000-starter-decisions.md
│ ├── 001-preact-island-usage-policy.md
│ └── ... # Numbered ADRs through 062
│ │ └── fonts/ # Vendored woff2 (Astro Fonts API)
│ │ ├── atoms/ # Badge, Button, Icon, Image,
│ │ │ └── ... # ThemeToggle, Tooltip, ...
│ │ ├── molecules/ # Card, ContactForm, Dialog,
│ │ │ └── ... # Head, PostCard, Tabs, ...
│ │ ├── structural/ # Container, Footer, Grid,
│ │ │ └── ... # Header, Section, ...
│ │ ├── islands/ # Preact islands (.tsx)
│ │ ├── mdx/ # Components for MDX content
│ ├── content/ # Content collections (data)
│ ├── content.config.ts # Content Layer schemas (src root)
│ ├── config.ts # Site metadata & links
│ │ ├── BaseLayout.astro # Complete base layout
│ │ └── ProjectLayout.astro
│ │ ├── index.astro # Homepage
│ │ ├── how-it-works.astro
│ │ ├── showcase.astro # Component showcase
│ │ ├── adr/ # Rendered ADR pages
│ │ └── global.css # With token integration
│ │ ├── astro-content.d.ts # Generated types
│ │ └── navigation.ts # Navigation types
│ └── url-utils.ts # Plus blog, date & OG utilities
│ ├── _headers # Security headers
│ ├── og-default.png # Open Graph images
│ ├── src/ # ~20 TypeScript utility scripts:
│ │ ├── build-tokens.ts # Token builder (tokens:build)
│ │ ├── validate-contrast.ts # Contrast validator (design:validate)
│ │ ├── analyze-bundle.ts # Bundle analysis (bundle:analyze)
│ │ ├── validate-env.ts # Env validation (env:validate)
│ │ ├── ... # Budgets, OG images, image optimization
│ │ └── __tests__/ # Unit tests for scripts
│ └── tsconfig.json # Scripts TypeScript config
│ ├── base.json # Complete token set
│ └── dist/ # Git-ignored
├── e2e/ # Playwright end-to-end tests
│ ├── pre-commit # Working git hooks
├── .commitlintrc.cjs # Commit message linting
├── .editorconfig # Editor settings
├── .env.example # Environment template
├── .gitignore # Comprehensive ignore
├── .lintstagedignore # Lint staged ignore
├── .nvmrc # Node version
├── AGENTS.md # Generated agent instructions
├── CHANGELOG.md # Release notes
├── CLAUDE.md # AI constitution
├── CONTRIBUTING.md # Contribution guide
├── README.md # Project overview
├── LICENSE.txt # MIT license
├── astro.config.mjs # Astro config (fonts, env, integrations)
├── biome.json # Complete config
├── budget-overrides.json # Example overrides
├── budgets.json # Performance budgets
├── lighthouserc.json # Lighthouse CI config
├── package.json # All deps, no fluff
├── playwright.config.ts # E2E test config
├── pnpm-lock.yaml # Lockfile
├── stryker.conf.json # Mutation testing config
├── tsconfig.json # Strict mode
└── vitest.config.ts # Testing config