Contributing
Contributions are welcome! If you've found a bug or have an idea for an improvement, please consider contributing to Laravel Settler. This guide will help you get started.
Development Process
The development process for Settler involves building a full Homestead box to test your changes. The setup is the same as the one described in the Building the Homestead Box guide.
- Fork & Clone: Fork the
laravel/settlerrepository on GitHub and clone your fork locally. - Clone Bento: Clone the
chef/bentorepository into the same parent directory as yoursettlerfork. - Link Repositories: Run the
./bin/link-to-bento.shor./bin/link-to-bento.ps1script from within your Settler directory to link it to the Bento templates. - Make Changes: Modify the provisioning scripts in
scripts/. Most changes will be made toamd64.shand/orarm.sh. - Build and Test: Run a
packer buildfrom thebentodirectory to build a new box with your changes. Once the build is complete, add the generated.boxfile to Vagrant and boot it to ensure your changes work as expected.
# Example of adding and testing a locally built box
vagrant box add --name my-custom-homestead /path/to/generated.box
vagrant init my-custom-homestead
vagrant up
vagrant ssh
Submitting a Pull Request
Once you are satisfied with your changes and have tested them thoroughly, you can submit a pull request.
- Commit your changes: Use clear and descriptive commit messages.
- Push to your fork: Push the changes to your forked repository on GitHub.
- Create a Pull Request: Open a pull request from your fork to the
masterbranch of thelaravel/settlerrepository. - Describe your changes: In the pull request description, clearly explain the problem you are solving and the changes you have made. If you are fixing a reported issue, be sure to reference it.
Your pull request will be reviewed by the maintainers, who may suggest changes or ask for more information. Thank you for your interest in improving Laravel Homestead!