|
7 months ago | |
---|---|---|
.. | ||
README.md | db7c92fd57 test: drop now-empty remote runner (#35343) | 2 years ago |
api-history-migration-guide.md | 4d51edc504 docs: api history (#42982) | 8 months ago |
build-instructions-gn.md | 125bd6aa2b docs: troubleshooting advice for rbe auth 'token not valid' error (#42027) | 11 months ago |
build-instructions-linux.md | 08dd38d9be docs: update build dependencies for Fedora (#35024) | 2 years ago |
build-instructions-macos.md | e15e66f229 docs: add dependencies and troubleshooting section to build-instructions (#35345) | 2 years ago |
build-instructions-windows.md | 255064659f docs: update external links (#39421) | 1 year ago |
chromium-development.md | 3180312595 chore: update https://cs.chromium.org/ links to https://source.chromium.org/ (#37190) | 2 years ago |
clang-tidy.md | 36bca3278d docs: fix typos in clang-tidy examples (#29327) | 3 years ago |
coding-style.md | 09fb892c6e docs: ensure all links are on a single line (#42235) | 10 months ago |
creating-api.md | 3d2a754531 chore: extend linting of code blocks in the docs (#40245) | 1 year ago |
debugging-on-macos.md | 771a8f70da docs: update development-related documentation (#31043) | 3 years ago |
debugging-on-windows.md | 255064659f docs: update external links (#39421) | 1 year ago |
debugging-with-symbol-server.md | c3c4173377 docs: update formatting for mdx3 compatibility (#42052) | 11 months ago |
debugging-with-xcode.md | d94f35a8f6 chore: disallow shortcut reference links in docs Markdown (#36860) | 2 years ago |
debugging.md | ea4278754c chore: fix spelling errors in multiple files (#34574) | 2 years ago |
issues.md | 255064659f docs: update external links (#39421) | 1 year ago |
patches.md | bcb7362ab9 docs: document Windows pitfall when updating patches (#43787) | 7 months ago |
pull-requests.md | 4415b7638a chore: enforce consistent Markdown style for strong and emphasis (#37787) | 2 years ago |
reclient.md | bbfe809d02 docs: add reclient docs, remove goma docs (#40948) | 1 year ago |
source-code-directory-structure.md | c006e129b3 build: remove CircleCI (#42844) | 9 months ago |
testing.md | bfa58df7c9 chore: move node headers generation to electron (#39589) | 1 year ago |
v8-development.md | ecd23bb29b docs: tidy up links (#26292) | 4 years ago |
These guides are intended for people working on the Electron project itself. For guides on Electron app development, see /docs/README.md.
In order to contribute to Electron, the first thing you'll want to do is get the code.
Electron's build-tools
automate much of the setup for compiling Electron from source with different configurations and build targets.
If you would prefer to build Electron manually, see the build instructions.
Once you've checked out and built the code, you may want to take a look around the source tree to get a better idea of what each directory is responsible for. The source code directory structure gives a good overview of the purpose of each directory.
For any issue, there are generally three ways an individual can contribute:
electron/electron
issue tracker.electron/electron
in a concrete and reviewable manner.See issues for more information.
Most pull requests opened against the electron/electron
repository include
changes to either the C/C++ code in the shell/
folder,
the TypeScript code in the lib/
folder, the documentation in docs/
,
or tests in the spec/
folder.
See pull requests for more information.
If you want to add a new API module to Electron, you'll want to look in creating API.
Electron has a fully-fledged governance system that oversees activity in Electron and whose working groups are responsible for areas like APIs, releases, and upgrades to Electron's dependencies including Chromium and Node.js. Depending on how frequently and to what end you want to contribute, you may want to consider joining a working group.
Details about each group and their responsibilities can be found in the governance repo.
Electron is built on two major upstream projects: Chromium and Node.js. Each of these projects has several of their own dependencies, too. We try our best to use these dependencies exactly as they are but sometimes we can't achieve our goals without patching those upstream dependencies to fit our use cases.
As such, we maintain a collection of patches as part of our source tree. The process for adding or altering one of these patches to Electron's source tree via a pull request can be found in patches.
There are many different approaches to debugging issues and bugs in Electron, many of which are platform specific.
For an overview of information related to debugging Electron itself (and not an app built with Electron), see debugging.