tekir

The full-stack
TypeScript framework
for Bun

One framework for Bun with the pieces already bolted together: auth, ORM, validation, mail, queues, cache, testing. You install it, you start writing your app. No 20-library setup week. Also runs on Node.js.

Bun native46 packages9 categories

Spend less time
wiring things up.

tekir aims to be the framework you can actually ship with on day one. The boring parts (auth, sessions, queues, mail) are already handled so you get to the real work.

Bun Native

Built from the ground up for Bun.serve. Zero adapter overhead, so your handlers run at bare-metal speed.

Within 1% of raw Bun

Routes compile ahead of time and resolve in nanoseconds, so you pay almost nothing for having a framework wrapped around Bun.serve.

Full-Stack ORM

ActiveRecord models with lifecycle hooks, fluent query builder, relationships, migrations, and seeders.

Type Safe

Full TypeScript throughout. No `any` leaks, no escape hatches. Your IDE knows everything at every layer.

46 Packages

Auth, ORM, mail, queues, cron, cache, i18n. Shared DI container, shared config, one release at a time so your lockfile never goes out of sync.

Familiar DX

IoC container, service providers, and conventions inspired by Laravel, Rails, and AdonisJS. If you've used any of them, you'll feel right at home.

Code you'll actually enjoy writing

Two ways to write the same thing. Pick whichever you're comfortable with, both are fully typed and both work the same at runtime.

import type { TekirApp } from '@tekir/core'
import { UserController } from '#controllers/user_controller'
import { PostController } from '#controllers/post_controller'
import { authenticate, guest } from '@tekir/auth'

export default function({ router }: TekirApp) {
  router.register(UserController)
  router.register(PostController)

  router.group(() => {
    router.get('/login', () => ({ page: 'login' }))
    router.post('/login', () => ({ token: '...' }))
  }).middleware([guest()])
}

Define routes with grouped middleware, prefixes, and authentication, all in one file.

Fast because Bun is fast.

tekir runs on top of Bun.serve with ahead-of-time route compilation, so it lands within 1% of raw Bun and keeps pace with Elysia. No fancy claim, just a thin layer on a fast runtime.

autocannon, 100 conn, 10s | Ubuntu 24.04, 1 vCPU, Bun 1.3.12

Raw Bun21,311 req/s
Elysia21,304 req/s
tekir21,025 req/s

Start building with tekir.

Developers are discovering what Laravel, Rails, and AdonisJS fans have known for years: full-stack frameworks just work better. tekir keeps that ergonomics on top of Elysia-grade routing speed.

Deploy your first app
in seconds.

Pick a template and start building. Every template comes with TypeScript, testing, and hot reload pre-configured.

Minimal

Single-file TODO API with SQLite, Swagger, and CORS. Perfect for prototyping.

$bunx create-tekir-app my-app

API

Auth, validation, ORM, mail, and testing already wired. Pick it if you're building a backend service.

$bunx create-tekir-app --template api

Full-Stack

API + React frontend with views, auth, and database.

$bunx create-tekir-app --template full

Stay in the loop

Get notified about new releases. No spam.