# Contributing to Electron

:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:

This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable
behavior to coc@electronjs.org.

The following is a set of guidelines for contributing to Electron.
These are just guidelines, not rules, use your best judgment and feel free to
propose changes to this document in a pull request.

## [Issues](https://electronjs.org/docs/development/issues)

Issues are created [here](https://github.com/electron/electron/issues/new).

* [How to Contribute in Issues](https://electronjs.org/docs/development/issues#how-to-contribute-in-issues)
* [Asking for General Help](https://electronjs.org/docs/development/issues#asking-for-general-help)
* [Submitting a Bug Report](https://electronjs.org/docs/development/issues#submitting-a-bug-report)
* [Triaging a Bug Report](https://electronjs.org/docs/development/issues#triaging-a-bug-report)
* [Resolving a Bug Report](https://electronjs.org/docs/development/issues#resolving-a-bug-report)

### Issue Maintenance and Closure
* If an issue is inactive for 45 days (no activity of any kind), it will be
marked for closure with `stale`.
* If after this label is applied, no further activity occurs in the next 7 days,
the issue will be closed.
  * If an issue has been closed and you still feel it's relevant, feel free to
  ping a maintainer or add a comment!

## [Pull Requests](https://electronjs.org/docs/development/pull-requests)

Pull Requests are the way concrete changes are made to the code, documentation,
dependencies, and tools contained in the `electron/electron` repository.

* [Setting up your local environment](https://electronjs.org/docs/development/pull-requests#setting-up-your-local-environment)
  * [Step 1: Fork](https://electronjs.org/docs/development/pull-requests#step-1-fork)
  * [Step 2: Build](https://electronjs.org/docs/development/pull-requests#step-2-build)
  * [Step 3: Branch](https://electronjs.org/docs/development/pull-requests#step-3-branch)
* [The Process of Making Changes](https://electronjs.org/docs/development/pull-requests#the-process-of-making-changes)
  * [Step 4: Code](https://electronjs.org/docs/development/pull-requests#step-4-code)
  * [Step 5: Commit](https://electronjs.org/docs/development/pull-requests#step-5-commit)
    * [Commit message guidelines](https://electronjs.org/docs/development/pull-requests#commit-message-guidelines)
  * [Step 6: Rebase](https://electronjs.org/docs/development/pull-requests#step-6-rebase)
  * [Step 7: Test](https://electronjs.org/docs/development/pull-requests#step-7-test)
  * [Step 8: Push](https://electronjs.org/docs/development/pull-requests#step-8-push)
  * [Step 8: Opening the Pull Request](https://electronjs.org/docs/development/pull-requests#step-8-opening-the-pull-request)
  * [Step 9: Discuss and Update](#step-9-discuss-and-update)
    * [Approval and Request Changes Workflow](https://electronjs.org/docs/development/pull-requests#approval-and-request-changes-workflow)
  * [Step 10: Landing](https://electronjs.org/docs/development/pull-requests#step-10-landing)
  * [Continuous Integration Testing](https://electronjs.org/docs/development/pull-requests#continuous-integration-testing)

## Style Guides

See [Coding Style](https://electronjs.org/docs/development/coding-style) for information about which standards Electron adheres to in different parts of its codebase.

