Where to contribute
+ ++ NativePHP is split across a few repositories on GitHub. Pick the + one your change belongs to: +
+ +-
+
- + NativePHP for Mobile + lives in + + NativePHP/mobile-air + + +
- + NativePHP for Desktop + lives in + + NativePHP/desktop + + +
- + The documentation and this website + live in + + NativePHP/nativephp.com + + +
- + Official plugins + that are open source each have their own repository in the + NativePHP + organization + +
How to contribute
+ +-
+
- + Fork the repository + to your own GitHub account. + +
-
+ Clone your fork
+ locally:
+
+git clone git@github.com:your-username/mobile-air.gitcd mobile-air
+ -
+ Create a branch
+ with a name that describes your change:
+
+git checkout -b feature/my-new-feature
+ - + Make your changes + and follow the code style of the repository you're working + in. + +
- + Test your changes + to make sure they work as intended and don't break anything + else. + +
- + Commit your changes + with clear messages that explain what changed and why. + +
-
+ Push your branch
+ to your fork:
+
+git push origin feature/my-new-feature
+ -
+ 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. +
+ - + 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 + support@nativephp.com + 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. +
+