Thank you for your interest in contributing to MatchCoreArena Client! This document provides guidelines and information for contributors.
- Code of Conduct
- Getting Started
- Development Workflow
- Code Style
- Testing
- Pull Request Process
- Reporting Issues
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
- Go 1.25+
- Node.js 18+
- Wails CLI (
go install github.com/wailsapp/wails/v2/cmd/wails@latest)
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/MatchCoreArena-Client.git cd MatchCoreArena-Client - Install dependencies:
make install
- Create a branch for your feature:
git checkout -b feature/your-feature-name
-
Start development server:
make dev
-
Make your changes:
- Follow the code style guidelines
- Write tests for new functionality
- Update documentation as needed
-
Test your changes:
make test make check -
Commit your changes:
git add . git commit -m "feat: add your feature description"
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request
- Follow standard Go conventions
- Use
gofmtfor formatting - Run
go vetfor static analysis - Write meaningful comments for exported functions
- Use TypeScript for all new code
- Follow React best practices
- Use functional components with hooks
- Follow the existing component structure
We follow Conventional Commits:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Types:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the coderefactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Changes to the build process or auxiliary tools
# Run all tests
make test
# Run specific test
go test ./path/to/package -run TestFunctionName# Type checking
make typecheck
# Linting
make lint- Update documentation if needed
- Add tests for new functionality
- Ensure all tests pass:
make check
- Update the CHANGELOG.md with your changes
- Request review from maintainers
- Keep PRs focused on a single feature or fix
- Provide a clear description of the problem and solution
- Include screenshots for UI changes
- Reference related issues
When reporting bugs, please include:
- Description: Clear and concise description of the bug
- Steps to Reproduce: Step-by-step instructions to reproduce the behavior
- Expected Behavior: What you expected to happen
- Actual Behavior: What actually happened
- Environment:
- OS: [e.g., Windows 10, macOS 12, Ubuntu 22.04]
- Go version: [e.g., 1.25]
- Node.js version: [e.g., 18]
- Screenshots: If applicable
When suggesting features:
- Description: Clear description of the feature
- Use Case: Why this feature would be useful
- Proposed Solution: If you have one
- Alternatives: Any alternative solutions you've considered
- Check the USAGE.md for common usage patterns
- Review existing issues and pull requests
- Join our community discussions
By contributing, you agree that your contributions will be licensed under the AGPL-3.0 License.
Thank you for contributing to MatchCoreArena Client!