> ## Documentation Index
> Fetch the complete documentation index at: https://www.orionjs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> What is Orionjs

Orionjs is a TypeScript framework designed with simplicity in mind. It consists primarily of controllers, which initiate operations within your application, and services, which handle the core logic.

Starting with v4.3, Orionjs uses **Bun** as its default runtime, giving you faster startup times, native TypeScript execution, and a built-in watch mode. Node.js is still fully supported via the `--node` flag.

We are developing Orionjs to be optimized for seamless AI-generated code.

Orionjs was born with the vision of being a framework that is focused on looking for simplicity when developing and being friendly for the developer.

The framework is actively used at scale and maintained by [Justo](https://getjusto.com) in Chile.

## Core Concepts

Orionjs is built around several key concepts that work together to create a clean, maintainable architecture:

### Controllers

Controllers are the starting point of all code executions. Orionjs supports multiple types of controllers:

* **HTTP controllers**: Handle HTTP requests
* **GraphQL controllers**: Handle GraphQL requests (queries, mutations, subscriptions, and model resolvers)
* **Jobs controllers**: Execute scheduled or queued jobs
* **Echoes controllers**: Facilitate communication between services

### Repositories

Repositories serve as the data access layer. They are responsible for fetching data from databases or other external sources, keeping your data access logic separate from business logic.

### Services

Services contain the business logic of your application. Controllers invoke functions in services, which implement the core functionality of your application.

### Schemas

Schemas define your data models. They enable code reusability by providing a way to validate data, create database models, generate GraphQL schemas, and define TypeScript interfaces.

### Components

Components are the building blocks of your application. An app can have many components, each containing its own controllers, repositories, services, and schemas.
