Project setup
moonlight requires Node.js 22 and pnpm 10.
- Clone the repository:
git clone https://github.com/moonlight-mod/moonlight.git
- Install dependencies:
pnpm install
. - Build the project:
pnpm run build
.- For working on moonlight, a watch mode is available with
pnpm run dev
. Remember that you must restart the command in some scenarios.
- For working on moonlight, a watch mode is available with
For more information on project structure, see the dedicated page.
Contribution guidelines
- Ensure your commits pass Prettier/ESLint. This is a requirement for merge.
- moonlight uses husky to check lints on commit. This should have automatically been setup for you when running
pnpm install
.
- moonlight uses husky to check lints on commit. This should have automatically been setup for you when running
- Please make PRs to the
develop
branch instead ofmain
.develop
is merged intomain
when moonlight updates happen. Our in-progress work resides ondevelop
.
- Don’t break the existing API surface.
- Library extensions and moonlight globals cannot change in a way that breaks existing extensions (unless there is an upcoming API bump).