Skip to main content

Integrations

Pithos is framework-agnostic. One package, zero adapters, zero plugins. You import what you need, and it works, regardless of your stack.

Because every technology serves a different purpose, we wrote several Pithos integrations with the most common stacks to show how it can fit in without friction. These pages are here to help you understand how to use it in harmony with your favorite tech.

No need to convince you that Pithos is framework-agnostic... these integrations speak for themselves.

Philosophy

Pithos fills the gaps, it does not replace what already exists. When a framework already handles a feature natively, we use it. For example:

  • Angular: we use HttpClient for network calls, then wrap the result in ResultAsync for validation
  • SvelteKit: we use native fail() and error() for error handling, Sphalma is not needed
  • Nuxt: we rely on createError and native server routes

The goal is never to reinvent the wheel, but to integrate in the most natural way possible.


Frontend (SPA)

Client-only applications that communicate with a backend via fetch.

TechPithosNative
ReactValidation, async pipeline, sorting and groupingState management, routing, rendering
AngularAPI response validation, data normalizationHttpClient, Signals, Reactive Forms, DI
PreactSame pipeline as React, minimal bundle (~3 KB)Hooks, rendering

Fullstack (SSR)

Frameworks with server-side rendering. The Kanon schema is shared between client and server, a single source of truth.

TechPithosNative
Next.jsValidation in Server Actions, normalizationApp Router, Server Components, useActionState
NuxtValidation in server routes, sorting composablesAuto-imports, createError, defineEventHandler
SvelteKitValidation in form actions, load functionsfail(), error(), Svelte 5 runes

Backend

Pure API servers. Pithos handles input validation and normalization.

TechPithosNative
ExpressValidation, normalization, structured business errors (CodedError)Routing, middleware, ErrorRequestHandler
HonoSame pipeline as Expressapp.onError, routing
BunSame pipeline, zero frameworkBun.serve(), Web Standards API

The common pattern

Regardless of the framework, the pipeline stays the same:

  1. Validate inputs with Kanon via ensure or ensurePromise
  2. Normalize data with Arkhe (capitalize, titleCase, groupBy, orderBy)
  3. Handle errors with Zygos (Result, ResultAsync) or the framework's native mechanisms
  4. Structure business errors with Sphalma when the framework has no built-in equivalent


Full source code

Each integration is a fully functional app with tests. The frontend and backend demos are interchangeable: you can combine any frontend (React, Angular, Preact) with any backend (Express, Hono, Bun), they share the same API contract. Explore the code in packages/main/integrations/.