No description
Find a file
2026-03-30 14:23:52 +02:00
.claude init 2026-03-30 14:16:43 +02:00
.github Bump actions/checkout from 4 to 6 in the actions-deps group 2026-03-30 12:17:47 +00:00
.husky init 2026-03-30 14:16:43 +02:00
.vscode init 2026-03-30 14:16:43 +02:00
public init 2026-03-30 14:16:43 +02:00
scripts init 2026-03-30 14:16:43 +02:00
src init 2026-03-30 14:16:43 +02:00
tasks init 2026-03-30 14:16:43 +02:00
templates/obsidian init 2026-03-30 14:16:43 +02:00
.dockerignore init 2026-03-30 14:16:43 +02:00
.env.example init 2026-03-30 14:16:43 +02:00
.gitignore init 2026-03-30 14:16:43 +02:00
AGENTS.md init 2026-03-30 14:16:43 +02:00
astro.config.mjs init 2026-03-30 14:16:43 +02:00
biome.jsonc init 2026-03-30 14:16:43 +02:00
CLAUDE.md init 2026-03-30 14:16:43 +02:00
compose.yml init 2026-03-30 14:16:43 +02:00
Containerfile init 2026-03-30 14:16:43 +02:00
LICENSE init 2026-03-30 14:16:43 +02:00
package.json Bump the patch-minor group with 7 updates 2026-03-30 12:21:15 +00:00
pnpm-lock.yaml Bump the patch-minor group with 7 updates 2026-03-30 12:21:15 +00:00
pnpm-workspace.yaml init 2026-03-30 14:16:43 +02:00
pwa-assets.config.ts init 2026-03-30 14:16:43 +02:00
README.md init 2026-03-30 14:16:43 +02:00
stylelint.config.js init 2026-03-30 14:16:43 +02:00
tsconfig.json init 2026-03-30 14:16:43 +02:00

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

  1. Click "Use this template" and create a new repository.
  2. In astro.config.mjs, update site from https://mysite.com to your site URL.
  3. In src/layouts/BaseLayout.astro, update siteName to your site name.
  4. Good to go!

What's included

Basics

  • A blank Astro project with TypeScript enabled
  • pnpm package management plus only-allow pnpm
  • Import aliases of src using ~ to enable using import { Component } from '~/components'
  • Basic meta tags and open graph tags in layouts/BaseLayout.astro
  • initial-scale=1 on viewport to 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

Linting and Formatting

VS Code

Package.json scripts

  • check — Run Astro check + Biome lint and format
  • check:fix — Run Astro check + Biome lint and format + fix errors
  • stylelint — Run Stylelint
  • stylelint: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 check on 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