← Back to archive

Repo of the Day

zap-studio/monorepo: Type-safe, framework-agnostic and composable TypeScript libraries for the web.

Published: Aug 30, 2026

Open repository ↗

Type-safe, framework-agnostic and composable TypeScript libraries for the web. - zap-studio/monorepo

Summary

Zap Studio is a monorepo of TypeScript libraries for web development, all distributed on npm and JSR. The packages share a focus on being type-safe, framework-agnostic, composable, and tree-shakeable, and they cover common application needs like data fetching, caching, logging, validation, and state management. Runtime packages target Node.js 18+, Bun 1.0+, Deno 1.42+, Cloudflare Workers, and modern evergreen browsers.

What it is useful for

The monorepo contains 14 independently installable packages, each addressing a specific concern. Engineers building API clients can use @zap-studio/fetch, which provides a type-safe fetch wrapper with runtime schema validation, paired with @zap-studio/retry for composable retry policies that support both fixed and exponential backoff. State caching is handled by @zap-studio/cache, an in-memory cache with pluggable eviction strategies (LRU, LFU, FIFO) and TTL support.

Configuration and validation concerns are split across several packages: @zap-studio/env validates environment variables with a server/client/shared split, @zap-studio/validation provides Standard Schema utilities and error helpers, and @zap-studio/permit enables declarative authorization policies with Standard Schema support. For application state, @zap-studio/store offers a state container with auto-tracked derived values and persistence, while @zap-studio/monads provides Result and Option types with Rust-style functional combinators.

Integration and frontend needs are also covered. @zap-studio/webhooks ships a type-safe webhook router with verification and lifecycle hooks, @zap-studio/webmcp provides SSR-safe tool registration for the native WebMCP browser API, and @zap-studio/react-hooks exposes small, focused, tree-shakeable React hooks. A lean logging abstraction with a console implementation is available via @zap-studio/logger. On the tooling side, @zap-studio/oxlint and @zap-studio/oxfmt ship as dev-time config presets; the README notes that oxlint requires Node.js 20.19.0+ and oxfmt requires 18.0.0+.

How engineers can use it

Since the libraries are published on both npm and JSR, install only the packages you need with your preferred package manager. The README does not include a quick-start walkthrough or installation commands; engineers should consult the project documentation at zapstudio.dev for package-specific setup, API references, and usage examples. Because each package is published separately and described as tree-shakeable, you can pull in only the modules you need without bloating your bundle.