|
| 1 | +# Contributing to HydePHP |
| 2 | + |
| 3 | +Thank you for considering contributing to HydePHP! This document provides guidelines and instructions for contributing to the HydePHP project. |
| 4 | + |
| 5 | +## Quick Links |
| 6 | + |
| 7 | +- [Community Portal](https://hydephp.com/community) |
| 8 | +- [Monorepo Development Repository](https://github.com/hydephp/develop) |
| 9 | +- [Core Framework Repository](https://github.com/hydephp/framework) |
| 10 | +- [Official Documentation](https://hydephp.com/docs) |
| 11 | + |
| 12 | +## How HydePHP Is Structured |
| 13 | + |
| 14 | +HydePHP consists of several core components, with development primarily done in a monorepo: |
| 15 | + |
| 16 | +1. **Hyde/Hyde** (this repository) - The end-user project that you interact with when creating a website |
| 17 | +2. **Hyde/Framework** - The core logic including models, generators, commands, and views |
| 18 | +3. **HydeFront** - Frontend assets including stylesheets and scripts |
| 19 | + |
| 20 | +Development happens in the [HydePHP/Develop](https://github.com/hydephp/develop) monorepo, where changes are automatically split into separate read-only repositories for each component. |
| 21 | + |
| 22 | +## How to Contribute |
| 23 | + |
| 24 | +### Before You Start |
| 25 | + |
| 26 | +1. **Find an issue or create one** - Check if the change you want to make has been discussed |
| 27 | +2. **Check existing PRs** - Make sure someone isn't already working on it |
| 28 | + |
| 29 | +### Development Process |
| 30 | + |
| 31 | +1. **Fork the monorepo** - All development happens at [hydephp/develop](https://github.com/hydephp/develop) |
| 32 | +2. **Clone your fork** and run `composer install` |
| 33 | +3. **Create a branch** for your changes |
| 34 | +4. **Make your changes** in the appropriate package directory |
| 35 | +5. **Add tests** - Your patch won't be accepted without tests |
| 36 | +6. **Run the tests** - Make sure everything passes |
| 37 | +7. **Submit a pull request** to the monorepo |
| 38 | + |
| 39 | +### Coding Standards and Testing |
| 40 | + |
| 41 | +- We follow the [PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) |
| 42 | +- All code should be properly tested |
| 43 | +- We try to align with Laravel conventions where possible |
| 44 | + |
| 45 | +## Which Branch? |
| 46 | + |
| 47 | +- **Bug fixes** should be sent to the latest stable branch (currently 1.x) |
| 48 | +- **Minor features** that are fully backward compatible should go to the latest stable branch |
| 49 | +- **Major features** or breaking changes should be sent to the master branch |
| 50 | + |
| 51 | +## Project Goals |
| 52 | + |
| 53 | +When contributing, keep in mind the core goals of HydePHP: |
| 54 | + |
| 55 | +1. **Developer experience first** - Creating sites with Hyde should be a joy |
| 56 | +2. **Zero config setup** - Hyde follows convention over configuration with sensible defaults |
| 57 | +3. **Customizable when needed** - Options for customization should always be available but not required |
| 58 | + |
| 59 | +## Documentation |
| 60 | + |
| 61 | +- Document any change in behavior in your PR |
| 62 | +- Update README.md or other documentation files as needed |
| 63 | + |
| 64 | +## Pull Request Guidelines |
| 65 | + |
| 66 | +1. **One PR per feature/fix** - Keep changes focused on a single goal |
| 67 | +2. **Coherent history** - Squash intermediate commits |
| 68 | +3. **Add tests** - All PRs should include tests that prove the fix/feature works |
| 69 | +4. **Document changes** - Update relevant documentation |
| 70 | +5. **Consider release cycle** - We follow [SemVer v2.0.0](https://semver.org/) |
| 71 | + |
| 72 | +## Getting Help |
| 73 | + |
| 74 | +If you need help or have questions about contributing: |
| 75 | + |
| 76 | +- Join the community discussions on GitHub |
| 77 | +- Check the [Community Portal](https://hydephp.com/community) for more resources |
| 78 | +- Read the detailed [Contributing Guide](https://github.com/hydephp/develop/blob/master/CONTRIBUTING.md) in the monorepo |
| 79 | + |
| 80 | +## Code of Conduct |
| 81 | + |
| 82 | +Please note that this project adheres to a Code of Conduct. By participating, you are expected to uphold this code. The full Code of Conduct can be found in the HydePHP community health files. |
| 83 | + |
| 84 | +--- |
| 85 | + |
| 86 | +**Thank you for contributing to HydePHP!** |
0 commit comments