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/settler
repository on GitHub and clone your fork locally. - Clone Bento: Clone the
chef/bento
repository into the same parent directory as yoursettler
fork. - Link Repositories: Run the
./bin/link-to-bento.sh
or./bin/link-to-bento.ps1
script 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.sh
and/orarm.sh
. - Build and Test: Run a
packer build
from thebento
directory to build a new box with your changes. Once the build is complete, add the generated.box
file 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
master
branch of thelaravel/settler
repository. - 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!