Basic library standard
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.
Abstract
World is inherently more complex than we thought. Someone can't create a package without following minimal rules. Neither update the package without this rules. So I've created this small standard for my own libraries in order to maintain the good tidy.
Basic documentation
My own logic implies that all my development model MUST follow PSR-12 to keep clean code. User MAY use PHPCS to keep following PSR-12 recommendations.
Library naming standard
The name of the package MUST be `alrik11es/package`
The package name MUST use kebab-case as defined in Special case styles (Wikipedia) for example alrik11es/my-lib
Namespace name in libraries MUST start with \Alr for example \Alr\Mylib\Core
Folders distribution
Source code SHOULD be in a folder called /src but can be defined in composer.json
Tests folder MUST be called /tests
Tests folder MAY contain subfolders for integration, unit and functional tests