Welcome Contributors!
Thank you for your interest in contributing to Miku Miku Beam! We welcome contributions of all kinds including new attack protocols, bug fixes, and improvements.Getting Started
Install Dependencies
Install all required dependencies for both Go and the web client:This command runs:
go mod tidyfor Go dependenciesnpm installin the web-client directory
Development Workflow
Building Components
You can build individual components or everything at once:Running Components
Cleaning Build Artifacts
Code Structure
Before making changes, familiarize yourself with the project structure to understand how components are organized.
Key Directories
cmd/- Main applications (CLI and server)internal/- Core engine and attack implementationspkg/- Shared packages and utilitiesweb-client/- React-based frontend
Types of Contributions
Bug Fixes
If you find a bug:- Check if an issue already exists
- Create a new issue if needed with reproduction steps
- Submit a PR with the fix
- Include tests if applicable
New Attack Methods
Want to add a new attack method? Check out our detailed guide:Adding New Attack Methods
Learn how to implement and register new attack methods with step-by-step instructions.
Feature Enhancements
For new features:- Open an issue to discuss the feature first
- Get feedback from maintainers
- Implement the feature
- Submit a PR with documentation updates
Documentation
Documentation improvements are always welcome:- Fix typos or unclear explanations
- Add examples and use cases
- Improve setup instructions
- Add troubleshooting guides
Coding Standards
Go Code
- Follow standard Go conventions and formatting
- Use
gofmtto format your code - Add comments for exported functions and types
- Keep functions focused and testable
React/TypeScript Code
- Use TypeScript for type safety
- Follow React best practices
- Keep components modular and reusable
- Use proper prop typing
Commit Messages
- Use clear, descriptive commit messages
- Start with a verb (Add, Fix, Update, Remove)
- Reference issue numbers when applicable
Pull Request Process
Testing
Manual Testing
For attack methods:- Test with
--verboseflag to see detailed logs - Verify proxy rotation works correctly
- Test with and without proxies (
--no-proxy) - Ensure graceful error handling
Testing Multi-client Support
For server changes:- Open multiple browser tabs
- Start different attacks simultaneously
- Verify each client has isolated state
- Check real-time stats update correctly
Prerequisites
Make sure you have these installed:Go
v1.21 or above
Node.js
v18 or above
npm
Node Package Manager
Getting Help
If you have questions or need help:- Open an issue for bugs or feature requests
- Check existing issues and discussions
- Review the documentation thoroughly
License
By contributing, you agree that your contributions will be licensed under the MIT License.Happy hacking! We look forward to your contributions!