@@ -6,12 +6,12 @@ Contributing to TORAX
66How to contribute
77=================
88
9- We'd love to accept your contributions to this project. There are multiple ways
10- to contribute:
9+ We'd love to accept your patches and contributions to this project.
10+ There are multiple ways to contribute:
1111
12- * Answering questions on TORAX's `[ discussions page] . <https://github.com/google-deepmind/torax/discussions >`_
13- * Improving TORAX's `[ documentation] . <https://torax.readthedocs.io >`_
14- * Contributing to TORAX's core `[ code-base] . <https://github.com/google-deepmind/torax >`_
12+ * Answering questions on TORAX's `discussions page. <https://github.com/google-deepmind/torax/discussions >`_
13+ * Improving TORAX's `documentation. <https://torax.readthedocs.io >`_
14+ * Contributing to TORAX's core `code-base. <https://github.com/google-deepmind/torax >`_
1515
1616A wide variety of contributions are welcome. See the :ref: `roadmap ` for
1717prioritized projects. In particular, TORAX is envisaged as a natural framework
@@ -32,7 +32,7 @@ Sign our Contributor License Agreement
3232^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3333
3434Contributions to this project must be accompanied by a
35- `[ Contributor License Agreement] <https://cla.developers.google.com/about >`_
35+ `Contributor License Agreement <https://cla.developers.google.com/about >`_
3636(CLA).
3737
3838If you or your current employer have already signed the Google CLA (even if it
@@ -46,3 +46,72 @@ Review our community guidelines
4646
4747This project follows
4848`[Google's Open Source Community Guidelines] <https://opensource.google/conduct/ >`_.
49+
50+ Contribution process
51+ ====================
52+
53+ Code reviews
54+ ------------
55+
56+ All submissions, including submissions by project members, require review. We
57+ use GitHub pull requests for this purpose. Consult
58+ `GitHub Help <https://help.github.com/articles/about-pull-requests/ >`_ for more
59+ information on using pull requests.
60+
61+ Once you have signed the CLA and your code is ready for review, we encourage you
62+ to use the "ready-for-review" tag which will highlight to us that a review is
63+ required.
64+
65+ Please also squash your commits once you have completed your changes into a
66+ single commit. This helps us keep our commit history clean and easy to parse.
67+
68+ Internal repository and Copybara
69+ --------------------------------
70+
71+ It is important to know that we have an internal repository that serves as the
72+ Single Source of Truth (SSOT) for our codebase. We use a tool called
73+ `copybara <https://github.com/google/copybara >`_ to keep consistency between our
74+ internal repo and the external GitHub repository.
75+
76+ The typical workflow we follow with PRs is as follows:
77+
78+ 1. PR written and commits squashed by author and reviewed by TORAX devs.
79+ 2. We trigger a copybara import to the internal repo.
80+ 3. Some further minor changes may be done in internal review.
81+ 4. Submission to our internal repo triggers a commit to GitHub that copybara
82+ relates to the original PR and "merges" the PR.
83+
84+ **Note: ** The actual commit may have slightly different code to the final state
85+ of the PR due to any internal changes. Author attribution is maintained in this
86+ process.
87+
88+ Contributing tips
89+ =================
90+
91+ To ensure a smooth review process, please consider the following tips:
92+
93+ * **Keep pull requests small and focused: ** Please keep your pull requests (PRs)
94+ as simple and short as possible, ideally addressing a single issue. This
95+ reduces the time it takes for us to review changes and makes it easier to
96+ give high-quality, directed feedback in line with TORAX development patterns.
97+ Larger features can be comprised of multiple smaller chained PRs, and feel
98+ free to discuss with us how to structure changes.
99+
100+ * **"Domain expertise required" issues: ** Many of our issues have the "Domain
101+ expertise required" label. We typically do not accept PRs on these issues from
102+ contributors who are not domain experts.
103+
104+ * **Discuss design for other issues: ** When looking to handle other issues,
105+ please reach out and start a discussion on the repo to ensure that the feature
106+ is not already in development, and to discuss how a feature should be designed.
107+ This helps make sure changes are made that are compatible with design patterns
108+ in the rest of the codebase and are compatible with any future development
109+ plans we may have.
110+
111+ * **Use of GenAI: ** When using LLMs to generate code to address our issues,
112+ please keep in mind the above points. It is important that the generated code
113+ is understood by the developer, tests are properly run, and PRs maintain
114+ focus. Please keep in mind that reviewing is time-consuming and PRs that do
115+ not adhere to these standards are likely to have longer review times.
116+
117+ You can find more contribution tips in our `documentation <https://torax.readthedocs.io/en/latest/contribution_tips.html#contribution-tips >`_.
0 commit comments