First off, thanks for taking the time to contribute! 🎉
The following is a set of guidelines for contributing to this project. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
This section guides you through submitting a bug report for the Oura API PHP Client. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
Before creating a bug report, please check if an issue has already been reported.
- Check the issues for similar problems.
- If you find a related issue, add a comment with any additional details.
- If your issue is unique, open a new issue:
- Use a clear and descriptive title for the issue to identify the problem.
- Provide as much relevant information as possible to help others understand the problem and how to reproduce it.
This section guides you through submitting an enhancement suggestion for the Oura API PHP Client, including completely new features and minor improvements to existing functionality.
- Check the issues for similar suggestions.
- If you find a related suggestion, add a comment with your thoughts.
- If your suggestion is new, open a new issue:
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a detailed description of the suggested enhancement and explain why it would be beneficial.
- Fork the repository.
- Clone your fork to your local machine:
git clone https://github.com/your-username/oura-api-php.git cd oura-api-php
3. Create a new branch for your changes:
git checkout -b feature/your-feature-name
4. Make your changes in your branch.
5. Commit your changes:
```sh
git commit -m "Description of your changes"
- Push to your fork:
git push origin feature/your-feature-name
7. Open a pull request from your forked repository to the main repository.
### Pull Request Guidelines
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- Update the README.md and any other relevant documentation with details of changes to the interface.
- Ensure the test suite passes.
- Make sure your code lints.
## Development
### Using Docker for Development
We provide a Docker setup to ensure a consistent development environment. To use Docker:
1. Build the Docker image:
```sh
docker-compose build
- Run the development environment:
docker-compose up
3. Use the php environment:
```sh
docker-compose exec app bash
The Docker setup will automatically install dependencies and run tests, code style checks and static analysis.
Please ensure your code adheres to our coding standards and passes all checks:
- PHP-CS-Fixer: Ensures code style consistency.
composer fix
2. PHPStan: Performs static analysis to detect potential issues.
```sh
composer analyse
- PHPMD: Checks for code smells and potential bugs.
composer md
4. PHPUnit: Unit testing.
```sh
composer test
You can run all tests and checks with a single command:
composer all-checks
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
Thank you for considering contributing to the Oura API PHP Client! We look forward to building something amazing with you.