TriFrost is a blazing-fast, runtime-agnostic server framework built for the modern JavaScript ecosystem — from low-latency edge environments to traditional backend infrastructure.
Whether you're deploying to Node.js, Bun, Cloudflare Workers, or uWebSockets.js, TriFrost provides a unified API and internal architecture that adapts to the runtime — without compromising on performance, developer experience, or clarity.
TriFrost is the result of deep experience across frameworks, runtimes, and production systems. It combines:
- 🧩 Koa-like composability: build with middleware that’s small, explicit, and powerful
- ⚡ uWS-level performance: thanks to tight internal control over routing, context, and async flows
- 🌐 Edge-native philosophy: designed from the ground up to support Cloudflare Workers, and other emerging runtimes
- 🧠 Observability-first design: tracing is not an afterthought; it’s a core design concern with built-in support for structured telemetry
Unlike many frameworks, TriFrost doesn't bind itself to Node-specific APIs or assume a single deployment model. It’s truly runtime-flexible, letting you write code once and run it almost anywhere.
Using your favorite package manager:
# bun
bun add @trifrost/core
# npm
npm install @trifrost/core
# pnpm
pnpm add @trifrost/core
# yarn
yarn add @trifrost/core
TriFrost is guided by a few key beliefs:
- No magic. Ever. You should be able to trace exactly how data flows and how handlers resolve.
- Lean by default. We ship zero dependencies that aren’t critical to the core behavior.
- Typed end-to-end. First-class TypeScript support with generics and inference deeply embedded.
- Adaptable internals. Routing, context, and state management are designed to be both composable and overridable.
TriFrost is under active development as we build toward a solid v1.0
milestone.
The internal architecture is already production-grade, but APIs may still evolve as we polish developer ergonomics, refine edge-case behaviors, and finalize DX across runtimes.
If you're early-adopting:
- We recommend pinning patch versions
- Feedback and PRs are very welcome
- Expect aggressive iteration
- 🧑💻 GitHub: trifrost-js/core
- 📦 npm:
@trifrost/core
- 🌐 Website: trifrost.dev
- 💬 Discord: Join the community
Contributions are very welcome!
If you're looking to get involved:
- 📄 Check the open issues or discussion threads
- 🧪 Run tests with
npm run test
or check coverage withnpm run test:coverage
- 🔧 Code is written in modern TypeScript — type safety and performance matter
Whether it's a bug fix, new module, test case, or doc improvement — PRs are appreciated and reviewed quickly.
Created and maintained by Peter Vermeulen