Package Exports
- silgi
- silgi/ai
- silgi/analytics
- silgi/astro
- silgi/aws-lambda
- silgi/better-auth
- silgi/broker
- silgi/broker/nats
- silgi/broker/redis
- silgi/cache
- silgi/client
- silgi/client/consume
- silgi/client/fetch
- silgi/client/ofetch
- silgi/client/openapi
- silgi/client/plugins
- silgi/client/server
- silgi/client/ws
- silgi/codegen
- silgi/cookies
- silgi/cors
- silgi/devalue
- silgi/drizzle
- silgi/express
- silgi/hey-api
- silgi/message-port
- silgi/msgpack
- silgi/nestjs
- silgi/nextjs
- silgi/ocache
- silgi/ofetch
- silgi/otel
- silgi/peer
- silgi/pinia-colada
- silgi/pino
- silgi/plugins
- silgi/ratelimit
- silgi/react
- silgi/remix
- silgi/solidstart
- silgi/srvx
- silgi/sveltekit
- silgi/tanstack-query
- silgi/tanstack-query/ssr
- silgi/trpc
- silgi/unstorage
- silgi/ws
- silgi/zod
Readme
Quick Start
npm install silgiimport { silgi } from 'silgi'
import { z } from 'zod'
const s = silgi({ context: (req) => ({ db: getDB() }) })
const appRouter = s.router({
users: {
list: k
.$input(z.object({ limit: z.number().optional() }))
.$resolve(({ input, ctx }) => ctx.db.users.find({ take: input.limit })),
},
})
s.serve(appRouter, { port: 3000, scalar: true })Features
- Single package — server, client, 15 plugins, 14 adapters. One install.
- Compiled pipeline — guards unrolled, handlers pre-linked at startup.
- Guard / Wrap — guards enrich context (flat, sync fast-path). Wraps run before + after (onion).
- Content negotiation — JSON, MessagePack, devalue. Automatic from
Acceptheader. - Contract-first — define API shape, share types, implement separately.
- Standard Schema — Zod, Valibot, ArkType.
Adapters
| Import | |
|---|---|
| Standalone | s.serve() / s.handler() |
| Nitro v3 | serverEntry + s.handler() |
| Express | silgi/express |
| Fastify | silgi/fastify |
| Elysia | silgi/elysia |
| Next.js | silgi/nextjs |
| Nuxt | via Nitro serverEntry |
| SvelteKit | silgi/sveltekit |
| Remix | silgi/remix |
| Astro | silgi/astro |
| SolidStart | silgi/solidstart |
| NestJS | silgi/nestjs |
| AWS Lambda | silgi/aws-lambda |
| MessagePort | silgi/message-port |
Ecosystem
Built-in re-exports — no extra dependencies needed:
| Import | Package | Use case |
|---|---|---|
silgi/unstorage |
unstorage | Key-value storage (Redis, KV, S3) |
silgi/ocache |
ocache | Cached functions with TTL + SWR |
silgi/ofetch |
ofetch | Universal fetch with auto-retry |
silgi/srvx |
srvx | Universal server (Node, Deno, Bun) |
Integrations
- TanStack Query —
queryOptions,mutationOptions,infiniteOptions,skipToken - React Server Actions —
createAction,useServerAction,useOptimisticServerAction - AI SDK —
routerToTools()turns procedures into LLM tools - tRPC Interop —
fromTRPC()for incremental migration
Examples
npx giget@latest gh:productdevbook/silgi/examples/standalone my-app
npx giget@latest gh:productdevbook/silgi/examples/nextjs my-nextjs-app
npx giget@latest gh:productdevbook/silgi/examples/nuxt my-nuxt-app10 examples: standalone, bun, express, elysia, nitro, nitro-h3, nextjs, nuxt, sveltekit, client-react.
Documentation
Credits
- oRPC — Pipeline architecture, client proxy, error handling, contract-first workflow
- tRPC — Router/procedure model, end-to-end type inference
- Elysia — Sucrose-style static handler analysis
License
MIT