You love MapStruct but miss a certain feature? You found a bug and want to report it, or even better, fix it yourself? That’s great! MapStruct is all open source and your help is highly appreciated.

Source code
Issue tracker
DiscussionsJoin the MapStruct GitHub Discussions
CI build
This web site

MapStruct follows the Fork & Pull development approach. To get started just fork the MapStruct repository to your GitHub account and create a new topic branch for each change. Once you are done with your change, submit a pull request against the MapStruct repo.

When doing changes, keep the following best practices in mind:

  • Provide test cases
  • Update the reference documentation on where required
  • Discuss new features you’d like to implement at the GitHub Discussions before getting started
  • Create one pull request per feature
  • Provide a meaningful history, e.g. squash intermediary commits before submitting a pull request
  • Start your commit messages with “#<issue no>", e.g. “#123 Adding new mapping feature”
  • Have git automatically manage line endings as described here
  • Format your sources using the provided IntelliJ code style template. Eclipse users can import the Eclipse code formatter settings - it’s close enough, but configure the Save Actions to only format edited lines. If you use another IDE stick to the used style as much as possible.