Introduction
Orveth is a modular TypeScript backend application platform by VLODIA. The framework center is @orveth/server (Orveth app, pattern routing, middleware); surrounding packages stay optional and composable. Phase 1 ships the HTTP foundation—routing, context, errors, and small official middleware—not a hosted runtime or full auth stack.
What Orveth provides
Start with @orveth/server or the orveth umbrella package. The runtime offers method + path routing with named parameters (/users/:id) and a trailing wildcard (/docs/*, stored as ctx.params["*"]),next()-style middleware (app-level then route-level), JSON/text helpers, and bounded readJson(). Optional modules add errors, strict config coercions, logging, validation types,Zod body validation, CORS, security headers, TLS, JWT, and Prisma operational helpers—each installable on its own.
What Orveth does not provide
- SSR, templating, or a front-end bundler (not Next.js, not a full-stack UI framework).
- An ORM or migrations—use Prisma or another client;
@orveth/prismaonly adds health and shutdown helpers. - Built-in OAuth, sessions, RBAC, queues, or a hosted runtime.
Early stage
Orveth is pre-1.0: APIs are published and tested, but semver-breaking changes may still occur. Pin versions in production and read changelogs when upgrading.
Package map
| Package | Focus |
|---|---|
@orveth/core | Disposable resources, initialization hooks, package metadata helpers. |
@orveth/server | Node HTTP runtime: routing, middleware, JSON/text responses, body limits. |
@orveth/http | HTTP status constants, response preparation, header utilities. |
@orveth/errors | Typed errors with stable codes and JSON-safe normalization. |
@orveth/config | Configuration parsing from arbitrary sources (typically environment variables). |
@orveth/logger | Logger interface plus a JSON-lines console sink. |
@orveth/validation | Discriminated validation results and a library-agnostic validator contract. |
@orveth/validation-zod | Official Zod adapter for JSON body validation (populates ctx.valid.body). |
@orveth/cors | CORS and OPTIONS preflight middleware. |
@orveth/security | Request correlation IDs and minimal security-oriented HTTP headers. |
@orveth/https | PEM loading and HTTPS listeners (transport only). |
@orveth/jwt | HS256 sign/verify and bearer header parsing. |
@orveth/prisma | Database health probes and graceful Prisma Client shutdown. |
orveth | Optional meta-package re-exporting every module above. |
Why modular packages
Scoped installs keep dependency graphs explicit. Importing @orveth/server does not pull JWT, Prisma, or TLS helpers unless you add those packages yourself. That boundary makes upgrades and security review easier as services grow.
Continue with Getting started or browse the package index.