Introduction
Shiva is a modular, contract-driven FiveM RP framework. It replaces monolithic frameworks like QBCore and ESX with a clean architecture that lets you swap, override, or extend any component without touching framework internals.
Why Shiva?
Most FiveM frameworks suffer from the same problems:
- God objects — one massive
QBCoreorESXobject that everything depends on - No contracts — change the inventory system, break 30 resources
- No isolation — one misbehaving module crashes everything
- No testing — side effects everywhere, nothing is testable
Shiva solves all of these with a small set of core principles:
- Modules are the only unit of code. There's no monolith.
- Contracts define interfaces. Modules talk through contracts, not implementations.
- The container wires everything. Dependency injection means no global state.
- Everything is overridable. Five levels of override from config all the way to replacing the implementation.
Who Is This For?
| Audience | What You Want | Where to Start |
|---|---|---|
| Server Owners | Install, configure, and run | Installation → |
| Module Developers | Build custom gameplay systems | Your First Module → |
| Contributors | Understand internals, build replacement modules | Architecture → |
The Projects
Shiva is split into focused repositories:
| Repo | Purpose |
|---|---|
shiva-fw | Shared Lua foundation (container, event bus, utilities) |
shiva-core | FiveM framework engine — the runtime |
shiva-modules | 73 default RP modules (player, economy, jobs, etc.) |
shiva-db | MySQL/MariaDB FiveM resource — the DB driver |
shiva-boot | Boot trigger resource — fires the 7-phase boot pipeline |
shiva-test | Testing framework for module authors |
shiva-cli | Developer CLI (shiva make, shiva migrate, etc.) |
shiva-api | External REST/WebSocket API server |
shiva-panel | React admin panel (connects to shiva-api) |
shiva | FiveM Docker boilerplate |
shiva-docs | This documentation site |
Quick Start
If you just want a running server:
bash
# Clone the FiveM Docker boilerplate
git clone https://github.com/adrianmejias/shiva
# Follow the installation guide