From 307dffd3a7150c8fc2a8521430df4e12ea67a032 Mon Sep 17 00:00:00 2001 From: Samuel Enocsson Date: Fri, 22 May 2026 15:45:04 +0200 Subject: [PATCH] docs: update CLAUDE.md for consolidated deploy.yml workflow --- CLAUDE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index f1f1bb2..0355ecb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -11,7 +11,7 @@ PDGA rating scraper and display app. Scrapes player ratings and course data from - **Frontend:** HTMX + vanilla JS (in `public/js/`) - **Scraping:** Puppeteer (with stealth plugin) + direct HTTP - **Logging:** Pino (JSON in production, pino-pretty in dev) -- **CI/CD:** Gitea Actions (tag-triggered docker build/push to `gitea.shcizo.se/shcizo/pdga-rating`) +- **CI/CD:** Gitea Actions (tag-triggered build + push + deploy via `.gitea/workflows/deploy.yml`) ## Project Structure @@ -46,7 +46,7 @@ public/ - **Logging:** Use `require('./logger')` (or relative path). Never use `console.log/error` in backend code. Use appropriate Pino levels: `debug` for verbose/diagnostic data, `info` for operational status, `warn` for retries/degraded state, `error` for failures, `fatal` for startup crashes. - **Frontend JS:** `console.error` is fine in `public/js/` — runs in browser, no Pino. - **Commits:** Conventional commits (`feat:`, `fix:`, `refactor:`, `chore:`, `ci:`). -- **Releases:** Manual version bump — edit `version` in `package.json` + `package-lock.json`, commit as ``, tag `v`, push commit + tag (`git push origin main v`). Triggers `.gitea/workflows/docker-build.yml` which builds and pushes the image. Auth uses repo secret `PACKAGES_TOKEN` (PAT with `write:package`) — the auto-injected `GITEA_TOKEN` does not have effective registry access. +- **Releases:** Manual version bump — edit `version` in `package.json` + `package-lock.json`, commit as ``, tag `v`, push commit + tag (`git push origin main v`). Triggers `.gitea/workflows/deploy.yml` which (1) builds and pushes the image to `gitea.shcizo.se/shcizo/pdga-rating:` + `:latest`, then (2) calls `package-updater-action` against `updater.shcizo.se/update` to roll out the new image. Required secrets: `PACKAGES_TOKEN` (PAT with `write:package`, for registry auth — the auto-injected `GITEA_TOKEN` does not have effective registry access) and `UPDATER_API_KEY` (for the updater endpoint). The action repo `shcizo/package-updater-action` is referenced via full Gitea URL (`https://gitea.shcizo.se/...`) since `uses:` defaults to GitHub. - **Scraping:** Two strategies per entity: direct HTTP (fast, preferred) with Puppeteer fallback (stealth plugin for anti-bot). Rate limiting must be respected. - **Database:** Migrations run automatically on startup in `db.js`. Schema changes go there. - **Templates:** EJS with shared layout in `views/partials/`. Pages use HTMX for dynamic content loading.