mirror of
https://github.com/warmbly/warmbly.git
synced 2026-10-30 08:15:41 +00:00
Replace the hand-maintained changelog entries with a build-time fetch of the real merged pull requests on warmbly/warmbly. PRs (not commits) are the unit, so each entry is one shippable change rather than one of many commits. src/lib/changelog.ts fetches closed PRs into main from the GitHub REST API, keeps the merged ones, strips conventional-commit prefixes, derives the tag from the type, and pulls the body from the PR's Summary bullets. Marketing-site and pure-infra PRs are filtered by type, title pattern, and a skip-changelog label, all configurable in one place. Results are cached per build and fall back to a curated list if the API is unreachable, so the build never breaks. The changelog page and the homepage ChangelogShowcase both consume this data and link each entry to its pull request. Set GITHUB_TOKEN at build to lift the unauthenticated rate limit; it is optional for the public repo.
site
Warmbly's public marketing site. Astro 5 + Tailwind v4, separate from the
in-product dashboard at web/ and the admin app at admin/.
Run it locally
pnpm install
pnpm dev # boots on http://localhost:4321
pnpm build # static output into ./dist
pnpm preview # serve the production build locally
From the repo root you can also use make site, which is a shortcut for
cd site && pnpm dev. make app does not start this site — it lives
outside the docker compose stack and ships on its own cadence.
Layout
site/
├── astro.config.mjs # sitemap integration + Tailwind v4 Vite plugin
├── public/ # static assets served as-is
├── scripts/ # build-time helpers
└── src/ # pages, layouts, components, content