Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Contributing

Contributions are welcomed via pull requests on GitHub. Contact the row developers before starting work to ensure it meshes well with the planned development direction and follows standards set for the project.

Features

Implement functionality in a general and flexible fashion

New features should be applicable to a variety of use-cases. The row developers can assist you in designing flexible interfaces.

Maintain performance of existing code paths

Expensive code paths should only execute when requested.

Maintain compatibility

New features should be opt-in and preserve the behavior of all existing user scripts.

Version control

Base your work off the correct branch

Base all bug fixes and new features on trunk.

All changes in a pull request should be closely related. Multiple change sets that are loosely coupled should be proposed in separate pull requests.

Agree to the Contributor Agreement

All contributors must agree to the Contributor Agreement before their pull request can be merged.

Set your git identity

Git identifies every commit you make with your name and e-mail. Set your identity to correctly identify your work and set it identically on all systems and accounts where you make commits.

Source code

Use a consistent style

Follow all guidelines outlined in the Code style section of the documentation.

Document code with comments

Write Rust documentation comments for traits, functions, etc. Also comment complex sections of code so that other developers can understand them.

Compile without warnings

Your changes should compile without warnings.

Tests

Write unit tests

Add unit tests for all new functionality and bug fixes.

Test validity

Run research-scale simulations using new functionality and ensure that it behaves as intended.

User documentation

Write user documentation

Document all new configuration keys, command line options, command line tools, and any important user-facing change in the mdBook documentation.

Tutorial

When applicable, update or write a new tutorial or how-to guide.

Add developer to the credits

Update the contributors documentation to name each developer that has contributed to the code.

Add a change log entry

Add a short concise entry describing the change in doc/src/release-notes.md.


Development of row is led by the Glotzer Group at the University of Michigan.

Copyright © 2024-2025 The Regents of the University of Michigan.