Extend Fleetbase with Custom Modules
Fleetbase is built as an extensible operating system for logistics. Every core feature — FleetOps, Storefront, Ledger — is itself an extension. Build your own modules, publish them to the marketplace, or keep them private for your own deployment.

Every Feature is an Extension
Fleetbase is not a monolith — it is an operating system for logistics built from composable extensions. FleetOps, Storefront, Ledger, and Pallet are all extensions that ship with Fleetbase. Your custom extension is a first-class citizen with exactly the same capabilities.
Each extension is a combination of an Ember Engine (the frontend module) and a Laravel package (the API backend). The two halves are developed independently and communicate through the Fleetbase Core API.
1{
2 "name": "my-logistics-module",
3 "version": "1.0.0",
4 "description": "Custom logistics module for Fleetbase",
5 "author": "Your Company",
6 "fleetbase": {
7 "requires": ">=1.0.0",
8 "engine": "my-logistics-module",
9 "backend": "your-company/my-logistics-module"
10 },
11 "dependencies": {
12 "@fleetbase/ember-core": "^1.0.0",
13 "@fleetbase/ember-ui": "^1.0.0"
14 }
15}Types of Extensions
Extensions range from full-stack modules with custom UIs to lightweight backend integrations.
Full-Stack Extensions
A complete Ember Engine frontend paired with a Laravel API backend. Adds new screens, navigation items, and data models to the console.
Backend-Only Extensions
A Laravel package that adds API endpoints, data models, background jobs, or integrations — without a custom UI.
UI Component Extensions
Ember addons that contribute reusable UI components, widgets, or dashboard panels to existing extensions.
Integration Extensions
Extensions that bridge Fleetbase with third-party platforms — shipping carriers, ERPs, payment processors, and more.
From Zero to Published in Four Steps
The Fleetbase CLI handles scaffolding, local development, and publishing so you can focus on building.
The CLI scaffolds new extensions, manages dependencies, and handles publishing to the registry.
Generates the full structure: an Ember Engine for the frontend and a Laravel package for the backend, pre-wired together.
Start the development server. Your extension hot-reloads inside a local Fleetbase instance as you build.
Package and submit your extension to the Fleetbase Extension Registry. Once approved, it appears in the marketplace.
Core Development Frameworks
Fleetbase provides dedicated libraries for both the frontend and backend halves of your extension.
fleetbase/ember-coreProvides foundational services, adapters, and utilities for initializing and managing your extension's Ember Engine. Handles authentication, routing integration, and cross-extension communication.
View on GitHubfleetbase/ember-uiA suite of standardized UI components and styles that match the Fleetbase console aesthetic. Tables, modals, forms, maps, and more — all pre-built and ready to use.
View on GitHubfleetbase/core-apiThe Laravel package that forms the backbone of every extension backend. Provides the composable REST API framework, shared models, authentication middleware, notifications, and the event system.
View on GitHubfleetbase/fleetbase-phpPHP SDK for interacting with the Fleetbase API from server-side applications and extension backends.
View on GitHubThe Fleetbase Extension Registry
The Fleetbase Extension Registry at registry.fleetbase.io is the official package repository for Fleetbase extensions. It supports both Composer (PHP) and npm (JavaScript) packages, with built-in validation to ensure every extension meets platform standards.
1# Install the Fleetbase CLI
2npm install -g @fleetbase/cli
3
4# Scaffold a new extension
5flb new my-extension
6
7# Develop with hot reload
8flb serve
9
10# Publish to the registry
11flb publish
12
13# Install any extension from the registry
14flb install my-extensionFrequently Asked Questions
Ready to Build?
Start with the official extension development guide, scaffold your first extension with the CLI, and join the Fleetbase developer community on Discord.