Bifrost turns 1! Get 30% off annual plans with code
HAPPYBIRTHDAY

Contributing to NativePHP

Bug fixes, new features, documentation and bug reports all help make NativePHP better. Thank you for helping out.

Where to contribute

NativePHP is split across a few repositories on GitHub. Pick the one your change belongs to:

How to contribute

  1. Fork the repository to your own GitHub account.
  2. Clone your fork locally:
    git clone [email protected]:your-username/mobile-air.git
    cd mobile-air
  3. Create a branch with a name that describes your change:
    git checkout -b feature/my-new-feature
  4. Make your changes and follow the code style of the repository you're working in.
  5. Test your changes to make sure they work as intended and don't break anything else.
  6. Commit your changes with clear messages that explain what changed and why.
  7. Push your branch to your fork:
    git push origin feature/my-new-feature
  8. Open a pull request against the main branch of the original repository. Describe the change, the problem it solves and anything a reviewer should know.
  9. Respond to review. A maintainer will review your pull request and may ask for changes. Once it's approved, it gets merged.

Pull request guidelines

  • Keep each pull request focused. Send unrelated changes as separate pull requests.
  • Write clear, descriptive commit messages.
  • Include tests for any new functionality.
  • Make sure all existing tests pass before you submit.
  • Update the documentation if your change affects the public API.

Code style and tests

Follow the conventions of the code around your change. The mobile and desktop packages use Laravel Pint for formatting, PHPStan for static analysis and Pest for tests. You can run all three before you push:

composer qa

Each step also has its own command:

  • composer format
  • composer analyse
  • composer test

Reporting bugs

If you find a bug, open an issue on the repository it affects. The mobile and desktop issue trackers are where most reports go. Include as much detail as you can:

  • A clear, descriptive title.
  • Steps to reproduce the issue.
  • What you expected to happen and what actually happened.
  • Your environment: OS, PHP version, Laravel version and NativePHP version.

Questions and ideas for improvements are welcome as issues too.

Security vulnerabilities

Please don't open a public issue for a security vulnerability. See our security policy for how to report it privately.

License

By contributing, you agree that your contributions will be licensed under the same license as the repository you're contributing to.

Code of Conduct

The NativePHP community is dedicated to providing a welcoming and inclusive experience for everyone. We expect all participants to follow these standards.

Our pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Our standards

Examples of behavior that contributes to a positive environment:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

Examples of unacceptable behavior:

  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information without explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional setting

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project team at [email protected] and will be reviewed and investigated promptly and fairly.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

The Contributor Covenant version 2.1 is the basis for this Code of Conduct.

Thank you

Contributors play a big part in making NativePHP what it is. Once your pull request is merged, you'll show up in the repository's list of contributors on GitHub.