Elysia Boilerplate: 21 Starters by What You're Building
21 Elysia boilerplates and starters grouped by what you're building, with licence file, Elysia range and last commit checked on 7 November 2026.
Search GitHub for "elysia boilerplate", sort by stars, and the first result is archived. syhner/elysia-kickstart has 139 stars and a last commit on main from 3 October 2023. It asks for elysia ^0.6.23. The latest tag on npm points to 1.4.31.
Elysia's quick-start page has another answer: "We recommend starting a new Elysia server using bun create elysia, which sets up everything automatically." What it sets up is a server that greets you with "Hello Elysia" on localhost:3000. The page lists no auth, database or frontend for it. So we sorted 21 starters by what you're building.
Our team builds two of the 21: ShipKit, a paid kit ($149, one-time), and Dave93/bun-elysia-nextjs-starter, a free MIT starter we created on 16 October 2026. Both get the same checks as the other 19 where a check applies, and we say so when another repo fits better. ShipKit's repo is private, so nobody outside can check its stars or commit dates. What we report about its code comes from our own copy.
How we checked: on 7 November 2026 we read stars and licence from the GitHub API, the newest commit on each default branch, and the elysia range from package.json at HEAD. The list starts from the 15 Boilerplates entries on awesome-elysia, minus three narrow examples (a routing-controllers pattern, a WebSocket event server, and a Caddy setup around a hello-world server). We added every repo with 50 or more stars in the top 12 of GitHub's star-sorted search for "elysia boilerplate", "elysia template" or "elysia starter", two smaller search results (an API template with Better Auth on Drizzle, and a free starter with billing) and our own free starter. It isn't every Elysia repo, and stars and dates will have moved since.
Short version: start an API from truehazker/elysia-boilerplate for Drizzle and OpenAPI, or from techfusionid/elysia-production-template for Better Auth. For billing on Stripe, take BunShip's free edition. For Next.js with sign-in already wired, our free starter is one option, and kozeki-template (no licence file) suits you if you'd rather add auth yourself. ShipKit, ours and paid, is for Polar billing with an admin app.
Building an API with no frontend
Nine entries are API starters, counting the create-ely CLI. BunShip, API-only but with billing, sits under SaaS. For the nine we looked for an MIT licence file, an elysia range of at least 1.4 and a commit in 2026.
If a database and API docs are all you need, start with truehazker/elysia-boilerplate: Drizzle on PostgreSQL, OpenAPI and Docker (MIT, ^1.4.28, 17 stars). It passes everything we looked for. The same owner's create-ely scaffolds Backend Only, a React monorepo (TanStack Router and Vite) or a SvelteKit monorepo, with Eden Treaty in the monorepos:
bun create ely
- Queues and Redis: aolus-software/clean-elysia adds ioredis and BullMQ to Drizzle, OpenAPI and
@elysiajs/jwt. Its last commit, on 1 November 2026, is the newest among the API repos. - Auth inside the API: techfusionid/elysia-production-template wires Better Auth to Drizzle, and its README shows OpenAPI, Docker and a CI badge. At 33 stars it leads the MIT-licensed API repos.
- Prisma or Supabase: boomNDS has a Better Auth template on Prisma 7.2.0 and a Supabase one.
Sort the API starters by stars and two clean-architecture examples come out on top, lukas-andre's and aymaneallaoui's. Neither has a licence file (lukas-andre's README says MIT), and neither has a commit on its default branch in 2026. For dependency injection in a layered Elysia app, see what we measured on 1.4.16.
Which starter fits when the frontend lives in the same repo?
Pick the frontend first. Four full-stack repos use Next.js, ours among them, and the other frontends below have one or two each. (ShipKit, in the SaaS group, runs Next.js 16 too.)
For Next.js with sign-in and a database already connected, our MIT starter is one option. It pins Elysia at 1.4.16 and pairs Next.js 16 with Better Auth, Drizzle on PostgreSQL, Eden, Tailwind 4 and OpenAPI. Its one example resource, notes, is scoped per user with tests that hit the database, and Next.js rewrites /api/* to the API so the browser talks to one origin. Against it: 0 stars, created on 16 October 2026, and no sign-in beyond email and password.
Closest to the source is SaltyAom/kozeki-template, from the author listed on the elysia npm package. Its README names Tailwind 4, Eden Treaty, OpenAPI, OpenTelemetry, Storybook, Vitest, Playwright, Docker and GitHub Actions CI; its web app pins Next.js 16.0.1, and the workspace pins Elysia at 1.4.15. No package.json in the repo lists an auth library or database driver, so if you'd rather add both yourself on SaltyAom's layout, kozeki is the one to look at. It has no licence file, though, and forking it doesn't add one.
Two older Next.js options date from 2024. altinthaqi/next-elysia-template runs Next.js 14.1.4 with Lucia, now deprecated on npm, so expect to replace its auth. Its last commit on main is from 1 May 2024. mugencraft/turbobun (MIT, 59 stars) is a Turborepo with basic Elysia and Next.js 14.2.13 apps and no auth or database package; it pins Elysia at 1.1.17, and its last commit on main is from 1 October 2024.
- React and Vite: laoer536/bun-api has React 19.2, Vite 7, Better Auth, Prisma and Eden, or use create-ely's React monorepo.
- TanStack Start: masrurimz/tanstack-start-elysia-better-auth-bun brings Better Auth, with no licence file and
elysiaset to "latest" (its lockfile holds 1.2.25). - SvelteKit: create-ely.
- Vue or Nuxt: HkTeamX/vue-elysia, no licence file.
- SolidStart: itsyoboieltr/dbest-stack (MIT, 98 stars) pins Elysia to exactly 1.1.7, and its last commit is from 25 August 2024.
Billing narrows a SaaS kit to two
Two entries ship billing code. BunShip's free edition has stripe in its API's package.json; ShipKit, ours, calls Polar's API from its own checkout service and verifies webhook signatures without an SDK. Moving ShipKit to Stripe would mean rewriting both. No other repo in our set has stripe or @polar-sh in the package.json files we read.
If you already bill through Stripe, mayhemds/bunship has that code written. Beyond Stripe subscriptions it brings teams with four roles, webhooks, BullMQ on Redis, S3-compatible uploads and React Email with Resend, on Turso/SQLite through Drizzle. Auth is JWT via jose, with 2FA, magic links and Google and GitHub OAuth, and its pricing page counts 202 tests. It's MIT, and it's API-only. BunShip Pro, at $199 one-time, would add a TanStack Start and React frontend, but the page says "Pro isn't ready yet".
For a landing page, a dashboard and OAuth at no cost, look at JuanPabloGilA/your-saas-starterkit. It's one MIT Turborepo with an Astro marketing site, a React 19 dashboard and the Elysia API, plus Better Auth "with email/password and OAuth providers" and Drizzle on PostgreSQL. At 88 stars it is the most-starred repo here with a commit in 2026. Billing is left to you; its README doesn't mention payments.
ShipKit, ours, costs $149 and comes with Polar billing, an admin app and passkeys already wired. It isn't open source, and it supports Polar but not Stripe. Its seven apps (admin, api, docs, e2e, mcp, web, worker) and 18 packages are more to read than a one-app starter. Refunds stop at the repo: the landing says you get a full refund "any time before repo access is granted." We compared ShipKit with ShipFast separately.
What to check before you clone any of them
Four things in a repo say more than its star count. In our set, five of the nine repos with 50 or more stars have no licence file, and two of the three most-starred can't install Elysia 1.4: kickstart's ^0.6.23 stops below 0.7.0, and dbest-stack pins exactly 1.1.7.
-
Licence file. Seven of the 20 public repos have none: the GitHub API reports no licence and the root has no LICENSE, LICENCE or COPYING file. Five of them say nothing about a licence in their README or package.json: kickstart, kozeki-template, vue-elysia and the masrurimz and aymaneallaoui repos. For that case, GitHub's licensing docs say "without a license, the default copyright laws apply, meaning that you retain all rights to your source code and no one may reproduce, distribute, or create derivative works from your work."
The other two state MIT without the file. lukas-andre's README says the project is "licensed under the MIT License - see the LICENSE file", but the file isn't there, and Fadhila36's README and package.json say "MIT". The same GitHub page notes that "Some projects include information about their license in their README" and, "As a best practice," encourages including the licence file. We're not lawyers and read nothing more into either case. The other 13 public repos report MIT.
-
elysiarange. dbest-stack's1.1.7and turbobun's1.1.17are exact pins. A caret on 0.x stays inside its minor version, so kickstart's^0.6.23never reaches 0.7.0. A caret on 1.x is looser, and a low minimum doesn't mean an old Elysia:^1.0.7(altinthaqi),^1.0.0(BunShip) and^1.2.25(aymaneallaoui) allow 1.4.x on a fresh install, though a committed lockfile decides. Two repos ask for "latest", which meant 1.4.31 when we checked, but their committed lockfiles hold 1.1.12 (lukas-andre) and 1.2.25 (masrurimz). Eleven of the 20 public repos require at least 1.4, through a^1.4.xrange or an exact 1.4 pin. -
Auth library. Better Auth, the most common auth library in this set, appears in seven entries. Skip Lucia. altinthaqi's template asks for
^3.1.1, and on npmlucia3.2.2 is marked deprecated: "This package has been deprecated. Please see https://lucia-auth.com/lucia-v3/migrate." -
Last commit. Go by the newest commit on the default branch, the one GitHub shows on the repo's front page. Of the 20 public repos, one last changed in 2023, four in 2024, three in 2025 and twelve in 2026.
We got this wrong. Our first draft used the API's
pushed_atdate, which can be newer than anything on the branch you clone: it put aymaneallaoui/clean-architecture-elysia at 22 August 2026, while its master branch hadn't changed since 16 March 2025.
All 21 starters in one table
"No file" follows the licence method above. "Last commit" is the newest commit on the default branch.
| Starter | What's in it | Licence | elysia |
Last commit | Stars |
|---|---|---|---|---|---|
| truehazker/elysia-boilerplate | API: Drizzle, PostgreSQL, OpenAPI, Docker | MIT | ^1.4.28 | 2026-07-20 | 17 |
| truehazker/create-ely | CLI: API, React or Svelte monorepo | MIT | n/a | 2026-08-02 | 5 |
| aolus-software/clean-elysia | API: Drizzle, ioredis, BullMQ, JWT | MIT | ^1.4.30 | 2026-11-01 | 23 |
| techfusionid/elysia-production-template | API: Better Auth, Drizzle, Swagger | MIT | ^1.4.0 | 2026-01-30 | 33 |
| Fadhila36/starter-elysia | API: Drizzle, ioredis, BullMQ | No file (README, package.json: MIT) | ^1.4.29 | 2026-08-15 | 0 |
| boomNDS/elysia-better-auth-tempate | API: Better Auth, Prisma 7.2.0 | MIT | ^1.4.22 | 2026-01-17 | 3 |
| boomNDS/elysia-supabase-tempate | API: supabase-js, Prisma 7.2.0 | MIT | ^1.4.22 | 2026-01-17 | 0 |
| lukas-andre/bun-elysia-clean-architecture-example | API: notes example, PostgresJS | No file (README: MIT) | latest (lockfile 1.1.12) | 2024-09-09 | 85 |
| aymaneallaoui/clean-architecture-elysia | API: Drizzle, JWT, Swagger | No file | ^1.2.25 | 2025-03-16 | 50 |
| SaltyAom/kozeki-template | Next.js 16.0.1, Eden, Storybook, Playwright; no auth or DB package | No file | 1.4.15 | 2025-11-10 | 68 |
| itsyoboieltr/dbest-stack | SolidStart, Drizzle, Eden | MIT | 1.1.7 | 2024-08-25 | 98 |
| altinthaqi/next-elysia-template | Next.js 14.1.4, Lucia (deprecated) | MIT | ^1.0.7 | 2024-05-01 | 54 |
| mugencraft/turbobun | Next.js 14.2.13, Eden, Turborepo; no auth or DB package | MIT | 1.1.17 | 2024-10-01 | 59 |
| masrurimz/tanstack-start-elysia-better-auth-bun | TanStack Start, Better Auth | No file | latest (lockfile 1.2.25) | 2025-07-11 | 67 |
| laoer536/bun-api | React 19.2 + Vite 7, Better Auth, Prisma | MIT | ^1.4.15 | 2026-06-02 | 24 |
| HkTeamX/vue-elysia | Vue 3.5 or Nuxt 4.2, Drizzle, BullMQ | No file | ^1.4.22 | 2026-01-23 | 2 |
| Dave93/bun-elysia-nextjs-starter (ours) | Next.js 16, Better Auth (email + password), Drizzle | MIT | 1.4.16 | 2026-11-02 | 0 |
| JuanPabloGilA/your-saas-starterkit | Astro, React 19, Better Auth + OAuth, Drizzle; no billing | MIT | ^1.4.29 | 2026-08-23 | 88 |
| mayhemds/bunship (free edition) | API: Stripe, teams, 2FA, OAuth, SQLite | MIT | ^1.0.0 | 2026-04-20 | 9 |
| ShipKit (ours) | 7 apps incl. web, admin, worker; Polar; Better Auth | Paid, $149 one-time | 1.4.16 | private | private |
| syhner/elysia-kickstart | Archived: HTMX, Tailwind, Auth.js, Drizzle | No file | ^0.6.23 | 2023-10-03 | 139 |
FAQ
Is there an official Elysia boilerplate?
Elysia's quick-start recommends its own template: run bun create elysia app, then cd app and bun dev, and open localhost:3000, where the server greets you with "Hello Elysia". The page lists no auth, database or frontend for it. SaltyAom, the author listed on the elysia npm package, also publishes kozeki-template, with Next.js 16.0.1; no package.json in it lists an auth library or database driver, and it has no licence file.
Which Elysia starters include authentication?
Better Auth is in seven entries: techfusionid, boomNDS's Better Auth template, laoer536, masrurimz, your-saas-starterkit, our MIT starter (email and password only) and ShipKit (with two-factor, passkeys and optional Google and GitHub sign-in). BunShip's free edition uses JWT via jose with 2FA, magic links and OAuth. clean-elysia and aymaneallaoui's example use @elysiajs/jwt, the archived kickstart uses Auth.js, and altinthaqi's template uses the deprecated Lucia.
Can I use a GitHub repo that has no licence file?
GitHub's licensing docs say that without a license "the default copyright laws apply", and that under GitHub's Terms of Service "other users of GitHub.com have the right to view and fork your repository." We're not lawyers and stop there; you can ask the author to add a licence.
Does any Elysia starter include payments?
Two in our set: BunShip's free edition (MIT, API only) on Stripe, and ShipKit, our paid kit, on Polar. No other repo here has stripe or @polar-sh in the package.json files we read; BunShip Pro ($199) is listed as coming soon.
Do these starters support Elysia 2?
No package.json we read asks for it. Elysia 2.0.0-rc.3 reached npm on 5 November 2026, while 1.4.31 held the latest tag. Caret ranges on 1.x stop below 2.0.0 and exact pins stay put, so moving those starters to Elysia 2 means editing the range. The two on "latest" resolve to whatever that tag points to when their lockfiles, now at 1.1.12 and 1.2.25, are regenerated.