Installable PilotPHP 0.1.x application skeleton and composition root.

Maintainers

Package info

gitlab.com/pilotphp/app

Issues

Type:project

pkg:composer/pilotphp/app

Transparency log

Statistics

Installs: 8

Dependents: 0

Suggesters: 0

Stars: 0

0.1.4 2026-08-02 19:20 UTC

This package is auto-updated.

Last update: 2026-08-02 16:22:16 UTC


README

Installable PilotPHP 0.1.x application skeleton and composition root for the first CLI vertical slice.

Requirements

  • PHP 8.5+
  • Composer 2.x

Quick start (monorepo)

Packages are not all on Packagist yet. From the PilotPHP monorepo checkout:

cd app
COMPOSER=composer-local.json composer update
php bin/pilot build
php bin/pilot list
php bin/pilot help hello
php bin/pilot hello --name=Martin

composer-local.json declares relative path repositories with "symlink": false so core discovery stays inside the application vendor/ tree.

Distribution composer.json has no absolute/local path repositories (Packagist-facing).

Quick start (future Packagist)

composer create-project pilotphp/app my-app
cd my-app
php bin/pilot build
php bin/pilot list
php bin/pilot help hello
php bin/pilot hello --name=Martin

Keep pilot/package.json version aligned with the Composer root pretty version after install (core identity policy).

Composer install graph

pilotphp/app (type: project)
├── pilotphp/contracts   (infra library)
├── pilotphp/core        (infra library)
├── pilotphp/build       (infra library)
├── pilotphp/config      (Pilot extension)
├── pilotphp/container   (Pilot extension)
├── pilotphp/console     (Pilot extension)
├── pilotphp/operation   (Pilot extension)
└── pilotphp/runtime     (Pilot extension)

pilotphp/runtime-native is intentionally absent from this CLI entrypoint.

Pilot active package graph

pilotphp/app
pilotphp/config
pilotphp/container
pilotphp/console
pilotphp/operation
pilotphp/runtime

Capability bindings are empty while no package declares requiresCapabilities.

Cold start vs normal CLI

PhaseTriggerWork
Cold startphp bin/pilot buildCompositionRequest → core resolve → BuildRequest → publish finalized generation
Normal CLIany other argvvalidated current.php → domain loaders → ConsoleRuntime → WorkerLifecycle

Normal startup never registers packages and never rebuilds.

Documentation

See docs/ for architecture, composition, build, runtime bootstrap, CLI, security, compatibility, and troubleshooting.

Development

COMPOSER=composer-local.json composer update
composer check