@onivoro

@onivoro

Omnivorous TypeScript

The Vibe

We believe that TypeScript is the universal language of modern software development. Our mission is to consume everything in TypeScript — bridging gaps between platforms, services, and data formats to facilitate accelerated software development.

By providing high-quality, open-source npm packages, we empower developers to integrate any technology, API, or data source into their TypeScript and TypeScript projects with minimal friction.

Core Principles

{ }

Universal Consumption

Every API, every data format, every service — accessible through clean, intuitive TypeScript interfaces.

<>

TypeScript First

Full type safety and excellent developer experience with comprehensive TypeScript definitions.

()

Zero Friction

Simple APIs that just work. Install, import, and start building — no complex configuration required.

[]

Open Source

All packages are open source and community-driven, fostering collaboration and transparency.

Isomorphic TypeScript IS Advanced Architecture

TypeScript's unique position as a language that runs everywhere — browsers, servers, edge functions, mobile apps, and CLIs — makes it the only language capable of maximally achieving advanced software architecture patterns.

🧅

Onion Architecture

Onion Architecture organizes code in concentric layers where dependencies flow inward. The innermost layer contains your domain entities and business logic — completely isolated from external concerns. Outer layers handle infrastructure, APIs, and UI.

Domain EntitiesPure business objects with no dependencies
Domain ServicesBusiness logic and use cases
Application ServicesOrchestration and coordination
InfrastructureDatabases, APIs, frameworks

Hexagonal Architecture

Also known as "Ports and Adapters," Hexagonal Architecture isolates your core business logic from external systems through well-defined ports (interfaces) and adapters (implementations). Your domain never knows if it's talking to a REST API, GraphQL, CLI, or test mock.

Core Domain
API PortDB PortEvent PortUI Port

Why Only TypeScript Can Maximally Achieve These Patterns

🌐 True Isomorphism

Share your domain layer literally — the same code runs in Node.js, Deno, Bun, browsers, React Native, and Electron. No "port" to another language, no serialization boundaries, no type mismatches.

🔒 Compile-Time Guarantees

TypeScript's structural type system enforces architectural boundaries at compile time. Ports are interfaces, adapters implement them — violations are caught before runtime.

📦 Single Dependency Graph

bun/npm/yarn/pnpm provide a unified package ecosystem. Your domain package is consumed identically by your API server, web app, mobile app, and CLI — with full IntelliSense.

🎭 Multiparadigm Programming

TypeScript embraces both functional and object-oriented paradigms seamlessly. Arrow functions, higher-order functions, and immutable patterns coexist with classes, decorators, and inheritance — all with exceptional signal-to-noise ratio in syntax.

🔄 Seamless Refactoring

Rename a domain method and watch it propagate across your entire stack — server, client, mobile, CLI — with full IDE support. No grep-and-pray across language boundaries.

⚡ Developer Velocity

One language, one mental model, one set of patterns. Full-stack developers move fluidly between layers without context-switching costs. Junior devs ramp up on the entire stack simultaneously.

Other languages claim "full-stack" capabilities, but only TypeScript delivers zero-friction code sharing across the entire application spectrum. Java/Kotlin require separate codebases for web. Python can't run in browsers. Go lacks frontend support. Rust compiles to WASM but with significant ceremony. TypeScript is the only language where your domain layer is truly portable.

Get Started