Skip to content

Contribute

Contributions are welcome across the Small Swoole Entity Manager ecosystem. Each project has its own repository and membership, while this chapter describes the common process.

Project Repository Contribution guide
Core package small-swoole-entity-manager Core CONTRIBUTE.md
Strates package small-swoole-entity-manager-strates Strates CONTRIBUTE.md
Symfony Bundle small-swoole-entity-manager-bundle Bundle CONTRIBUTE.md
Entity Schema small-entity-schema Entity Schema CONTRIBUTE.md
Documentation small-swoole-entity-manager-doc Documentation CONTRIBUTE.md

Request access and project membership

Access is managed through git.small-project.dev.

  1. Open the GitLab instance and sign in. If you do not yet have access, request an account or access to the instance.
  2. Open the repository you want to contribute to from the table above.
  3. Use GitLab's Request access action when it is available.
  4. Otherwise, contact a project maintainer through GitLab and ask to be added as a member of that project.
  5. Include your GitLab username, the exact project name, and a short description of the planned contribution.
  6. Wait for approval before attempting to push a project branch.

Note

GitLab instance access and project membership are separate approvals. Membership in one project does not grant membership in the other repositories.

Contribution process

  1. Search existing issues and merge requests.
  2. Discuss substantial, cross-project, or breaking changes in an issue.
  3. Read the target repository's CONTRIBUTE.md for its branch, environment, and validation commands.
  4. Create a focused feature or fix branch from the current default branch.
  5. Implement the change with tests and documentation where applicable.
  6. Run the repository's quality and test suite.
  7. Push the branch and open a merge request against the default branch.
  8. Describe the problem, implementation, compatibility impact, and validation performed.
  9. Address review feedback without adding unrelated changes.

Merge request checklist

  • The change has one clear purpose.
  • Tests cover new behavior and relevant failure cases.
  • Static analysis, linting, and project tests pass.
  • Public behavior, configuration, and upgrade steps are documented.
  • Cross-project compatibility is explained when multiple repositories are affected.
  • No credentials, private endpoints, generated dependencies, or unrelated formatting changes are included.

Releases and license

Contributors do not create releases. Maintainers merge approved changes and run each repository's release process.

All five projects use the MIT License. By submitting a contribution, you agree that it may be distributed under the MIT License in the target repository.