Skip to content

Commit 8d38dd5

Browse files
jcitrinTorax team
authored andcommitted
Move contributing guidelines to docs/contributing.rst and update roadmap.
Previously the info on the `Contribution process` was not visible in readthedocs PiperOrigin-RevId: 852278231
1 parent 2923d37 commit 8d38dd5

File tree

2 files changed

+77
-15
lines changed

2 files changed

+77
-15
lines changed

docs/contributing.rst

Lines changed: 75 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ Contributing to TORAX
66
How 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

1616
A wide variety of contributions are welcome. See the :ref:`roadmap` for
1717
prioritized projects. In particular, TORAX is envisaged as a natural framework
@@ -32,7 +32,7 @@ Sign our Contributor License Agreement
3232
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3333

3434
Contributions 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

3838
If you or your current employer have already signed the Google CLA (even if it
@@ -46,3 +46,72 @@ Review our community guidelines
4646

4747
This 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>`_.

docs/roadmap.rst

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,14 @@
33
Development Roadmap
44
###################
55

6-
Short term development plans include:
7-
8-
* Neoclassical transport with simple parameterized models
9-
* Coupling to parameterized boundary models
10-
* Implementation of forward sensitivity calculations w.r.t. control inputs and
11-
parameters
12-
13-
Longer term plans include:
6+
A subset of planned upgrades includes:
147

158
* Multi-ion transport, with a focus on heavy impurities and neoclassical
169
transport
1710
* IMAS coupling
18-
* Stationary-state solver
1911
* Momentum transport
2012
* Neoclassical tearing modes (modified Rutherford equation)
13+
* Coupling to wider range of ML-surrogates for physics models
2114

2215
Contributions in line with the roadmap are welcome. In particular, TORAX
2316
is envisaged as a natural framework for coupling of various ML-surrogates of

0 commit comments

Comments
 (0)