An opinionated L3 construct library on top of AWS CDK for building serverless systems faster — secure defaults, less boilerplate.
ZDK is developed by the Zerverless team and is fully open source, MIT/Apache-licensed, and independent of the private Zerverless platform — you can use it with zero relationship to Zerverless the company.
Raw CDK L1/L2 constructs leave every IAM policy, timeout, memory size, and
log retention decision to you. ZDK ships secure, sensible defaults for the
serverless patterns you write over and over, with an overrides escape
hatch when you need to deviate.
npm install @zerverless/zdk aws-cdk-lib constructsimport { ZerverlessApi, ZerverlessFunction, ZerverlessTable } from "@zerverless/zdk";
const table = new ZerverlessTable(this, "Orders", { /* ... */ });
const handler = new ZerverlessFunction(this, "CreateOrder", {
entry: "src/create-order.ts",
table,
});
new ZerverlessApi(this, "Api", {
routes: { "POST /orders": handler },
});See examples/basic-api for a full runnable stack.
| Construct | Purpose |
|---|---|
ZerverlessFunction |
Lambda with secure IAM defaults, tracing, and log retention pre-configured |
ZerverlessTable |
DynamoDB table with sane defaults (PITR, encryption) |
ZerverlessApi |
API Gateway HTTP API wired to ZerverlessFunction routes |
ZerverlessQueueWorker |
SQS + Lambda consumer with DLQ and retry defaults |
ZerverlessEventBus |
EventBridge bus + rule helpers |
Full reference: docs/API.md.
Decisions behind the defaults are recorded as ADRs in
docs/design/ — start with
0001-l3-defaults-philosophy.md.
ZDK is used internally by Xero
(code generation) and Hero
(pattern recommendations), and is fully usable on its own — it has zero
dependency on zerverless-platform or any private Zerverless service, and
never will.
ZDK is written in TypeScript and structured to be jsii-compatible, so
Python/Java/.NET bindings can be published later without a rewrite — this is
why construct props avoid overly TypeScript-specific patterns (see
CONTRIBUTING.md).
See CONTRIBUTING.md. Please read
CODE_OF_CONDUCT.md first.
See SECURITY.md for how to report a vulnerability.
Apache License 2.0 — see LICENSE.