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 [email protected]: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
mainbranch 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 formatcomposer analysecomposer 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.