Contribute Code

Write a Plugin

One of the best ways to contribute a larger piece of code, adding extra functionality to IntelliJ IDEA, is by writing a plugin. You can submit a plugin to the IntelliJ IDEA Plugin Marketplace, making it available for all IntelliJ IDEA users. When writing a plugin, you have control over the code and don’t need to sign the contribution agreement. For more information about writing plugins, visit the plugin development documentation.

Submit a Patch

If you would like to improve the code in the IntelliJ Platform or the core functionality of IntelliJ IDEA, you can submit a patch in IntelliJ’s YouTrack bug database. You can either file a new issue with the patch attached, or attach a patch to an issue submitted by another user. When writing a patch, please make sure to follow the IntelliJ Coding Guidelines.

Alternatively, you can fork the IntelliJ IDEA repository on GitHub and build IntelliJ IDEA Community Edition. Make the changes in your fork and send us a pull request. A developer will review your patch and, if it meets the quality criteria and fits well with the rest of the code, you’ll be notified about the acceptance of the patch. You will also need to sign the contribution agreement in order to complete your contribution.

Become a Commiter

Developers with a long history of submitting high-quality patches can gain direct commit rights.

File a Bug Report

Bug reports take little time to file and are very helpful to developers. This is one of the easiest contributions you can make. When you discover a problem with the IDE or the platform, please report it. Make sure you provide information about your environment (OS, JDK version), steps to reproduce the issue, as well as a written description of the problem. You can file a bug in our YouTrack issue tracker. Before submitting an issue, please search for already submitted ones describing the same problem — and if you find one, feel free to vote for it.

Help Us Triage Existing Bug Reports

Over the years, users have submitted thousands of issues to the IntelliJ issue tracker. Many of the unresolved issues are no longer applicable to the latest version of IntelliJ IDEA, are duplicates, or require additional information to be resolved. Leaving comments notifying about the status of such issues helps the team keep the issue tracker clean and useful for everyone.

Participate in the Community

Join Discussion Forum

The discussion forum is an excellent source for users and contributors interested in having technical discussions, answering questions, or resolving potential issues for newcomers.

Link to this page

The success of any open source project depends on the number of people who use the product and contribute back to the project. By linking to this page, you can increase the chances of a new user or contributor finding out about the project and joining the community. If you’re as excited about IntelliJ IDEA Community Edition as we are, you can show it by linking to us. Project logos and other assets are also available.

Promote IntelliJ Platform and IntelliJ IDEA Community Edition

Help promote the platform and IDE by using your blog, Twitter, Facebook, or submitting an article to your favorite local magazine. If you are a member of a different open source community, why not mention IntelliJ IDEA on their discussion forums or at conferences? If you love IntelliJ IDEA, don’t hold back - speak up! The more developers use IntelliJ IDEA, the more bugs will be caught, the more plugins will be written, the more visible the project, and the more benefits the community will get!

Help Others Learn

Write Documents

We’re always looking for new articles about IntelliJ IDEA features as well as documentation for the IntelliJ Platform. You can write tutorials, how-tos, sample applications, or just share your experience with the IntelliJ Platform. You can publish your documentation on an website or blog, or submit a pull request to the SDK Docs.

Produce Screencasts

Screencasts have recently become very popular as a way to show other developers how to use the tool effectively. You can record a screencast about a particular feature or use case you discovered and would like to share it with the community.