Contributing Guidlines for Galago

We welcome contributions to Galago! This document outlines the process for contributing to our project and provides guidelines to ensure a smooth collaboration.

Getting Started

  1. Fork the repository on GitHub.
  2. Clone your fork locally: git clone https://github.com/[YourUsername]/galago-core.git
  3. Create a branch for your changes: git checkout -b your-branch-name
  4. Make your changes and commit them with clear, concise commit messages.
  5. Push your changes to your fork: git push origin your-branch-name
  6. Submit a pull request to the main repository.

Pull Request Guidelines

  • Submit pull requests against the main branch.
  • Provide a clear description of what your changes do and why they are necessary.
  • Ensure you have legal permission to distribute any code you contribute, and that it is available under the Apache 2.0 License.
  • Keep pull requests small and focused on a single issue or feature to facilitate easier review.
  • Avoid including unrelated “cosmetic” changes in your pull requests.

Testing

  • Provide tests that cover your changes.
  • Run the tests locally before submitting your pull request.
  • Ensure your changes work across all supported platforms and Python versions.

Documentation

  • Update the documentation to reflect any changes you make.
  • If you’re adding new features, include appropriate documentation.

Submitting Changes

  1. Push your changes to your fork on GitHub.
  2. Create a pull request from your fork to the main repository.
  3. In your pull request description, explain your changes and link any relevant issues.

Reporting Issues

  • Use the GitHub issue tracker to report bugs or suggest features.
  • Before submitting a new issue, please search to make sure it hasn’t already been reported.
  • Provide as much detail as possible, including steps to reproduce for bugs.

Becoming a Maintainer

If you’re interested in becoming a maintainer:

  1. Start by consistently contributing high-quality code and participating in issue discussions.
  2. Help with triaging issues and reviewing pull requests.
  3. After demonstrating commitment to the project (usually over several months), express your interest to the current maintainers.
  4. The existing maintainers will then discuss and potentially initiate a vote on your candidacy.

Questions?

If you have any questions about contributing, feel free to reach out over email!

Thank you for your interest in improving Galago!