Introduction
Learn what AxilJS is, what it provides, and how it fits into a modern JavaScript backend.
Introduction
AxilJS is a complete JavaScript/TypeScript backend ecosystem for building production-ready APIs and backend systems without assembling a large collection of unrelated packages.
It brings the core layers of a backend into one consistent platform:
- HTTP server, routing, middleware, SSE, and static files
- PostgreSQL, MySQL, and SQLite ORM with migrations
- Authentication, password hashing, and RBAC
- Schema-based request validation
- WebSockets, rooms, and realtime communication
- Events, queues, scheduling, retries, and circuit breakers
- Logging, metrics, tracing, and health checks
- AI providers, RAG, agents, vector storage, and MCP
- Memory monitoring and automatic optimization
- Multi-tenancy, audit logs, feature flags, and deployment tooling
- Built-in API response handling
- ORM Studio for visual API and database inspection
Note
AxilJS requires Node.js 18+, npm 8+, and TypeScript 5+.
Why AxilJS?
A typical Node.js backend is assembled from many independently designed libraries. That can work, but it also creates repeated decisions around conventions, configuration, validation, responses, security, testing, and infrastructure.
AxilJS takes a different approach: provide these capabilities as a coordinated ecosystem under the @axiljs package scope.
The result is a backend foundation where the major building blocks share the same ecosystem, conventions, and tooling.
The AxilJS philosophy
AxilJS is built around three principles:
One ecosystem
Core backend capabilities are developed and distributed under the @axiljs scope.
Production-oriented defaults
Security, validation, observability, resilience, testing, and deployment are treated as first-class backend concerns rather than afterthoughts.
Grow without replacing the foundation
AxilJS supports different application structures, including MVC, monolithic applications, and microservice-oriented systems.
Where the name comes from
AxilJS is derived from SyntaxilitY:
The word axil also refers to the point on a plant where new growth begins. The idea behind the name is simple: AxilJS provides a central foundation from which a backend can grow naturally.
| Part | Meaning |
|---|---|
axil | Extracted from SyntaxilitY; associated with agility and natural growth |
itY | SyntaxilitY signature |
JS | JavaScript |
What is included?
AxilJS is organized into focused packages that work together as one ecosystem.
| Package | Purpose |
|---|---|
@axiljs/core | HTTP server, router, middleware, SSE, static files, response manager |
@axiljs/config | Environment loading and typed configuration |
@axiljs/security | Helmet, rate limiting, CSRF, and sanitization |
@axiljs/orm | PostgreSQL, MySQL, and SQLite ORM with migrations |
@axiljs/auth | JWT, password hashing, authentication, and RBAC |
@axiljs/validation | Schema-based request validation |
@axiljs/testing | Test runner, assertions, and HTTP test client |
@axiljs/events | In-process event bus and pub/sub |
@axiljs/websocket | RFC 6455 WebSocket server and rooms |
@axiljs/queue | Message queues, scheduling, retries, and delayed jobs |
@axiljs/circuit | Circuit breaker, retry, and timeout utilities |
@axiljs/observability | Logging, metrics, tracing, and health checks |
@axiljs/ai | AI providers, RAG, agents, vector storage, and MCP |
@axiljs/cloud | Multi-tenancy, audit logs, feature flags, and deployment |
@axiljs/memory | Memory monitoring, leak detection, GC, and optimization |
@axiljs/pm | Package management, lock files, and checksums |
@axiljs/studio | Browser-based developer dashboard |
@axiljs/cli | Project creation, development, testing, building, and deployment commands |
A minimal AxilJS application
Create a project with the AxilJS CLI:
The development server starts the application and watches the source tree for changes.
Info
ORM Studio runs on appPort + 1 by default. If your application runs on port 3000, Studio is available at http://localhost:3001.
A simple API
AxilJS provides a conventional application API while keeping common response handling built in.
Common response methods include:
This keeps API responses consistent across application modules.
ORM and database support
The AxilJS ORM supports:
- PostgreSQL
- MySQL
- SQLite
- Migrations
- Query and repository abstractions
A basic model can be defined with decorators:
ORM Studio
AxilJS includes ORM Studio, a browser-based developer dashboard designed to make local API and database development easier.
Run:
Studio automatically starts alongside the application.
It provides:
| Capability | Description |
|---|---|
| API Explorer | Discover routes and use the built-in Try It Out interface |
| Database Browser | Inspect tables, columns, constraints, and paginated data |
| SQL Query Editor | Run read-only SQL queries with syntax highlighting |
| Realtime Monitor | Inspect WebSocket connections and SSE streams |
| Collection Export | Export Postman, Insomnia, and OpenAPI collections |
| QR Access | Open the application or Studio from another device on the same network |
Studio supports SQLite, PostgreSQL, and MySQL.
Built for backend architectures
AxilJS is not tied to a single application architecture.
You can organize an application as:
or as a modular monolith:
or evolve toward distributed services:
The framework provides the backend capabilities; the application architecture remains yours to choose.
Development workflow
The AxilJS CLI provides the main development lifecycle:
During development, axil run watches the source tree and recompiles changed files automatically.
From HTTP to AI
AxilJS extends beyond the HTTP layer.
The ecosystem includes infrastructure for:
For AI applications, @axiljs/ai provides provider integrations, RAG pipelines, vector storage, agents, and tools.
Deployment
AxilJS can generate deployment artifacts through the CLI:
The generated deployment structure can include:
You can then build and run the application directly or deploy it with Docker and Kubernetes.
What makes AxilJS different?
AxilJS is not intended to replace JavaScript itself or force one architectural style.
Its purpose is to provide a coherent backend foundation with the infrastructure commonly required by production applications.
The goal is straightforward: less ecosystem assembly, more application development.
Tip
Start with the Quick Start to create your first AxilJS application and have a development server running in minutes.
Next steps
- Quick Start — Create your first AxilJS application
- CLI — Learn the
axilcommand-line workflow - Core — Explore the HTTP server and routing layer
- ORM — Work with PostgreSQL, MySQL, and SQLite
- Authentication — Add JWT authentication and RBAC
- ORM Studio — Explore the visual development dashboard