init
This commit is contained in:
commit
017bf6e067
115 changed files with 19650 additions and 0 deletions
67
README.md
Normal file
67
README.md
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
# 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](https://astro.build/) 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](https://github.com/othree/smartypants.js) smart quotes for page titles and descriptions
|
||||
|
||||
**Styles**
|
||||
- Josh Comeau's [reset.css](https://www.joshwcomeau.com/css/custom-css-reset/)
|
||||
|
||||
**Linting and Formatting**
|
||||
- Linting and formatting with [Biome](https://biomejs.dev/)
|
||||
- Style linting with [Stylelint](https://stylelint.io/) and [stylelint-config-astro](https://github.com/mattpfeffer/stylelint-config-astro)
|
||||
|
||||
**VS Code**
|
||||
- Format on save and on paste
|
||||
- Default formatter set to Astro
|
||||
- Workplace recommendations for [Astro](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode), [axe Accessibility Linter](https://marketplace.visualstudio.com/items?itemName=deque-systems.vscode-axe-linter), and [Biome](https://marketplace.visualstudio.com/items?itemName=biomejs.biome)
|
||||
|
||||
**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:
|
||||
|
||||
```bash
|
||||
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](https://docs.astro.build/en/guides/integrations-guide/sitemap/) installed
|
||||
Loading…
Add table
Add a link
Reference in a new issue