Get Started

Introduction

An overview of the Antelopejs framework — a TypeScript framework for building modular, scalable applications using interface-based architecture.

What is Antelopejs

Antelopejs is a TypeScript framework for building modular, scalable applications using interface-based architecture. Modules communicate through interfaces — well-defined contracts that describe what a module provides — rather than importing each other directly. This design enables loose coupling between components and makes it possible to hot-swap module implementations at runtime.

Key Features

Interface-Based Architecture

Modules communicate through contracts, not direct dependencies. A module never needs to know which other module fulfills its requirements.

Hot Module Reloading

Swap modules at runtime during development. Changes take effect immediately without restarting the entire application.

Full TypeScript Support

End-to-end type safety across module boundaries. Interfaces are fully typed, so your editor catches errors before you run anything.

Modular Design

Build applications as composable modules. Each module is an independent package that you can develop, test, and deploy on its own.

Swap Without Rewriting

Change your database, payment provider, or notification service by swapping one module for another. Dependent code stays the same because the interface contract holds.

HMR is currently available only for development environments. Production-ready HMR is planned for a future release.

Philosophy

Traditional frameworks pack too many features into their core, making them hard to customize and painful to upgrade. Antelopejs takes a different approach: instead of a monolithic framework, you compose applications from independent modules.

Each module exports interfaces that describe what it provides and imports interfaces that describe what it needs. The core manages module lifecycle and routes interface calls between producers and consumers. You never wire modules together manually.

This architecture means you can swap any module implementation without changing the code that depends on it. Switching from one database provider to another, or replacing a payment gateway, requires only a configuration change — the consuming modules keep working because the interface contract stays the same.