Keruald: Difference between revisions
No edit summary |
|||
Line 28: | Line 28: | ||
== Developer guide == | == Developer guide == | ||
=== Contribution workflow === | |||
=== PhpStorm === | You'll find the general contribution guide at [[How to contribute code]]. Here some pointers specific for Keruald libraries. | ||
We use a '''monorepo''': clone the rKERUALD repository on DevCentral, you'll find your library as a direct subdirectory on it. | |||
Each subdirectory matches: | |||
* a resource folder, not included in packages, if starting by an underscore _ or a dot . | |||
* a name of a package if starting by a letter, e.g. keruald/commands for commands/ | |||
=== How to create a new library? === | |||
To create a new library quux, we need a new empty manyrepo on DevCentral, a mirror on GitHub and to declare it on Packagist: | |||
# Create on DevCentral a new repository with a callsign starting by K for Keruald like KQUUX, and "quux" as shortname | |||
# Create on GitHub a new repository called keruald/quux | |||
# Publish on packagist | |||
If the shortname is already taken on DevCentral, it's time to create a new task to provide a map of subdirectory/package repository. | |||
Don't commit anything in newly created repos but contribute as usual by creating quux/ subdirectory in the monorepo | |||
=== Annex A. IDE configuration === | |||
==== PhpStorm ==== | |||
Clone the monorepo on your drive, then open it in PhpStorm to generate an .idea folder. | Clone the monorepo on your drive, then open it in PhpStorm to generate an .idea folder. |
Revision as of 20:24, 20 February 2022
Keruald is a set of libraries to build PHP applications.
Libraries
Package name | Description |
---|---|
keruald/omnitools | General purpose library |
keruald/globalfunctions | Wrapper to replace our old old sites "core.php" by calls to omnitools |
keruald/commands | Create simple CLI application |
keruald/report | Reporting library |
keruald/health | Site health check |
keruald/dockerhub | Docker Hub, managing payload signatures |
keruald/mailgun | Mailgun API client |
keruald/database | Database abstraction layer |
keruald/broker | Wrapper around brokers like RabbitMQ |
Developer guide
Contribution workflow
You'll find the general contribution guide at How to contribute code. Here some pointers specific for Keruald libraries.
We use a monorepo: clone the rKERUALD repository on DevCentral, you'll find your library as a direct subdirectory on it.
Each subdirectory matches:
- a resource folder, not included in packages, if starting by an underscore _ or a dot .
- a name of a package if starting by a letter, e.g. keruald/commands for commands/
How to create a new library?
To create a new library quux, we need a new empty manyrepo on DevCentral, a mirror on GitHub and to declare it on Packagist:
- Create on DevCentral a new repository with a callsign starting by K for Keruald like KQUUX, and "quux" as shortname
- Create on GitHub a new repository called keruald/quux
- Publish on packagist
If the shortname is already taken on DevCentral, it's time to create a new task to provide a map of subdirectory/package repository.
Don't commit anything in newly created repos but contribute as usual by creating quux/ subdirectory in the monorepo
Annex A. IDE configuration
PhpStorm
Clone the monorepo on your drive, then open it in PhpStorm to generate an .idea folder.
- Edit keruald.iml with this modules content to declare the code namespaces: https://devcentral.nasqueron.org/P300
- For code style, you can use https://github.com/nasqueron/codestyle/blob/main/JetBrains/php-codestyle.xml