BootstrapLaboratory / Labkit
Labkit runtime packages for serious GraphQL apps
Reusable TypeScript packages for NestJS servers and React/Vite/Relay webapps: GraphQL runtime composition, auth sessions, realtime connections, database manifests, config parsing, and browser-side application adapters.
Production-grade reference
See Labkit inside a full application
The reference app shows the stack assembled with NestJS, GraphQL, Relay, auth sessions, realtime subscriptions, TypeORM, and production monorepo conventions. It is the complete example, not a toy demo.
Runtime pillars
Reuse the boring hard parts
Labkit keeps repeated runtime concerns portable while the application keeps ownership of product schema, resolvers, routes, UI, persistence decisions, and deployment.
Server GraphQL
Compose Nest/Apollo HTTP and websocket GraphQL setup, context factories, subscription logging, and scalar/directive/plugin helpers.
Read moreAuth And Sessions
Keep principals, access tokens, refresh cookies, provider registries, guards, roles, and lifecycle events consistent across apps.
Read moreBrowser Runtime
Wire Relay, memory auth state, refresh retries, realtime reconnects, route preloading, and theme boundaries in app-owned adapters.
Read moreDatabase Manifests
Compose TypeORM entities and migrations from feature manifests while keeping auth persistence and product data ownership explicit.
Read moreReusable wiring
Architecture snippets that stay small
The homepage snippets show the shape. Quick Start keeps the larger copy-paste setup where it belongs.
import { createServerAuthAccessTokenGraphqlModule } from "@omgjs/labkit-server-auth";
@Module({ imports: [ IdentityModule, FeatureModule, createServerAuthAccessTokenGraphqlModule({ imports: [IdentityModule], accessTokenServiceToken: AccessTokenService, configReaderToken: ConfigService, }), ],})export class AppModule {}Package map
Pick the runtime concern you need
Packages are intentionally small. Install the groups your app uses and keep framework packages as application dependencies.
Shared Contracts
Runtime config parsing and auth shapes shared by server and browser packages.
Server Runtime
Nest config, GraphQL composition, TypeORM manifest composition, and observability helpers.
Server Auth
Provider registries, refresh sessions, guards, access-token helpers, and TypeORM persistence adapters.
Browser Runtime
Memory auth session, realtime connection lifecycle, Relay environment, UI helpers, and Vite build config.
Tooling
Vite production env validation, package chunk groups, and tiny browser store primitives for adapter code.
Choose your path
Go straight to the shape you need
Start From Scratch
Install the packages into a small Nest/Vite shape and get the first GraphQL path running.
Open Quick StartUnderstand The Architecture
Walk through the server, browser, auth, realtime, and database ownership model chapter by chapter.
Read TutorialUse A Package
Find the package group that owns the runtime concern you want to reuse.
Browse Packages