Brick catalogue
Add a brick, get a feature. Each one contributes a capability to the request context, fully typed — and leaving it out makes using it a compile error rather than a crash at 3am.
Every page below answers the same questions in the same order: what it installs, what files and tables it creates, what endpoints it adds, and what it cannot do. If a brick has no endpoints, its page says so rather than omitting the section.
Shipped
Section titled “Shipped”| Brick | Adds | Endpoints |
|---|---|---|
openapi |
ctx.openapi |
/openapi.json, /docs |
db |
ctx.db — the native client |
optional health path |
db-drizzle |
ctx.db — Drizzle, typed from your schema |
none |
db-mongoose |
ctx.db — a Mongoose Connection |
none |
auth |
ctx.user, ctx.auth |
none itself |
auth-basic |
email and password auth, on Drizzle | eight, at /auth/* |
auth-mongo |
the same flows, on Mongoose | eight, at /auth/* |
auth-clerk |
ctx.user from Clerk, hosted sign-in |
none |
auth-better |
ctx.user from better-auth |
all of its own |
storage |
ctx.storage — S3, R2, MinIO, or a local directory |
none |
mail |
ctx.mail |
/_oven/mail in development |
queue |
ctx.queue — jobs, retries, cron |
/_oven/queue in development |
cache |
ctx.cache — tags, stampede protection |
none |
telemetry |
OpenTelemetry tracing (middleware) | none |
webhooks |
ctx.webhook — verified inbound deliveries |
none |
ratelimit |
shared rate limiting (middleware) | none |
vector |
ctx.vector — embeddings, search, namespaces |
none |
ai |
ctx.ai — SSE streaming, caching, token accounting |
none |
image |
ctx.image — resize, convert, guard uploads |
none |
storage-bunny |
Bunny.net as a storage driver | none |
storage-imagekit |
ImageKit as a storage driver | none |
Planned
Section titled “Planned”| Brick | Adds |
|---|---|
@theoven/db-prisma |
ctx.db — a PrismaClient |
Writing your own
Section titled “Writing your own”The brick contract is small and public — see Writing a brick for the interface and how types flow. A third-party brick is a normal npm package that exports a factory function; nothing about the first-party ones is privileged.