Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Contributing to pokeemerald-expansion

First off, thanks for helping improve pokeemerald-expansion! ❤️

All contributions are encouraged and valued. Please make sure to read the relevant section before making your contribution! It will make it a lot easier for you and the maintainers. We're excited to see your contributions. 🎉

Bug Reports

We use GitHub issues to track bugs.

What should I do before making a bug report?

  • Does your bug occur on the latest unmodified (clean) version of the upcoming or master branch? If not, please do not submit a report - the issue is most likely one introduced by your game.
  • Has somebody else already found this issue? This is best done by searching the bug tracker to see if anybody else reported it. If there is already an issue, replying to the exsting issue with more information can help solve the problem.

How do I submit a bug report?

If you run into an issue with the project, open an issue.

The best bug reports have enough information that we won't have to contact you for more information. We welcome all efforts to improve pokeemerald-expansion, but would be very grateful if you completed as much of the checklist as possible in your bug report. This will help other contributiors fix your issue.

What happens after I submit a bug report?

  • A maintainer will label the bug report.
  • A maintainer will try to reproduce the bug with your provided steps.
    • If there are no reproduction steps or no obvious way to reproduce the issue, somebody will ask you for those steps. Until the bug can be reproduced, the bug will retain the bug:unconfirmed label. Unconfirmed bugs are less likely get fixed.
  • If the team is able to reproduce the bug, it will be labeled bug:confirmed, and the bug will be left to be fixed by someone.
    • If the issue is particularly game-breaking, a maintainer will add it to a future version's milestone, meaning that version will not be released until the problem is solved.

Feature Requests

This section guides you through submitting a feature request for pokeemerald-expansion, including completely new features and minor improvements to existing functionality. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.

  • We use GitHub issues to track feature requests.

What should I do before making a feature request?

What should I do before making a feature request?

  • Read the documentation to find out if the functionality is already covered, maybe by an individual configuration.
  • Perform a search to see if the feature has already been requested. If it has, add a comment to the existing issue instead of opening a new one.

How do I submit a feature request?

To request a feature to be added to the project, open a feature request.

What happens after I submit a feature request?

  • A maintainer will label the issue.
  • If the feature request is out of scope, it will be closed.
  • if the request is in scope, any other contributor can volunteer to fufill it via a pull request. When the request is filled, the request will be closed.

Pull Requests

If you have read all of this and still need help, feel free to start a thread in #pr-discussions of the Discord server or ask questions in #expansion-dev.

What should I do before starting a pull request?

How do I submit a pull request?

1. Get a working local copy

If you haven't already, follow INSTALL.md to get a working local copy of pokeemerald-expansion.

2. Set RHH as a remote

This will designate the main pokeemerald-expansion repository as a remote.

git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion # You can replace RHH with anything you want. This tutorial assumes you used RHH.

3. Create a new branch

This will create a new branch and switch to it.

git switch -c newFeature # the name newFeature can be anything you want. This tutorial assumes you used newFeature.

4. Copy your target branch to your new branch

This will change your new branch to match the latest version of your chosen target branch.

git reset --hard upcoming # If your PR is going to target master, replace upcoming with master.

5. Implement your code

All of your work should go on this new, clean branch. If you already started work on a different branch, you can cherry-pick you old commits onto this new branch, or just copy and paste the changes from the original files.

If you are implementing functionality from a known community feature branch, it is strongly recommended that you open a discussion thread before starting. There are some situations where maintainers would ask you to use the existing feature branch as a base, and others where maintainers would want a feature to be written from scratch.

This changes on a case by case basis.

6. Push your changes

When you push your first commit, you'll need to push the new branch to the remote repo.

git push --set-upstream origin newFeature

7. Open Pull Request

Once your work is complete and pushed to the branch on Github, you can open a pull request from your branch, targeting the branch you've chosen from pokeemerald-expansion. Please fill out the pull request description as completely as possible.

What happens after I submit a pull request?

A maintainer will then assign themselves as a reviewer of your pull request, and may provide feedback in the form of a PR review.

Contributors are responsible for responding to and updating their branch by addressing the feedback in the review. Contributors are also responsible for making sure the branch passes the checklist at all times.

Once a maintainer has begun reviewing your PR, please do not force-push new changes - normal pushes are fine. Do not worry about git history - we squash most incoming changes.

Maintainers will measure the submitted pull request against a merge checklist.

Once all items on the merge checklist are true, the branch will be merged in.

Maintainers

This list was last updated 2025 April 1.

NameDiscordCurrently ActiveAreas of Expertise
AlexrainonlineBattle Engine, Battle AI
Eggegg9255Battle Engine, Battle AI
ghoulslashghoulslashDexnav, Overworld, Battle Engine
JasperbassoonianBerries, Day / Night System, Followers, Feature Branches
MGriffinmgriffinTests, Trainer Control
psfpkmnsnfrnRematches, Difficulty, Trainer Slides, Fake RTC, Fishing Minigames, Imperial / Metric, OW Item Balls, Sky Battles
HedarahedaraCompression, Sprites
PawkkiepawkkieBattle AI
SBirdkarathanDynamic Multichoice, Damage Calculation, Animations, Trainer Control, Tests
AgustinagustingdlvInactiveGimmicks, Battle Engine, Tests, Items
tertutertuInactiveRandomizer

Attribution

This guide is based on the contributing.md!