Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 1.8 KB

File metadata and controls

58 lines (41 loc) · 1.8 KB

Contributing

All pull requests should target the development branch.

Where to Start

Change Repository
EasyLibrary core, module system, components, or utility APIs This repository
An official library package (e.g., LibCommand, LibForm, LibWorld) The respective standalone/package repository
Documentation or examples This repository

Core Contributions

  1. Keep public APIs backward compatible unless a breaking release is explicitly planned.
  2. Add focused tests for new module system features, components, or utility helpers.
  3. Update README.md and the current changelog for user-visible changes.
  4. Run linting:
find src -name '*.php' -print0 | xargs -0 -n1 php -l
composer validate --strict

Official Library Changes

Each official library lives in its own repository. Changes to a library's source code, API, or behavior should target that repository's development branch.

EasyLibrary 3.x does not embed official library source. When a library changes:

  1. Open the pull request in the standalone repository first.
  2. Update package metadata, docs or release assets if EasyLibrary needs to install or describe the new version.
  3. Do not copy library source back into EasyLibrary/src/imperazim.

Module System

When proposing changes to the module system:

  1. Update BaseModule and ModuleManager interfaces if needed.
  2. Add test modules in a test scaffold for lifecycle coverage.
  3. Document new manifest properties or lifecycle hooks in docs/modules.md.
  4. Verify that module enable, disable, reload, and dependency resolution work correctly with both hard and optional dependencies.

Development Setup

composer install

Validate before submitting:

find src -name '*.php' -print0 | xargs -0 -n1 php -l
composer validate --strict