Public package hub for the fnlla ecosystem.
- Keep all package sources in one repository (
framework,ops,rbac, etc.). - Generate a Composer repository (
repository/packages.json+repository/dist/*.zip) from this monorepo. - Let
fnlla/fnllainstall dependencies from one public source URL.
- Source of truth for framework development is private
fnlla/framework. - Public starter is
fnlla/fnlla. - Public installer is
fnlla/installer(fnlla new). - This repository is the public distribution layer consumed by Composer.
_shared/contains test bootstrap helpers used by multiple packages.- It is not a standalone Composer package and is not published as an installable package.
- Generated metadata:
repository/packages.json - Generated archives:
repository/dist/*.zip - Public Composer URL:
https://raw.githubusercontent.com/fnlla/packages/main/repository
Run in this repository:
php tools/build-composer-repository.php --version=3.0.4The command reads all first-level package directories that contain composer.json
(except _shared) and rebuilds repository/.
- Manual workflow:
.github/workflows/build-composer-repository.yml - Input:
version(for example3.0.4) - Result: commits refreshed
repository/content tomain
- Keep package constraints aligned (
fnlla/framework:^3.0). - Keep branch aliases aligned (for example
3.0.x-dev). - Verify starter bootstrap after every release:
composer create-project fnlla/fnlla my-app