Skip to content
🧅 Use Tor Browser for greater anonymity.

Contributing to OCRG Projects#

Thank you for your interest in contributing to the Ozark Cybersecurity Research Group! This guide will help you get started with contributing to our projects.

Code of Conduct#

We expect all contributors to adhere to our Code of Conduct, which promotes a respectful and inclusive community. In summary:

  • Be respectful and inclusive toward others
  • Provide constructive feedback
  • Accept constructive criticism gracefully
  • Focus on what's best for the community
  • Show empathy towards other community members

How to Contribute#

There are many ways to contribute to OCRG projects. Before creating any issue or pull request, please review our issue guidelines and labels below.

Creating Issues#

All issues (bugs, enhancements, questions) should follow our standard format and labeling system.

Issue Labels#

We use labels to categorize and prioritize issues. When creating an issue, consider these common labels:

Category Label Description
Type ⚠️ bug Something isn't working
enhancement New feature or request
documentation Improvements or additions to documentation
question Further information is requested
process For improving development or project management workflows
Priority 🔥 priority: high Critical issues needing immediate attention
⚠️ priority: medium Standard priority for most issues
priority: low Less urgent issues, can be handled when time allows
Status status: needs-triage New issues that need review and labeling
status: in-progress Actively being worked on
status: needs-review Completed work (usually a PR) is ready for review
status: backlog This issue will be saved for later
Area area: github-pages This issue relates to the OCRG GitHub Pages site
Special ✅ good first issue Good for newcomers
help wanted Extra attention is needed
dependencies Pull requests that update a dependency file
markdown/html Pull requests that update markdown

Issue Template#

When creating any issue, use this template as a starting point:

# Issue Title
Clear, concise title that describes the problem or request

## Description
Detailed information about the issue:

### For Bugs
- Steps to reproduce:
  1. Step one
  2. Step two
  3. Step three
- Expected behavior: What should happen
- Actual behavior: What actually happens
- Environment details:
  - OS: [e.g., Windows 10, macOS 13.0]
  - Browser: [e.g., Chrome 120.0]
  - Version: [e.g., v1.2.3]

### For Enhancements
- Problem: What problem does this solve?
- Solution: How would you solve it?
- Benefits: Why would this be useful?

### Additional Information
- Screenshots: [if applicable]
- Error messages: [if applicable]
- Related issues: [if any]

Types of Issues#

Bug Reports#

If you find a bug in any of our projects:

  1. Check if the bug has already been reported in the project's issue tracker
  2. If not, create a new issue using our template
  3. Be sure to include:
  4. Clear steps to reproduce
  5. Expected vs actual behavior
  6. Environment details
  7. Any relevant screenshots or error messages
  8. Add the ⚠️ bug label and appropriate priority/status labels

Enhancement Suggestions#

Have an idea for improving our projects?

  1. Check if the enhancement has already been suggested
  2. Create a new issue using our template
  3. Focus on:
  4. The problem you're trying to solve
  5. Your proposed solution
  6. Benefits to users
  7. Add the enhancement label and appropriate priority/status labels

Code Contributions#

We welcome code contributions through pull requests:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Write your code, following our Development Best Practices.
  4. Add or update tests as needed.
  5. Ensure your code passes all tests.
  6. Submit a pull request with a clear description of the changes.

Documentation Improvements#

Documentation improvements are always appreciated:

  1. Fork the repository.
  2. Create a new branch for your documentation changes.
  3. Make your changes, ensuring clarity and accuracy.
  4. Submit a pull request with a description of the improvements.

Reviewing Pull Requests#

Helping review others' contributions is a valuable way to contribute:

  1. Read the pull request description and understand the purpose of the changes.
  2. Check out the code and test it locally if possible.
  3. Provide constructive feedback and suggestions.
  4. Approve the pull request if it meets the project's standards.

Getting Started with Development#

Before contributing code, please:

  1. Set up your development environment following our Getting Started Guide.
  2. Familiarize yourself with our Development Best Practices.
  3. Look for issues labeled "good first issue" if you're new to the project.

Pull Request Process#

  1. Fork & Branch: Fork the repository and create a branch for your changes.
  2. Make Changes: Implement your changes, following our coding standards.
  3. Test: Ensure all tests pass and add new tests if needed.
  4. Document: Update documentation to reflect your changes.
  5. Submit PR: Create a pull request with a clear description.
  6. Review: Address any feedback from code reviews.
  7. Merge: Once approved, your PR will be merged.

Style Guides#

Git Commit Messages#

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests after the first line

Python Style Guide#

JavaScript Style Guide#

Recognition#

Contributors are recognized in several ways:

  • Listed in the project's contributors section
  • Mentioned in release notes for significant contributions
  • Potential invitation to become a project maintainer after sustained contributions

Questions?#

If you have any questions about contributing, please:

  • Ask in our Discord server
  • Open an issue with your question
  • Contact us through our Contact page Thank you for contributing to OCRG projects!