2.8 KiB
2.8 KiB
Astro Starter
An Astro starter project set up with pnpm, Biome, Stylelint, Husky, and Astro Sitemap, plus sensible VS Code defaults and recommended workspace extensions.
Getting Started
- Click "Use this template" and create a new repository.
- In
astro.config.mjs, updatesitefromhttps://mysite.comto your site URL. - In
src/layouts/BaseLayout.astro, updatesiteNameto your site name. - Good to go!
What's included
Basics
- A blank Astro project with TypeScript enabled
pnpmpackage management plusonly-allow pnpm- Import aliases of
srcusing~to enable usingimport { Component } from '~/components' - Basic meta tags and open graph tags in
layouts/BaseLayout.astro initial-scale=1onviewportto prevent default mobile zoom-out- Site name displays after the page title (
Page Title · Site Name) on pages other than the main index - smartypants smart quotes for page titles and descriptions
Styles
- Josh Comeau's reset.css
Linting and Formatting
- Linting and formatting with Biome
- Style linting with Stylelint and stylelint-config-astro
VS Code
- Format on save and on paste
- Default formatter set to Astro
- Workplace recommendations for Astro, axe Accessibility Linter, and Biome
Package.json scripts
check— Run Astro check + Biome lint and formatcheck:fix— Run Astro check + Biome lint and format + fix errorsstylelint— Run Stylelintstylelint:fix— Run Stylelint and fix errors
Vision script (requires ANTHROPIC_API_KEY in .env.local)
Generate AI metadata (title, description, tags) + EXIF sidecars for a photo album:
node --env-file=.env.local --experimental-strip-types scripts/vision.ts src/content/photos/albums/<album>
Optional flags:
--refresh— overwrite existing JSON sidecars--concurrency=N— parallel API calls (default: 2)--retries=N— max retries on rate limits (default: 8)--backoff-ms=N— base backoff in ms (default: 1500)
Husky
pnpm checkon pre-commit
Dependabot
- Weekly dependency update checks
- All GitHub Action updates grouped in a single pull request
- All patch or minor package updates grouped in a single pull request
- All major package updates created as individual pull requests
Config
- Link prefetching enabled
- Dev toolbar disabled
- Astro Sitemap installed