Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ Fixes issue #<issue_number>

### Looking for feedback on...

### AI/LLM use
<!-- Please disclose any AI or LLM tools that were used to create this pull request, how they were used, and what quality checks were performed. -->

### CHANGELOG.md (choose one)

- no need to update because...
- updated.

Please review the [CONTRIBUTING.md](../CONTRIBUTING.md) file for detailed contributing guidelines.
15 changes: 14 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Contents:

- [Ways to Contribute](#ways-to-contribute)
- [Making a Pull Request](#making-a-pull-request-pr)
- [AI/LLM Usage Policy](#aillm-usage-policy)
- [Writing tests with Catch2](#writing-tests-with-catch2)
- [Running Moco tests](#running-moco-tests)
- [Checking for Memory Leaks with LibASAN](#checking-for-memory-leaks-with-libasan)
Expand All @@ -35,7 +36,6 @@ There are lots of ways to contribute to the OpenSim project, and people with wid
Seth A, Hicks JL, Uchida TK, Habib A, Dembia CL, Dunne JJ, Ong CF, DeMers MS, Rajagopal A, Millard M, Hamner SR, Arnold EM, Yong JR, Lakshmikanth SK, Sherman MA, Ku JP, Delp SL (2018) OpenSim: Simulating musculoskeletal dynamics and neuromuscular control to study human and animal movement. *PLoS Computational Biology* 14(7):e1006223.



Making a Pull Request (PR)
--------------------------
Please don't surprise us with a big out-of-the-blue pull request (PR). Preferably, target an existing Issue and post a comment to that effect in the Issue. That way, you can engage in discussion with others to coordinate your work with theirs and avoid duplication, see what people think of the approach you have planned, and so on. If there is not yet a relevant Issue in place, a great way to start is by creating one, and then engaging in an Issue conversation.
Expand Down Expand Up @@ -68,6 +68,19 @@ A few additional practices will help streamline the code review process. Please

It is important that reviewers also review the effect that your PR has on the doxygen documentation. To facilitate this, we automatically upload the doxygen documentation for each PR to [myosin.sourceforge.net](http://myosin.sourceforge.net); you can view the documentation for a specific PR at `myosin.sourceforge.net/<issue-number>`.


AI/LLM Usage Policy
-------------------
Contributors to OpenSim are welcome to use Artificial Intelligence (AI) or Large Language Model (LLM) coding tools to create pull requests. However, all pull requests must be created with a human in the loop. The contributor is always the author and is fully accountable for their contributions. Contributors must be confident that their submission is high quality and worth the (limited) time of the maintainers.

- You must disclose in the pull request description that you used an AI/LLM tool or model and how it was used.
- You must review all AI/LLM-generated code, comments, and documentation before requesting a review.
- You must not attribute an AI/LLM model authorship to any commit in a pull request (e.g., "Co-Authored by Claude").
- You must answer all maintainer questions and pull request review comments yourself, without using an LLM or AI chatbot.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(This rule is unenforceable. Typically—except for things like the suspicious use of em dashes—AI is undetectable. Practically, this might just mean that someone will adjust the prompt so that the AI-generated response sounds less technical 🤷. The rule can be left here if that's the objective.)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that this is unenforceable to the letter of the rule and more of a "spirit of the rule" type of thing, but I think it's valuable to include. We've had a few recent cases where it's evident that the contributor was using AI to respond to reviewers, so this gives maintainers some agency to say "hey, I think I'm talking to an LLM, that's not okay..." and point to the contributors guide. As you say, we can adjust this over time if needed.


Maintainers may close any pull requests that do not follow the guidelines above.


Writing tests with Catch2
-------------------------
Tests should be written using the [Catch2 testing framework](https://github.com/catchorg/Catch2).
Expand Down