Skip to content

Add README banners for every sample, a skill to render them, and switch the samples to npm - #12

Merged
brionmario merged 2 commits into
thunder-id:mainfrom
brionmario:sample-banners
Oct 22, 2026
Merged

brionmario merged 2 commits into
thunder-id:mainfrom
brionmario:sample-banners

Conversation

@brionmario

@brionmario brionmario commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Purpose

Gives every sample README a banner in the ThunderID repo banner style, hosts the banners in this repository, and adds an agent skill so new samples get one the same way.

Repository React quickstart
samples react
iOS quickstart Better Auth integration
ios better-auth

Approach

  • .agent/skills/sample-banner/ holds the banner design (template/banner.css), the ThunderID mark and other shared SVGs, the technology logos with their sources (assets/logos/logos.json), and one entry per banner in banners.json.
  • scripts/render.cjs builds each banner and screenshots it with Playwright at 2x with a transparent background, giving 2000 by 840 PNGs in .github/assets/banners/. It has no dependencies in the repo; the skill gives the npx command.
  • Each sample README now opens with its banner, referenced by an absolute raw.githubusercontent.com URL so it also renders inside the release zips. The root README banner moves from the thunderid repo to .github/assets/banners/samples.png.
  • Removes the Open in StackBlitz buttons from the quickstart READMEs, since they don't work.
  • New AGENTS.md describes the repo layout and routes any new sample or banner change to the skill. CLAUDE.md loads AGENTS.md, and .claude/skills links to .agent/skills.

npm instead of pnpm (second commit)

  • Every JavaScript sample now ships a package-lock.json. The pnpm lockfiles and pnpm-workspace.yaml files are gone; their settings move to overrides (the postcss pin in nextjs and better-auth-nextjs) and allowScripts in package.json.
  • The PR builder installs with npm ci and caches through setup-node. npm audit has no ignore list, so the audit step checks high and critical advisories against AUDIT_ALLOWED_GHSAS, the same two nuxt advisories that pnpm ignored and that Dependency Review already allows.
  • The release workflow also commits package-lock.json, since npm version bumps it.
  • READMEs and the in-app config hints use npm install and npm run dev. The nextjs and nuxt READMEs gain the install step they were missing.
  • React goes to 19.2.9 in b2b/manage and self-care/account. react-router@8.3.0 needs >=19.2.7, which pnpm only warned about and npm refuses.
  • AGENTS.md tells agents to use npm for samples, and to go along with pnpm or yarn only when the developer insists, flagging the CI change that needs.

Every sample was installed with npm ci, audited, format-checked, linted and built locally.

The banner URLs point at main, so they render once this merges. The previews above use the branch.

Related Issues

Related PRs

  • N/A

Checklist

  • Followed the contribution guidelines.
  • Manual test round performed and verified.
  • Documentation provided. (Add links if there are any)
  • Tests provided. (Add links if there are any)
    • Unit Tests
    • Integration Tests
  • Breaking changes. (Fill if applicable)
    • Breaking changes section filled.
    • breaking change label added.

Security checks

  • Followed secure coding standards.
  • Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets.

@brionmario
brionmario force-pushed the sample-banners branch 3 times, most recently from aaa4fb1 to f6710b8 Compare October 21, 2026 11:56
Also drops the Open in StackBlitz buttons from the quickstart READMEs, since they don't work, and bumps vite in the B2B sample to 8.3.4.

Signed-off-by: Brion <info@brionmario.com>
Replaces each sample's pnpm lockfile and workspace settings with package-lock.json, overrides and allowScripts, switches the PR builder to npm ci with an allow-list for accepted advisories, commits package-lock.json on release, and points the READMEs at npm. Also bumps React to 19.2.9 in the B2B and account samples to meet react-router's peer range, which npm enforces.

Signed-off-by: Brion <info@brionmario.com>
@brionmario brionmario changed the title Add README banners for every sample and a skill to render them Add README banners for every sample, a skill to render them, and switch the samples to npm Oct 21, 2026
@brionmario
brionmario merged commit d20e3fd into thunder-id:main Oct 22, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants