Contributing

PlestyLib is developed under the PLESTY governance standard. If you want to contribute — a fix, a feature, or a whole new HUB module built on the library — start with the PLESTY Contributor Guide, which covers the full workflow end to end.

The short version:

  1. Branching — work never lands on main directly. Branch from the up-to-date exp branch (git checkout exp && git pull && git checkout -b <type>/<slug>), implement, and merge back into exp.

  2. Quality gates — every change must pass uv run plesty check (the quantum standard for core modules: formatting, typing, docstrings, tests, licensing, and more). The pre-push hook installed by plesty init runs it automatically.

  3. Changelog — add an entry under ## Unreleased in CHANGELOG.md in the same commit as your change.

  4. Licensing — the project follows the REUSE standard: Python sources carry SPDX headers with a SPDX-FileContributor line per author; add yourself when you touch a file.

Issues and merge requests live on gitlab.com/plesty/core/plesty-lib. For questions about the module ecosystem, browse the searchable module registry.