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.

  1. Fork & Clone: Fork the laravel/settler repository on GitHub and clone your fork locally.
  2. Clone Bento: Clone the chef/bento repository into the same parent directory as your settler fork.
  3. 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.
  4. Make Changes: Modify the provisioning scripts in scripts/. Most changes will be made to amd64.sh and/or arm.sh.
  5. Build and Test: Run a packer build from the bento 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.

  1. Commit your changes: Use clear and descriptive commit messages.
  2. Push to your fork: Push the changes to your forked repository on GitHub.
  3. Create a Pull Request: Open a pull request from your fork to the master branch of the laravel/settler repository.
  4. 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!