Skip to content

Latest commit

 

History

History
470 lines (338 loc) · 11.3 KB

File metadata and controls

470 lines (338 loc) · 11.3 KB

Contributing to Fused Gaming

Thank you for your interest in contributing to Fused Gaming! 🎮 We're excited to have you join our gaming community and help build amazing projects together.

This guide will help you get started with contributing to our organization.


Table of Contents


Code of Conduct

By participating in this project, you agree to maintain a respectful, inclusive, and collaborative environment. We expect:

  • Respectful communication: Be kind and professional
  • Inclusive behavior: Welcome diverse perspectives
  • Constructive feedback: Focus on improvement, not criticism
  • Collaborative spirit: Work together toward common goals
  • Zero tolerance: For harassment, discrimination, or abuse

Report violations to the core team via our security contact.


Getting Started

1. Explore the Organization

  • Review our README to understand our mission
  • Read the GOVERNANCE to understand how we operate
  • Check out GOALS.md to see our strategic objectives
  • Browse existing projects and repositories

2. Join the Community

3. Find Something to Work On

  • Look for issues labeled good first issue
  • Check the project board for open items
  • Review open proposals in GitHub Discussions
  • Propose your own ideas!

How to Contribute

Types of Contributions

We welcome many types of contributions:

Code Contributions

  • Bug fixes
  • New features
  • Performance improvements
  • Refactoring
  • Tests

Non-Code Contributions

  • Documentation improvements
  • Bug reports
  • Feature requests
  • Design mockups
  • Community support
  • Testing and QA
  • Translation

Strategic Contributions

  • Goal proposals
  • Project proposals
  • Governance improvements
  • Process optimization

Development Workflow

Setting Up Your Environment

  1. Fork the repository you want to contribute to
  2. Clone your fork locally:
    git clone https://github.com/YOUR-USERNAME/REPO-NAME.git
    cd REPO-NAME
  3. Add upstream remote:
    git remote add upstream https://github.com/Fused-Gaming/REPO-NAME.git
  4. Install dependencies (varies by project):
    # For Node.js projects
    npm install
    
    # For Python projects
    pip install -r requirements.txt

Making Changes

  1. Create a branch from main:

    git checkout -b feature/your-feature-name

    Branch naming conventions:

    • feature/ - New features
    • fix/ - Bug fixes
    • docs/ - Documentation
    • refactor/ - Code refactoring
    • test/ - Test additions/changes
  2. Make your changes:

    • Follow the project's code style
    • Write clear, concise code
    • Add comments where helpful
    • Include tests if applicable
  3. Test your changes:

    # Run tests (varies by project)
    npm test
    # or
    pytest
  4. Commit your changes:

    git add .
    git commit -m "Clear description of changes"

    Commit message guidelines:

    • Use present tense: "Add feature" not "Added feature"
    • Be specific: "Fix login validation bug" not "Fix bug"
    • Reference issues: "Fixes #123" or "Relates to #456"
    • Keep first line under 72 characters
    • Add details in subsequent lines if needed
  5. Keep your branch updated:

    git fetch upstream
    git rebase upstream/main
  6. Push to your fork:

    git push origin feature/your-feature-name

Pull Request Process

Before Opening a PR

  • Code follows project style guidelines
  • Tests pass locally
  • New tests added for new features
  • Documentation updated if needed
  • Commit messages are clear
  • Branch is up to date with main

Opening a PR

  1. Navigate to the original repository
  2. Click "New Pull Request"
  3. Select your fork and branch
  4. Fill out the PR template completely
  5. Link related issues
  6. Request review from maintainers

PR Template Requirements

  • Clear description of changes
  • Type of change (bug fix, feature, etc.)
  • Related issues
  • Testing performed
  • Screenshots (if UI changes)
  • Checklist completed

Review Process

  1. Automated checks run (tests, linting, security)
  2. Maintainer review within 3-5 days
  3. Address feedback from reviewers
  4. Re-request review after changes
  5. Merge when approved

After Merge

  • Delete your branch
  • Update local main branch
  • Celebrate! 🎉

Issue Guidelines

Creating Issues

Use the appropriate issue template:

  • Bug Report: Report bugs or unexpected behavior
  • Feature Request: Suggest new features
  • Goal Proposal: Propose strategic goals
  • Project Proposal: Propose new projects
  • Governance Proposal: Suggest governance changes

Good Issue Characteristics

  • Clear title: Summarizes the issue
  • Detailed description: Provides context
  • Reproduction steps: For bugs
  • Expected vs actual: What should happen vs what happens
  • Environment details: OS, versions, etc.
  • Screenshots/logs: Visual proof or error messages

