Skip to main content
Welcome to the Prism Launcher development community! This guide will help you get started with contributing to the project.

Prerequisites

Before you begin contributing, make sure you have:
  • A GitHub account
  • Git installed on your system
  • CMake 3.22 or higher
  • Qt 6.4 or higher
  • A C++ compiler with C++20 support
  • Basic knowledge of C++ and Qt

Repository Setup

1

Fork and Clone

Fork the PrismLauncher repository on GitHub, then clone your fork:
git clone https://github.com/YOUR_USERNAME/PrismLauncher.git
cd PrismLauncher
2

Update Submodules

Initialize and update the git submodules:
git submodule update --init --force
3

Install Dependencies

Install the required dependencies for your platform. See the building guide for platform-specific instructions.
4

Configure and Build

Create a build directory and configure the project:
mkdir build
cd build
cmake ..
cmake --build .

Development Environment Setup

If you’re using Nix, the project provides a development shell:
nix develop
This will automatically set up all dependencies and configure the build environment. The shell hook will:
  • Update git submodules
  • Run CMake configuration with Ninja
  • Create a compile_commands.json symlink for LSP support
To build after entering the shell:
cd "$cmakeBuildDir"
ninjaBuildPhase
ninjaInstallPhase

Making Your First Contribution

1

Find an Issue

Browse the issue tracker to find something to work on. Issues labeled good first issue are great for beginners.
2

Create a Branch

Create a new branch for your work:
git checkout -b feature/my-awesome-feature
3

Make Changes

Make your changes following the code style guidelines and ensure you run clang-format on modified files.
4

Test Your Changes

Build and test your changes locally:
cd build
cmake --build .
ctest  # Run tests if applicable
5

Sign Your Commits

All commits must be signed off to certify the Developer Certificate of Origin:
git commit -s -m "Your commit message"
The -s flag adds a Signed-off-by line to your commit message.
6

Push and Create PR

Push your changes and create a pull request:
git push origin feature/my-awesome-feature
Then visit GitHub to create a pull request from your branch.
Remember to read our AI usage policy if you’re using AI tools to assist with your contribution.

Community Support

Need help? Join our community spaces:

Development Builds

Development builds are available through:
Development builds may contain bugs and instabilities. They include debug information, making file sizes larger.

Translations

Interested in translating? Visit our Weblate project and check out the Translations repository for more information.

Next Steps