Templates Gallery
Each template lives under templates/ in the monorepo and ships with its own README. To run any of them from a clone:
bun installcd templates/<name>bun startWeb & API
Section titled “Web & API”simple-server
Section titled “simple-server”Minimal HTTP server in ~18 lines — the smallest possible Iskra app.
cd templates/simple-server && bun start
starter-app
Section titled “starter-app”Minimal app with a web server and a user CRUD. A good first project.
cd templates/starter-app && bun start
ecommerce-api
Section titled “ecommerce-api”E-commerce backend with a product catalog, order management, DB persistence, and cache. Product writes and orders need per-user API keys (API_KEYS, admin or customer role); the catalog is public.
cd templates/ecommerce-api && bun start
cms-starter
Section titled “cms-starter”CMS with a REST API over SQLite: draft/publish flow, content versioning, slug validation (Zod) via Drizzle ORM. Changes, drafts and history need an editor API key (API_KEYS); the public only reads published content.
cd templates/cms-starter && bun start
db-starter
Section titled “db-starter”User CRUD over SQLite (Drizzle ORM) with optional Oracle Database support. Great for learning DB integration.
cd templates/db-starter && bun start
forms-app
Section titled “forms-app”Forms platform with a microservices architecture: pre-rendered static forms, a lightweight public service (CSRF + reCAPTCHA v3), and Redis-batched inserts to PostgreSQL.
cd templates/forms-app && bun run dev (Docker Compose; it needs a .env with the secrets first, see the template’s README)
Real-time
Section titled “Real-time”chat-app
Section titled “chat-app”Real-time chat over WebSocket with rooms, user presence, paginated history backed by a KV store, and auth at the handshake with server-signed, expiring tokens.
cd templates/chat-app && bun start · client: CHAT_TOKEN=$(bun run --silent token ana) bun run client
realtime-feed
Section titled “realtime-feed”Social feed combining an HTTP API with a real-time WebSocket stream. Posting needs an author API key (API_KEYS) and is rate-limited per author.
cd templates/realtime-feed && bun start
Background work
Section titled “Background work”job-worker
Section titled “job-worker”Background task processor with queues: retry with backoff, a dead-letter queue, and an HTTP health/monitoring endpoint.
cd templates/job-worker && bun start
python-data-processor
Section titled “python-data-processor”Node.js ↔ Python bridge: spawns a Python subprocess via Process Kit and talks to it over JSON-on-stdio, exposing results through an HTTP API.
cd templates/python-data-processor && bun start
Full stack & cross-platform
Section titled “Full stack & cross-platform”full-stack-app
Section titled “full-stack-app”Complete app combining every kit: HTTP with OpenAPI docs, WebSocket, DB (SQLite + optional Oracle), KV store, and external process management.
cd templates/full-stack-app && bun start
desktop-app
Section titled “desktop-app”Desktop app with Tauri: window management, IPC commands wired to @iskra-bun/desktop-kit, a native menu, a file dialog, and a UI.
cd templates/desktop-app && bun run tauri:dev
universal-app
Section titled “universal-app”Cross-platform app targeting desktop and mobile from one codebase.
cd templates/universal-app && bun start
Extending Iskra
Section titled “Extending Iskra”plugin-starter
Section titled “plugin-starter”Scaffolding for building reusable plugins/drivers you can register in any Iskra app.
(cd packages/core && bun run build) && cd templates/plugin-starter && bun run build (the template builds against @iskra-bun/core’s published types, so build core first)