Semola

Introduction

Zero-dependency TypeScript utilities for backends

Semola is a toolkit of small, type-safe packages for building backends. Install once, then import only the pieces you need:

import { Api } from "semola/api";
import { mightThrow } from "semola/errors";
import { Queue } from "semola/queue";

No runtime dependencies. Validation works with any Standard Schema library (Zod, Valibot, ArkType, and others).

What you can build with

You need…Start here
HTTP APIs with OpenAPIAPI
Background jobsQueue
Durable multi-step workWorkflow
SQL / SQLite data accessORM
Authorization rulesPolicy
Errors without try/catchErrors

Also available: PubSub, Cron, Cache, i18n, Logging, CLI, Prompts, and Extra helpers.

Next step

Getting Started walks through install and a small working API.

On this page