Contributing to OpenGRC

Thank you for your interest in contributing to OpenGRC! This project is open-source and welcomes contributions from the community.

Ways to Contribute

Report Bugs

If you find a bug, please open an issue on GitHub with: - A clear description of the problem - Steps to reproduce the issue - Expected vs actual behavior - Your environment details (PHP version, database, browser, etc.)

Suggest Features

Have an idea for a new feature? Open an issue on GitHub and describe: - The problem you're trying to solve - Your proposed solution - Any alternatives you've considered

Submit Code

Pull requests are welcome for bug fixes, features, and improvements.

Getting Started

  1. Fork the repository
  2. Clone your fork locally
  3. Create a branch for your changes (git checkout -b feature/your-feature-name)
  4. Make your changes
  5. Test your changes thoroughly
  6. Commit with clear, descriptive messages
  7. Push to your fork
  8. Open a pull request against the main branch

Code Guidelines

  • Follow existing code style and conventions
  • Write clear commit messages
  • Include tests for new functionality where applicable
  • Update documentation if your changes affect user-facing features

Improve Documentation

Documentation improvements are always appreciated. You can contribute to the docs at the OpenGRC Documentation Repository.

Code of Conduct

The OpenGRC code of conduct is derived from the Laravel and Ruby codes of conduct. Any violations may be reported to Lee Mangold ([email protected]):

  • Participants will be tolerant of opposing views.
  • Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
  • When interpreting the words and actions of others, participants should always assume good intentions.
  • Behavior that can be reasonably considered harassment will not be tolerated.

Security Vulnerabilities

If you discover a security vulnerability, please report it privately to [email protected] rather than opening a public issue.

Questions?

If you have questions about contributing, feel free to open a discussion on GitHub or reach out to the maintainers.