Skip to content

Contributing

Thanks for your interest in contributing to gMAS!

Ways to Contribute

  • Bug reports - Found something broken? File an issue
  • Feature requests - Have an idea? Let us know
  • Code - Fix bugs or implement features
  • Documentation - Improve docs or add examples
  • Tests - Improve test coverage
  • Review - Help with pull requests

Getting Started

  1. Fork the repository
  2. Clone your fork
  3. Install dependencies with uv sync
  4. Create a branch for your work
  5. Make your changes
  6. Submit a pull request

See Development Workflow for details.

Code Style

  • Use Ruff for formatting: uv run ruff format src/
  • Follow Google style docstrings
  • Keep lines under 120 characters
  • Type hints are required for public APIs

See Code Style for details.

Testing

  • All new features need tests
  • Run uv run pytest tests/ -v
  • Aim to maintain or improve coverage

See Testing for details.

Communication

  • Use GitHub issues for bugs and features
  • Be respectful and constructive
  • Ask questions if you're unsure

Thank you for contributing!