Enterprise architecture without the weight. Runtime freedom without the chaos.

Setu-TS combines Hono's performance, runtime independence, and a plugin-first architecture with the enterprise patterns large organizations need — CQRS, multi-tenancy, audit trails, and more.

Deno
deno add jsr:@setu-ts/kernel jsr:@setu-ts/runtime
Node
npx jsr add @setu-ts/kernel @setu-ts/runtime

Why Setu-TS exists

Hono is fast and portable but intentionally minimal. NestJS is feature-rich but Node-only and decorator-mandatory. Fastify is quick but lacks enterprise abstractions. Setu-TS resolves the compromise: plugin-first capabilities on a small kernel, running on all four runtimes.

Core principles

Capabilities

48 published packages — the core, 37 plugins, three starters, the SDK, the test utilities, and the setu CLI. Add only what you use; heavy dependencies are injected or lazily loaded, never installed by default.

Quick example

The smallest possible application — just the kernel and a runtime:

TS app.ts
TypeScript
1import { createApplication } from '@setu-ts/kernel';
2import { RuntimePlugin } from '@setu-ts/runtime';
3import { LoggerPlugin } from '@setu-ts/logger-plugin';
4
5const app = createApplication({
6  plugins: [RuntimePlugin(), LoggerPlugin({ level: 'info' })],
7});
8
9app.router.get('/', (ctx) => {
10  return ctx.response.json({ message: 'Hello, World!' });
11});
12
13await app.start({ port: 3000 });

No decorators. No DI. No modules. Add capabilities as you need them — see Getting started and the plugin catalog.