MDN GitHub repositories
MDN Web Docs is a complex project with lots of moving parts. It's a good idea to get familiar with the different code repositories. This document describes the repositories (repos) you may need when contributing to MDN Web Docs.
Main repositories
- content
-
This is where all the English content of the site is maintained, and where you'll make all changes to page content, prose, and in-page code examples.
- rari
-
This is the backend part of the MDN Web Docs platform, where you'll go if you want to make changes to page structures and rendering machinery.
- yari
-
This is the frontend part of the MDN Web Docs platform, where you'll find styles, design, and layout functionality.
- browser-compat-data
-
Data used to generate the browser compatibility tables found on our reference pages. If you have information about browser compatibility of Web features — or are willing and able to do some research and/or experimentation — you can help update MDN's Browser Compatibility Data
- translated-content
-
This is where localized content lives. Go here if you want to help translate pages into any of our actively maintained locales.
- interactive-examples
-
The example code at the top of many of our reference pages (the code inside the "Try it" section).
Infrastructure
- bob
-
The rendering system that produces the editable, copyable examples found at the top of many of our reference pages. This project builds the examples from the source code stored in the
interactive-examples
repository. - rumba
-
MDN's back-end system that mainly powers MDN Plus.
- workflows
-
A collection of reusable GitHub Actions for use on MDN Web Docs repositories.
Planning and coordination
These are repository used for project planning, documenting the project itself, and community projects.
- mdn/mdn
-
Project proposals and planning issues are maintained here.
- mdn-community
-
This repository hosts GitHub Discussions when writers and contributors need to decide how to proceed with writing or technical decisions.
Code examples
These generally contain standalone code examples that are too big or cannot be rendered using the EmbedLiveSample
macro.
Note: If you are updating the code on any given page, check if it's referenced in a corresponding example repo and, if so, make sure you've updated the example repo as well.