Next.js Web3 starter with passkey auth and WCAG 2.1 AA compliant accessibility.
Includes:
Note:
typescriptandeslintare pinned to6.0.3and9.39.5.typescript-eslintdoesn't yet support TypeScript 7 or ESLint 10 in a stable release (tracking issue) — revisit once TS 7.1 ships (stable expected November 2026) andtypescript-eslintcatches up.
You can use this template directly, or bootstrap it with create-next-app:
npx create-next-app --example https://github.com/w3hc/genji my-appThen run the customization script so you start with a fresh app:
pnpm customizeProjects made from this template keep getting template updates — security headers, dependency bumps, chassis fixes — without a fork or a merge.
Each project's own CI checks its templateVersion (in its package.json) against the newest tag here and prints a warning on the pull request when it has fallen behind — no tokens, no repository list, nothing to keep in sync. To apply the update, run the genji-sync Claude Code skill in your project:
/genji-sync
It diffs this template against itself between your templateVersion and the new release, then applies that patch to your project: chassis files are taken as-is, files needing judgment are merged (your own CSP origins in next.config.ts are preserved, your package.json name and scripts survive a dependency bump), and anything your project owns is left alone. .genji-sync.json declares which paths fall into which category. Nothing is committed or pushed for you — you review the diff and commit it yourself.
pnpm ipnpm devpnpm buildSee the /docs to learn more about the context (for assistants), design guidelines, and w3pk build verification.
GPL-3.0
Julien Béranger (GitHub)
- Element: @julienbrg:matrix.org
- Farcaster: julien-
- Telegram: @julienbrg