enlivenapp/flight-factory

Interactive scaffolding tool for FlightPHP applications and plugins

Maintainers

Package info

github.com/enlivenapp/FlightPHP-Factory

pkg:composer/enlivenapp/flight-factory

Statistics

Installs: 5

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

0.2.0 2026-05-03 20:01 UTC

This package is auto-updated.

Last update: 2026-05-03 20:01:38 UTC


README

Stable? Not Quite Yet License PHP Version Monthly Downloads Total Downloads GitHub Issues Contributors Latest Release Contributions Welcome

Flight Factory

I noticed folks downloading some of these packages. I'm super grateful, Thank You! I would like to let folks know until this notice disappears I'm doing a lot of breaking changes without worrying about them. Once versions are up around 0.5.x things should settle down.

Interactive scaffolding tool for FlightPHP applications and plugins.

Installation

composer require enlivenapp/flight-factory

Commands are automatically available via php runway build.

Commands

Command Description
build:app Create components for your application
build:vendor Create components for a vendor package

Available Components

Component Description
command CLI command
config Configuration file
controller Web or API controller
entity ActiveRecord entity (src/Entities/)
middleware Middleware class
migration Database migration (PHP class)
model ActiveRecord model (src/Models/)
mvc Controller + Model + View combo
repository Repository class (src/Repositories/)
seed Database seeder
service Service class
util Utility class
view View template

Usage

Interactive Mode

Run without arguments to be prompted for everything:

php runway build:app
php runway build:vendor

Direct Mode

Pass arguments to skip prompts:

php runway build:app controller UserController
php runway build:app controller UserController --type=api
php runway build:app mvc Blog
php runway build:vendor enlivenapp/my-plugin controller UserController
php runway build:vendor enlivenapp/my-plugin mvc Blog --type=api

Creating a New Vendor Package

If the package doesn't exist, build:vendor will scaffold it for you. Flight School plugins get full boilerplate: Plugin.php, Config/Config.php, Config/Routes.php, and Config/AdminRoutes.php.

php runway build:vendor enlivenapp/my-new-plugin

Warnings

Generally we trust Developers know what they're doing, we offer a warning when approching a potentially dangerous operation, but we don't block any operation. This will allow you to add to other authors' packages which could improve or break it but would be overwritten on a composer update.

New packages can optionally be created as Flight School plugins. Warns if Flight School not installed. will crash your install if you create a flight school plugin and flight school is not installed.

Help

php runway build
php runway build:app --help
php runway build:vendor --help

Directory Structure

build:app

Files are placed in the app/ directory with lowercase directory names (use with skeleton):

app/commands/
app/config/
app/controllers/
app/entities/
app/middlewares/
app/migrations/
app/models/
app/repositories/
app/seeds/
app/services/
app/utils/
app/views/

build:vendor

Files are placed in the package's src/ directory with uppercase directory names (except commands/):

src/commands/
src/Config/           (Config.php, Routes.php, AdminRoutes.php)
src/Controllers/
src/Database/Migrations/
src/Entities/
src/Middlewares/
src/Models/
src/Repositories/
src/Seeds/
src/Services/
src/Utils/
src/Views/

License

MIT