Skip to main content

Prerequisites

Before you begin, ensure you have the following installed on your system:

Install Go

Install Go version 1.23.4 or higher
Verify installation:

Install Git

Required for version control and building from source

Install Make

Required for running build commands
For other package managers or installation methods, please refer to the official documentation:

Building from Source

The binary will be created in the build/ directory with version information from git tags

Development Commands

Build Commands

PGO (Profile-Guided Optimization)

GUI Commands

Testing Commands

Quality Tools

Run make help to see all available commands and their descriptions

Contributing

Thanks for taking interest in contributing! We welcome anyone who wants to contribute. If you have an idea for a bigger feature or a change, please discuss it first by opening an issue or joining our Discord.You can contribute to either:

Ways to Contribute

  • New features and improvements
  • Bug fixes and reports
  • Documentation updates
  • Community support

Getting Started

  1. Fork the mkbrr repository
  2. Clone your fork: git clone github.com/YOURNAME/mkbrr
  3. Create a feature branch: git checkout -b feat/your-feature
  4. Make your changes following our guidelines

Submit Changes

  • Reference related issues
  • Mark as Draft if work in progress
  • Keep changes focused and atomic
  • Be responsive to review feedback

Commit Guidelines

We follow Conventional Commit Guidelines:
  • feat(core): add new torrent validation
  • fix(filter): correct pattern matching
  • docs(api): update endpoint documentation
No need for force pushing or rebasing - we squash commits on merge.

Code Style

  • Try to follow Go best practices and idioms
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Keep functions focused and concise
  • Run go fmt or gofumpt before committing

License

mkbrr is licensed under the GNU General Public License v2.0. See the LICENSE file for full details.