Skip to content

Latest commit

 

History

History
56 lines (39 loc) · 1.72 KB

File metadata and controls

56 lines (39 loc) · 1.72 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
A bundled library (e.g., LibCommand, LibForm, LibWorld) The respective standalone 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

Bundled Library Changes

Each bundled library lives in its own standalone repository. Changes to a library's source code, API, or behavior should target that repository's development branch. The EasyLibrary repository mirrors those sources.

When a change in a standalone library affects EasyLibrary's embedded copy:

  1. Open the pull request in the standalone repository first.
  2. After merge, update the embedded source in EasyLibrary to match.

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