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
| Package | Description |
|---|---|
| @grest-ts/create-starter | Scaffold a new grest-ts project |
Tooling
| Package | Description |
|---|---|
| @grest-ts/cli | CLI for managing grest-ts in a project (atomic version updates, etc.) |
Framework
| Package | Description |
|---|---|
| @grest-ts/schema | Type-safe schema validation, serialization, and contract definitions for TypeScript |
| ↳ @grest-ts/schema-file | File abstraction for Grest framework |
| @grest-ts/http | HTTP server and client library for Node.js and browser |
| ↳ @grest-ts/http-file | HTTP file download codec for Grest framework |
| @grest-ts/websocket | WebSocket server and client library for Node.js and browser |
| @grest-ts/runtime | Service bootstrap and lifecycle management utilities |
| @grest-ts/testkit | Component testing library for @grest-ts |
| ↳ @grest-ts/testkit-runtime | Component testing library runtime code. |
| ↳ @grest-ts/testkit-vitest | Component testing library integration for vitest |
Platform
| Package | Description |
|---|---|
| @grest-ts/config | Configuration management for Grest Framework - resources, secrets, and settings |
| ↳ @grest-ts/config-aws | AWS Secrets Manager adapter for @grest-ts/config |
| @grest-ts/discovery | Service discovery implementations for Grest Framework |
| ↳ @grest-ts/discovery-local | Local service discovery implementation for Grest Framework |
| ↳ @grest-ts/discovery-static | Static service discovery implementation for Grest Framework |
| @grest-ts/logger | Basic logging library to standardize logging over GG projects |
| ↳ @grest-ts/logger-console | Console logger implementation for @grest-ts/logger |
| @grest-ts/context | Hierarchical async context |
| @grest-ts/locator | Hierarchical async context with tree-based inheritance |
| @grest-ts/metrics | Metrics library for Grest Framework |
| @grest-ts/trace | Tracing support for GGContext |
| ↳ @grest-ts/trace-http | Tracing support for GGContext |
Libraries
| Package | Description |
|---|---|
| @grest-ts/db-mysql | MySQL database utilities for Grest Framework |
| @grest-ts/db-postgre | PostgreSQL database utilities for Grest Framework |
| @grest-ts/db-dynamodb | DynamoDB database utilities for Grest Framework |
| @grest-ts/api-docs | Native React-based documentation UI for grest-ts services — renders contracts directly, no OpenAPI/AsyncAPI conversion in the rendering path |
| @grest-ts/openapi | OpenAPI 3.1 spec generation and Swagger UI server for grest-ts |
| @grest-ts/asyncapi | AsyncAPI 3.0 spec generation for grest-ts WebSocket APIs |
Useful
| Package | Description |
|---|---|
| @grest-ts/sql | Type-safe SQL query builder for MySQL |
| @grest-ts/struct | Binary struct definitions with code generation |
Internals
| Package | Description |
|---|---|
| @grest-ts/common | Common utility functions and types shared across all GG packages |
| @grest-ts/ipc | Service internal process communications library. For local testing only. |
