Thanks for your interest in contributing! This document outlines the development workflow and guidelines.
- Code of Conduct
- Development Workflow
- Branch Strategy
- Pull Request Process
- Coding Standards
- Testing Guidelines
- Commit Messages
- Be respectful and inclusive
- Focus on constructive feedback
- Accept responsibility and apologize if needed
- Collaborate openly
- Harassment or discrimination
- Personal attacks
- Public or private harassment
- Publishing private information
- .NET 10.0 SDK
- Node.js 20
- pnpm (for frontend)
- Git
- GitHub CLI (gh)
-
Fork and Clone
git clone https://github.com/YOUR_USERNAME/NewGMHack.git cd NewGMHack -
Install Dependencies
# Frontend cd frontend pnpm install pnpm build # .NET Projects dotnet restore dotnet build
-
Run Development
- GUI:
dotnet run --project NewGmHack.GUI/NewGmHack.GUI.csproj - Frontend dev:
cd frontend && pnpm dev
- GUI:
master (stable releases)
↑
dev (latest development)
↑
feat/* (feature branches)
fix/* (bug fixes)
refactor/* (refactoring)
docs/* (documentation)
perf/* (performance improvements)
| Branch | Purpose | Protected | CI/CD |
|---|---|---|---|
| master | Stable releases | ✅ Yes | Full |
| dev | Latest development | ✅ Yes | Build |
| feat/* | New features | ❌ No | None |
| fix/* | Bug fixes | ❌ No | None |
feat/feature-name- New featuresfix/bug-description- Bug fixesrefactor/component-name- Code refactoringdocs/documentation-topic- Documentation changesperf/performance-area- Performance improvementsci/cd-improvement- CI/CD changestest/testing-area- Test improvements
git checkout dev
git pull origin dev
git checkout -b feat/your-feature# Make your changes
git add .
git commit -m "feat: your feature description"git push origin feat/your-feature
gh pr create --base dev --title "feat: your feature"- Code compiles without errors
- CI/CD builds pass
- Tests pass (if applicable)
- Documentation updated (if needed)
- Commit messages follow conventions
- No sensitive data included
- Address review feedback
- Update branch as needed
- Merge when approved
# Delete merged branch locally
git branch -d feat/your-feature
# Delete merged branch remotely
gh repo delete --yes MVSharp/NewGMHack:feat/your-feature
# OR
git push origin --delete feat/your-feature- Follow C# naming conventions
- Use XML documentation for public APIs
- Keep methods focused and small
- Use meaningful variable names
- Add comments for complex logic
Example:
/// <summary>
/// Scans player entity and extracts position and view matrix.
/// </summary>
/// <returns>Tuple of position, view matrix, and success flag.</returns>
private (Vector3 Position, Matrix ViewMatrix, bool IsValid) ScanMySelf()
{
// Implementation
}- Use Composition API
- Follow Vue 3 style guide
- TypeScript strict mode
- Meaningful component names
- Props validation
Example:
// Use meaningful names
const { isLoading, data } = useFetchPlayerData()
// Add JSDoc for complex functions
/**
* Calculates camera-relative movement vector
* @param direction - Forward/Back/Left/Right
* @param viewMatrix - Camera view matrix
* @returns Normalized movement vector
*/
function calculateMovement(direction: Direction, viewMatrix: Matrix): Vector3 {
// Implementation
}- Always validate memory reads
- Use safe pointer traversal
- Handle exceptions appropriately
- No hardcoded memory addresses
- Test critical logic
- Mock external dependencies
- Test edge cases
- Aim for >70% coverage on core logic
- Test memory reading/writing
- Test overlay rendering
- Test IPC communication
- Test in actual game environment
- Verify feature functionality
- Check for performance issues
- Test error scenarios
<type>(<scope>): <subject>
<body>
<footer>
feat- New featurefix- Bug fixdocs- Documentation changesstyle- Code style changes (formatting)refactor- Code refactoringperf- Performance improvementstest- Adding or updating testsci- CI/CD changeschore- Maintenance tasks
Good:
feat(overlay): add player distance filtering
Display only enemies within 100m range on radar.
Improves performance and reduces clutter.
Closes #123
fix(freemove): correct coordinate transformation
Use quadrant detection for View Matrix vectors.
Fixes movement issues in camera directions 2 and 4.
Fixes #456
Bad:
update
fixed bug
stuff
feat(aimbot): add priority targeting system
- Target lowest HP enemies first
- Add distance weighting
- Configurable priority rules
Testing:
- Verified in 5 game sessions
- Performance: <5% CPU usage
- Memory: No leaks detected
Co-Authored-By: Contributor Name <email@example.com>
# Full build
.\build-release.ps1
# Individual components
cd frontend && pnpm build
dotnet build NewGmHack.GUI/NewGmHack.GUI.csproj -c Release -p:Platform=x86
dotnet build NewGMHack.Stub/NewGMHack.Stub.csproj -c Release -p:Platform=x86- Merge
dev→mastervia PR - CI/CD auto-creates version tag
- GitHub release auto-generated
- Assets packaged automatically
Manual Release (if needed):
# Tag release
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
# CI/CD will build and create release- GitHub Issues: https://github.com/MVSharp/NewGMHack/issues
- Discussions: https://github.com/MVSharp/NewGMHack/discussions
- Email: zxcnio93@gmail.com
By contributing, you agree that your contributions will be licensed under the MIT License.
Happy Coding! 🎮