Skip to content

Iskra

Every large system starts small. Iskra is that initial spark — focused on keeping your code tidy while everything else evolves.
bun add @iskra-bun/core @iskra-bun/web-kit

A minimal application:

index.ts
import { App } from '@iskra-bun/core';
import { WebDriver } from '@iskra-bun/web-kit';
const app = new App({ name: 'MyApp' });
app.register(new WebDriver({
port: 3000,
routes: [
{
method: 'GET',
path: '/',
handler: () => ({ message: 'Hello from Iskra!' }),
},
],
}));
await app.start();

Hexagonal architecture

Ports and Adapters decouple your business logic from infrastructure. Swap drivers without touching your domain code.

Built for Bun

Native Bun APIs (bun:sqlite, WebSocket) for top performance, with a Node-compatible fallback where needed.

Modular kits

Web, DB, Sockets, KV, Workers, Processes, Desktop and Mobile — add only what you need, each as a Driver or Plugin.

15+ web features

Auth, CORS, CSRF, rate limiting, API keys, validation, sessions, RBAC, OpenAPI and more, resolved through a micro-kernel.

Typed, end to end

TypeScript throughout, with Zod validation at system boundaries and a consistent error hierarchy.

Templates & SDKs

Ready-to-run templates and client SDKs for Java and Python to consume your Iskra services from other languages.

Package Description
@iskra-bun/core Framework core: App, DI, events, logger, errors
@iskra-bun/config-kit Typed, Zod-validated environment/config loading
@iskra-bun/web-kit HTTP server with Hono, Kernel, and 15+ built-in features
@iskra-bun/auth-kit Transport-agnostic better-auth (config + Drizzle schema)
@iskra-bun/db-kit SQL database with Drizzle ORM (PostgreSQL, MySQL, SQLite)
@iskra-bun/socket-kit Native Bun WebSocket with router and broadcast
@iskra-bun/kv-kit Key-Value store with Redis and in-memory adapters
@iskra-bun/cache-kit Higher-level cache (cache-aside, TTL, namespaces, tags) on top of kv-kit
@iskra-bun/worker-kit Background job queue with BullMQ
@iskra-bun/mailer-kit Transport-agnostic email (SMTP/SendGrid/Mailgun/SES)
@iskra-bun/storage-kit File storage (local, S3/MinIO) with streaming
@iskra-bun/process-kit External process management (Python, binaries)
@iskra-bun/testing-kit Test utilities (createTestApp, mock logger/driver, withTempDir)
@iskra-bun/desktop-kit Desktop app support with Tauri (experimental)
@iskra-bun/mobile-kit Mobile platform support (experimental)
@iskra-bun/db-oracle Oracle Database: in-process pool, Kysely, pagination (experimental)
create-iskra Project scaffolding CLI (bun create iskra)

Requires Bun v1.3+. Some native dependencies also expect Node.js v18+.