No description
|
|
||
|---|---|---|
| .claude | ||
| .github | ||
| .husky | ||
| .vscode | ||
| public | ||
| scripts | ||
| src | ||
| tasks | ||
| templates/obsidian | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| astro.config.mjs | ||
| biome.jsonc | ||
| CLAUDE.md | ||
| compose.yml | ||
| Containerfile | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| pwa-assets.config.ts | ||
| README.md | ||
| stylelint.config.js | ||
| tsconfig.json | ||
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