Skip to content

Packages

The fastest way to get a feel for the framework is to scaffold a project with create-starter, point an AI assistant at it, and ask it to build something small — a CRUD endpoint, a WebSocket handler, whatever sounds fun. You will quickly see how schemas drive everything, how the testkit lets you spin up real integration tests in seconds, and how little boilerplate there is. Once that clicks, browse the packages below to go deeper.

Some packages have sub-packages (e.g. schema-file extends schema). These are listed indented under their parent — install them only when you need the extra functionality they provide.


Starter

PackageDescription
@grest-ts/create-starterScaffold a new grest-ts project

Tooling

PackageDescription
@grest-ts/cliCLI for managing grest-ts in a project (atomic version updates, etc.)

Framework

PackageDescription
@grest-ts/schemaType-safe schema validation, serialization, and contract definitions for TypeScript
  ↳ @grest-ts/schema-fileFile abstraction for Grest framework
@grest-ts/httpHTTP server and client library for Node.js and browser
  ↳ @grest-ts/http-fileHTTP file download codec for Grest framework
@grest-ts/websocketWebSocket server and client library for Node.js and browser
@grest-ts/runtimeService bootstrap and lifecycle management utilities
@grest-ts/testkitComponent testing library for @grest-ts
  ↳ @grest-ts/testkit-runtimeComponent testing library runtime code.
  ↳ @grest-ts/testkit-vitestComponent testing library integration for vitest

Platform

PackageDescription
@grest-ts/configConfiguration management for Grest Framework - resources, secrets, and settings
  ↳ @grest-ts/config-awsAWS Secrets Manager adapter for @grest-ts/config
@grest-ts/discoveryService discovery implementations for Grest Framework
  ↳ @grest-ts/discovery-localLocal service discovery implementation for Grest Framework
  ↳ @grest-ts/discovery-staticStatic service discovery implementation for Grest Framework
@grest-ts/loggerBasic logging library to standardize logging over GG projects
  ↳ @grest-ts/logger-consoleConsole logger implementation for @grest-ts/logger
@grest-ts/contextHierarchical async context
@grest-ts/locatorHierarchical async context with tree-based inheritance
@grest-ts/metricsMetrics library for Grest Framework
@grest-ts/traceTracing support for GGContext
  ↳ @grest-ts/trace-httpTracing support for GGContext

Libraries

PackageDescription
@grest-ts/db-mysqlMySQL database utilities for Grest Framework
@grest-ts/db-postgrePostgreSQL database utilities for Grest Framework
@grest-ts/db-dynamodbDynamoDB database utilities for Grest Framework
@grest-ts/api-docsNative React-based documentation UI for grest-ts services — renders contracts directly, no OpenAPI/AsyncAPI conversion in the rendering path
@grest-ts/openapiOpenAPI 3.1 spec generation and Swagger UI server for grest-ts
@grest-ts/asyncapiAsyncAPI 3.0 spec generation for grest-ts WebSocket APIs

Useful

PackageDescription
@grest-ts/sqlType-safe SQL query builder for MySQL
@grest-ts/structBinary struct definitions with code generation

Internals

PackageDescription
@grest-ts/commonCommon utility functions and types shared across all GG packages
@grest-ts/ipcService internal process communications library. For local testing only.