Issue Lifecycle

  1. Created: Issue opened with template
  2. Triage: Core team reviews and labels
  3. Planned: Accepted and scheduled
  4. In Progress: Someone is working on it
  5. Review: PR is open and under review
  6. Done: Merged and closed

Code Style Guidelines

General Principles

  • Clarity over cleverness: Write code that's easy to understand
  • Consistency: Follow existing patterns
  • DRY: Don't Repeat Yourself (but don't over-abstract)
  • KISS: Keep It Simple
  • Comments: Explain why, not what

Language-Specific

JavaScript/TypeScript

  • Use modern ES6+ syntax
  • Prefer const/let over var
  • Use meaningful variable names
  • Follow existing linting rules (ESLint)

Python

  • Follow PEP 8 style guide
  • Use type hints where helpful
  • Docstrings for functions/classes
  • Follow existing linting rules (flake8, black)

Other Languages

  • Check project-specific CONTRIBUTING.md
  • Follow established patterns
  • Ask maintainers if unsure

Testing Guidelines

Writing Tests

  • Unit tests: Test individual functions/components
  • Integration tests: Test component interactions
  • End-to-end tests: Test complete user flows
  • Coverage: Aim for 80%+ on new code

Running Tests

# JavaScript/TypeScript
npm test
npm run test:coverage

# Python
pytest
pytest --cov

# See project README for specific commands

Documentation

What to Document

  • Code: Comments for complex logic
  • Functions: Purpose, parameters, return values
  • APIs: Endpoints, request/response formats
  • Setup: Installation and configuration
  • Usage: How to use the feature/project

Documentation Style

  • Clear and concise
  • Include examples
  • Keep up to date
  • Use proper markdown formatting

Community

Communication Channels

  • GitHub Issues: Project-specific discussions
  • GitHub Discussions: Broad topics, Q&A, ideas
  • Telegram: Real-time chat, community support
  • Twitter: Announcements, updates
  • LinkedIn: Professional updates

Getting Help

  • Search existing issues and discussions first
  • Ask in Telegram for quick questions
  • Open GitHub Discussion for broader topics
  • Tag maintainers for specific project questions

Helping Others

  • Answer questions in discussions
  • Review pull requests
  • Help triage issues
  • Share knowledge and experiences

Recognition

We value all contributions and recognize contributors through:

Contribution Types

  • Code: Merged PRs count toward contributor status
  • Review: Helpful code reviews appreciated
  • Community: Active support and engagement
  • Documentation: Improving docs and guides
  • Ideas: Valuable proposals and suggestions

Levels of Recognition

  1. Contributor: Anyone who submits a PR or issue
  2. Regular Contributor: 5+ merged PRs or significant contributions
  3. Core Contributor: Consistent high-quality contributions over time
  4. Maintainer: Trusted with repository access and decisions
  5. Core Team: Leadership and strategic responsibilities

Benefits

  • Listed in project contributors
  • Special recognition in community channels
  • Consideration for elevated permissions
  • Invitations to planning discussions
  • Fused Gaming swag (when available)

Security

Found a security vulnerability? Do not open a public issue.

Instead:

  • Review SECURITY.md
  • Report privately via security channels
  • Follow responsible disclosure

Legal

Licensing

  • All contributions are licensed under the project's license (typically MIT)
  • By contributing, you agree to license your contributions
  • You retain copyright to your contributions

Contributor License Agreement

  • No formal CLA required currently
  • Your commits constitute agreement to license terms
  • We may implement CLA in the future if needed

Original Work

  • Only contribute your own work or properly licensed code
  • Do not include proprietary code from employers
  • Respect third-party licenses

Tips for Success

For New Contributors

  • Start small: Begin with documentation or good first issues
  • Ask questions: We're here to help!
  • Be patient: Reviews take time
  • Learn from feedback: Code review helps you grow
  • Have fun: Enjoy the process!

For Experienced Contributors

  • Mentor others: Help newcomers get started
  • Review PRs: Share your expertise
  • Propose ideas: Suggest improvements
  • Lead initiatives: Take ownership of projects
  • Shape direction: Participate in governance

Resources

Documentation

Tools

Learning


Questions?

Still have questions? We're here to help!

  • General questions: GitHub Discussions
  • Quick questions: Telegram @fusedgg
  • Project-specific: Open an issue
  • Private matters: Contact core team

Thank You!

Thank you for considering contributing to Fused Gaming! Every contribution, no matter how small, helps make our gaming community better. We look forward to collaborating with you! 🎮✨

Happy coding! — The Fused Gaming Team


Last Updated: January 2026 Questions or suggestions? Open an issue or discussion!