VLODIA

Orveth

A modular TypeScript backend framework ecosystem for Node.js. The Orveth runtime ships in @orveth/server; optional packages add TLS, JWT, Prisma helpers, and more. Early-stage, pre-1.0.

Explore

Documentation

Guides describe the public entrypoints exported from each package. When a page and the implementation disagree, trust the source and published types.

Design

What you get

  • TypeScript-first

    Strict public types on every export. Published sources avoid escape hatches such as `any`.

  • Modular installs

    Add `@orveth/server` alone, or pull optional helpers for TLS, JWT, and Prisma operations.

  • Explicit HTTP core

    Exact routes, ordered middleware, predictable JSON helpers—no hidden routers or globals.

  • Stable error codes

    Machine-readable `code` strings and JSON normalization shared across services.

  • Honest scope

    No ORM, no OAuth product, no SSR—integrations stay thin and optional.

  • Tested contracts

    Behavior covered by unit tests in the monorepo; docs track what ships today.

Packages

Published modules

Prefer scoped installs in production. The unscoped orveth meta-package re-exports every module for quick prototypes.

  • orveth
  • @orveth/server
  • @orveth/http
  • @orveth/https
  • @orveth/errors
  • @orveth/config
  • @orveth/logger
  • @orveth/validation
  • @orveth/jwt
  • @orveth/prisma
  • @orveth/core

Example

Hello, HTTP

Handlers can return response helpers synchronously. Top-level await on app.listen requires an ES module or async wrapper in your entry file.

src/main.ts
import { Orveth } from "orveth";

const app = new Orveth();

app.get("/", (ctx) => ctx.ok({ ok: true }));

await app.listen(3000);