Contributing to macpine

Thank you for your interest in contributing to macpine! We welcome contributions from everyone. This guide will help you get started.

Reporting Bugs and Suggesting Features

The best way to contribute is by providing feedback. If you've found a bug or have an idea for a new feature, please check the GitHub Issues to see if it has already been reported.

Provide as much detail as possible to help us understand and address your submission.

Setting up the Development Environment

To build macpine from source, you will need:

  • Go (version specified in go.mod, currently 1.25.3 or newer)
  • QEMU (a recent version is recommended)
  • make for running build commands

  • Clone the repository:

    git clone https://github.com/beringresearch/macpine.git
    cd macpine

  • Install dependencies:

    go mod tidy

Building and Running

The project includes a Makefile to simplify common tasks.

  • Build the binary: This compiles the alpine binary into the bin/ directory.

    make

  • Install the binary: This copies the compiled binary to /usr/local/bin. It may require sudo.

    make install

  • Format the code: Before submitting code, please ensure it is correctly formatted.

    make fmt

  • Clean the build artifacts:

    make clean

Submitting Pull Requests

  1. Fork the repository on GitHub.
  2. Create a new branch for your changes.
  3. Make your changes and commit them with clear, descriptive messages.
  4. Push your branch to your fork.
  5. Open a pull request against the main branch of the beringresearch/macpine repository.

Security

Please refer to the Security Policy for details on how to report security vulnerabilities.

License

By contributing, you agree that your contributions will be licensed under the Apache License 2.0 that covers the project.