Hexagonal architecture
Ports and Adapters decouple your business logic from infrastructure. Swap drivers without touching your domain code.
bun add @iskra-bun/core @iskra-bun/web-kitA minimal application:
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+.