- .github/workflows/ci.yml — npm ci + npm run build on push/PR, with the PokéAPI snapshot cached so only the first run pays the fetch cost. - .github/dependabot.yml — weekly npm, monthly actions, grouped. - .github/ISSUE_TEMPLATE/ — bug report, feature request, config with discussion / upstream-data links. - CODE_OF_CONDUCT.md — Contributor Covenant 2.1 (contact method is a placeholder to fill in). - SECURITY.md — private reporting + the known dev-only Vite/esbuild advisory. - AGENTS.md — machine-facing version of CONTRIBUTING for AI coding agents. - docs/screenshots/ + a strip in the README (resized + pngquant'd, ~240 KB). - public/og.png + Open Graph / Twitter card meta in index.html. - .nvmrc (20); gitignore .claude/ .idea/ .vscode/. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Ve7HLspzeG2xDPtJQ8vmu
34 lines
750 B
YAML
34 lines
750 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: npm
|
|
|
|
- run: npm ci
|
|
|
|
# The build's `prebuild` step fetches a data snapshot from PokéAPI.
|
|
# Cache it so only the first run (or a change to the script) pays that
|
|
# cost; CI only needs *a* snapshot to prove the build compiles.
|
|
- name: Cache PokéAPI snapshot
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: src/data/snapshot.json
|
|
key: pokeapi-snapshot-${{ hashFiles('scripts/build-snapshot.mjs') }}
|
|
|
|
- run: npm run build
|