For the complete Mojo documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /docs/manual/basics.md).
Issue and PR etiquette
We don't restrict which tools you use to prepare a contribution, but you are fully responsible for the work you submit, for the quality of that work, and for how you interact with others online. Modular's AI tool use policy applies in full.
The Mojo team emphasizes and enforces the following rules to encourage genuine discussion, understanding, and growth.
You must be present for all online interactions
- Online interactions such as issues, reviews, and pull requests are a conversation. We expect you to show up as a human and respond to comments yourself.
- The burden is on you to demonstrate that you're present and respectful.
Assume positive intent
- Information asymmetry almost always exists between people. Taking the time to understand circumstances through transparent communication is key to building a healthy ecosystem together.
- We're all human and we often jump to conclusions. We want people to assume good intentions when we do, so we extend the same courtesy.
All output must be made for human consumption
This needs pointing out because AI output isn't always human-friendly:
- AI-written prose tends to be very verbose, often filled with unnecessary details and jargon.
- AI-written code tends to be overly defensive and isolated, often ignoring conventions, invariants, and existing utilities.
This applies to code, including comments, and to anything you post online, such as an implementation plan. The burden is on you to demonstrate that your output is clean and concise.
You are solely responsible for your output
- We expect you to be able to defend every single line of change that you submit.
- If a mistake is pointed out to you, it's always your own mistake. Blaming or hiding behind an AI for mistakes in your diff is an explicit avoidance of your responsibilities.
Issues, PRs, and comments that are low-effort are likely to be closed or ignored, whether or not they're AI-generated. Reviewers are under no obligation to prove you're using AI.
Keep pull requests small
Make each pull request one change, in one contribution area, ideally under 100 lines. Small pull requests get reviewed faster and more carefully, merge the parts that are fine without waiting on the parts that aren't, and pick up fewer conflicts while open.