Welcome to the Mojo community! 馃敟 We're very excited that you're interested in contributing to the project.
The following procedures and guidelines aim to create an environment where open source contributors and the teams at Modular can work together effectively toward the continued improvement of Mojo.
-
Check the contribution areas to see whether the part of the codebase you want to improve is accepting contributions, and which kinds of change it accepts.
-
For any non-trivial change, open an issue to discuss it before you open a pull request. For a significant change to the standard library, start with the standard library proposal process instead.
-
Read our issue and PR etiquette. It sets out what we expect from you when engaging with the modular/modular repository, including our rules on AI-assisted contributions.
-
Read the Code of Conduct on GitHub.
Note
We limit new contributors to two concurrent open pull requests.
The contribution process takes you from signaling your intent on an issue through to your change shipping in a nightly.
For the mechanics of forking, branching, and opening a pull request against this repository, see the Modular contributor guide on GitHub.
- Standard library development: Set up your environment, build the library, and run tests.
- Standard library code style: Conventions for writing standard library code.
- Mojo docstring style guide: How to write API documentation in Mojo.
- Adding a new GPU target: How to
extend
std/_gpu/host/info.mojowith a new GPU architecture, covering the MLIR target configuration and thedata_layoutstring format. - Compiler contributor docs: Where to find the documentation you need to work on the compiler.
If you're reading this page on GitHub, you might find it easier to explore all contributing docs online at mojolang.org/community/contributing/.
- Our vision document describes the guiding principles behind our efforts.
- Our roadmap identifies concrete short-, medium-, and longer-term development goals.
Thank you for your contributions! 鉂わ笍