Maintainer notes
Who this is for
Framework contributors only — people working on PioniaCore, the docs repo, or release tooling. App developers should use composer create-project pionia/pionia-app; DeskFlow examples are optional here.
What you will learn
- How to scaffold apps from a local PioniaCore tree (
php example/pionia new) - Release verification and
bin/releaseworkflow - Where
AGENTS.md, tests, and framework documentation commands live
Before you start
- Local clone of PioniaCore with PHP 8.5+
- Not required: DeskFlow or
pionia/pionia-app— this page is maintainer-focused
Maintainers only
App developers should use composer create-project pionia/pionia-app. The commands on this page are for people working on PioniaCore or the docs repo itself.
How it works
Maintainer workflows sit outside the normal app bootstrap path: monorepo scaffolds, example app smoke tests, release archives, and contributor docs (AGENTS.md).
PioniaCore repo
├── example/pionia → local CLI + sample app
├── bin/release → tag + Packagist archive
├── bin/test → PHPUnit (PHP 8.5+)
└── AGENTS.md → agent / contributor policyScaffold from a local PioniaCore tree
When developing the framework monorepo:
php example/pionia new my-app --installThis mirrors the Packagist template using core stubs in src/Pionia/Resources/scaffolds/app/.
Running the example app
cd PioniaCore/example
php pionia serve
php pionia runserver
bin/testRelease workflow
See AGENTS.md in PioniaCore:
bin/release v3.0.0 --dry-run
composer release:verifyDocumenting the framework
composer document:api # example app OpenAPI
composer document:framework # phpDocumentor → build/docs/AI / agent contributors
Cursor rules and AGENTS.md describe boot order, exception pipeline, and test policy for automated PRs.
Common mistakes
- Documenting
php example/pioniaon app-developer tutorial pages — belongs here only - Running
bin/releasewithoutcomposer release:verifyand passing tests - Committing generated
framework-preload.php— release tooling generates it for the archive only - Skipping tests (
bin/test) when changing core boot order or provider hooks
What’s next
Getting started
Build an application, not the framework.
Extending overview
Packages and AppProvider for app authors.
Helpers reference
Global shortcuts after boot.