Skip to content

Latest commit

 

History

History
164 lines (117 loc) · 4.15 KB

File metadata and controls

164 lines (117 loc) · 4.15 KB

Contributing to Basebound

Thank you for your interest in contributing to Basebound! We welcome contributions from the community and appreciate your help in making this project better.

Code of Conduct

Be respectful, inclusive, and professional in all interactions. We're building a welcoming community for all contributors.

Getting Started

👉 New contributor? Start with Setup & Getting Started first!

  • Prerequisites and project setup
  • Development workflow and hot-reload
  • Troubleshooting common issues

Development Workflow

Branch Naming

Create branches with descriptive names:

  • feature/base-building-ui - New features
  • fix/economy-calculation - Bug fixes
  • refactor/contract-system - Code refactoring
  • docs/networking-guide - Documentation

Code Standards

👉 See Code Standards for detailed guidelines on:

  • Naming conventions (classes, methods, properties, fields)
  • Component pattern and best practices
  • Networking patterns and RPC usage
  • Error handling and performance
  • Documentation standards

Commit Messages

Write clear, descriptive commit messages:

feature: Add economy system tax calculation

- Implemented progressive tax system
- Added configurable tax rates per bracket
- Updated networking to broadcast tax changes

Format: <type>: <subject>

Types:

  • feature - New functionality
  • fix - Bug fix
  • refactor - Code restructuring
  • docs - Documentation
  • test - Tests or testing infrastructure

Pull Request Process

  1. Create a feature branch

    git checkout -b feature/your-feature-name
  2. Make your changes

    • Follow code standards above
    • Test thoroughly in S&box
    • Keep commits logical and atomic
  3. Push and create PR

    git push origin feature/your-feature-name
    • Title: Clear, descriptive title
    • Description: Explain what and why
    • Link related issues: Closes #123
  4. PR Template

    ## Description
    Brief explanation of changes
    
    ## Type of Change
    - [ ] New feature
    - [ ] Bug fix
    - [ ] Breaking change
    - [ ] Documentation
    
    ## Testing
    How to test these changes
    
    ## Checklist
    - [ ] Code follows style guidelines
    - [ ] Self-review completed
    - [ ] Comments added for complex logic
    - [ ] Documentation updated
    - [ ] Tested in S&box
  5. Review and merge

    • Address feedback from reviewers
    • Keep discussion professional and constructive

Areas to Contribute

High Priority

  • Base building system enhancements
  • Economy balance improvements
  • Raid system refinements
  • Performance optimizations

Good for Beginners

  • Documentation improvements
  • Bug fixes in existing systems
  • UI/UX polish
  • Configuration options

Community Requested

Check GitHub Issues for community-requested features and report bugs.

Testing

Manual Testing

  1. Load minimal.scene - Basic gameplay test
  2. Test multiplayer - Use S&box play options
  3. Test hot-reload - Verify changes compile and apply
  4. Test networking - Verify RPC calls work correctly

Reporting Bugs

Include:

  • Reproduction steps
  • Expected behavior
  • Actual behavior
  • S&box version and .NET version
  • Relevant code or logs

Documentation

When adding features or making significant changes, update relevant documentation:

Questions?

License

By contributing, you agree that your contributions will be licensed under the same MIT License that covers the project.


Thank you for contributing to Basebound! 🎮