Open source
Apache 2.0 licensed and maintained by an active community. Free to use, fork and extend.
The ultra-modular Node.js framework for scalable microservices architecture. Develop, test and deploy backend services with versioned interfaces and swappable modules.
From the docs
Real code patterns straight from the documentation. Explore the building blocks that power Antelope applications.
import { Controller, Get, Post,
Parameter, JSONBody } from
"@antelopejs/interface-api";
class UserController extends Controller("/api/users") {
@Get("list")
async listUsers() {
return { users: [] };
}
@Get("get")
async getUser(@Parameter("id") id: string) {
return { id, name: "Alice" };
}
@Post("create")
async createUser(@JSONBody() body: any) {
return new HTTPResult(201, body);
}
}
Generated endpoints
Why Antelope
A modular architecture built on versioned interfaces, designed for teams that ship fast and scale confidently.
Apache 2.0 licensed and maintained by an active community. Free to use, fork and extend.
Versioned interfaces let you swap, upgrade or replace any module without breaking your stack.
Each service deploys independently. Scale, update or roll back individual components without downtime.
Full TypeScript coverage from interfaces to runtime. Catch errors at compile time, not in production.
Minimal footprint, maximum power. The core stays lean so your services stay fast and easy to reason about.
Docker-ready with automated build pipelines. Go from local development to production in minutes.
Write queries once, run them on any supported database. Switch data stores without rewriting logic.
Decorators and clean APIs reduce boilerplate. Write meaningful logic, not configuration glue.
Built-in multi-tenancy and schema management. Launch your SaaS product without reinventing the wheel.
AI-native architecture
Antelope separates what a module does (the interface and its tests) from how it does it (the implementation). The AI can't go off the rails — the architecture keeps it on track.
Guardrails, not freedom. Interfaces define strict boundaries for every module. The AI works within a single, well-scoped contract — consistency is enforced by architecture, not by prompting.
TDD by design. Every interface ships with its contract tests. An agent loops on the implementation until all tests pass — if it doesn't satisfy the interface, it doesn't ship.
Minimal context, fewer tokens. The AI only loads the interface file and its tests — not the entire codebase. Less context, faster generation, lower cost.
Decorators hide complexity. A single @Hashed() replaces dozens of lines of bcrypt boilerplate. Code that isn't written is already battle-tested.
Generate, test, ship. The feedback loop is instant: generate, run ajs module test, fix, repeat. When the contract is green, it's production-ready.
Get started
Define your contracts, implement them, and deploy. Antelope handles the wiring.
A versioned contract that describes what your service does. Nothing about how.
// interfaces/[email protected]
export interface AuthService {
login(
email: string,
password: string
): Promise<Session>;
verify(token: string): Promise<User>;
}
Write the business logic. Use decorators for clean, expressive code.
@Module("auth-jwt")
export class JwtAuth
implements AuthService {
@Inject("database")
private db!: Database;
async login(email, pass) {
// your logic here
}
}
Contract tests run automatically. Ship to Docker with one command.
# tests pass automatically
$ ajs module test ./modules/auth-jwt
✓ login — valid credentials
✓ login — invalid password
✓ verify — valid token
✓ 3/3 passed
$ ajs project build -e production
✓ build → .antelope/build/
$ ajs project start -e production
✓ server on :8080
CLI reference
The ajs CLI handles your entire workflow — from scaffolding to production deployment.
ajs project initscaffold a new projectajs project devstart in dev modeajs project buildbundle for productionajs project startrun from build artifacts--watchhot module reloading--inspectattach Node.js debuggermodules addinstall from npm, git or localmodules rmremove a modulemodules lslist installed modulesmodules updateupgrade to latest versionsmodules installauto-resolve missing interfaces--dry-runpreview changes firstmodule initscaffold a new modulemodule testrun contract testsconfig setset CLI settingsconfig showview current configlogging setconfigure log levels-e <env>target any environmentEcosystem
Community-supported modules for authentication, databases, messaging, storage and more. Install what you need, nothing you don't.
Authentication and authorization.
@antelopejs/module-authMulti-driver query engine.
@antelopejs/module-dbEvent-driven communication.
@antelopejs/module-eventsFile and object storage.
@antelopejs/module-storageDeployment
Docker-ready, with built-in health checks, graceful shutdown and zero-downtime deploys.
Optimized multi-stage builds with minimal image size.
Liveness, readiness and Prometheus endpoints out of the box.
Typed config objects validated at startup. No more runtime surprises.
Community
Contribute to the features you care about — share ideas, submit code, or report issues. Every contribution matters.