Skip to content

Contributing

We welcome contributions to any Gamma project!

How to Contribute

Reporting Issues

Found a bug or have a feature request?

  1. Check if an issue already exists in the relevant repository
  2. If not, open a new issue with:
  3. Clear description of the problem or feature
  4. Steps to reproduce (for bugs)
  5. Expected vs actual behavior
  6. Go version and OS

Submitting Changes

  1. Fork the repository
  2. Create a branch for your changes
  3. Make your changes following the project's code style
  4. Add tests for new functionality
  5. Run tests with go test -race ./...
  6. Submit a pull request

Pull Request Guidelines

  • Keep PRs focused on a single change
  • Write clear commit messages
  • Update documentation if needed
  • Ensure all tests pass
  • Add yourself to CONTRIBUTORS if this is your first contribution

Development Setup

# Clone the repository
git clone https://github.com/go-gamma/<project>
cd <project>

# Download dependencies
go mod download

# Run tests
go test -race ./...

# Run linter (if available)
golangci-lint run

Code Style

  • Follow standard Go conventions
  • Run go fmt before committing
  • Use meaningful variable and function names
  • Write clear GoDoc comments for public APIs
  • Keep functions focused and testable

Questions?

  • Open a GitHub Discussion for questions
  • Tag maintainers if you need guidance on a contribution

Thank you for contributing to Gamma!