You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5c68b81
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: code/MOSuite/.github/CONTRIBUTING.md
+69-10Lines changed: 69 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,52 @@ If you've decided to work on an issue,
14
14
[assign yourself to the issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users#assigning-an-individual-issue-or-pull-request)
15
15
so others will know you're working on it.
16
16
17
+
## AI Use
18
+
19
+
Generative AI usage is welcome for generating code, documentation, and other text in this repository.
20
+
Please remember that this project is maintained by humans; every discussion,
21
+
issue, and pull request is read and reviewed by humans (and sometimes machines,
22
+
too).
23
+
Therefore, there are guidelines to make sure contributors' AI usage is helpful,
24
+
productive, and responsible:
25
+
26
+
-**The human-in-the-loop must fully understand and approve all code and content.**
27
+
You must evaluate the output of AI tools.
28
+
Do not assume that AI-generated output is correct, accurate, or complete.
29
+
You must be able to explain what your changes do and how they interact with the
30
+
greater system in your own words.
31
+
32
+
From the [NIH AI Policy](https://nih.sharepoint.com/sites/NIH-ai/SitePages/Responsible-AI.aspx):
33
+
> Do not rely on the technology to be a software developer by proxy: All
34
+
> well-written code must adhere to security design and ethical principles.
35
+
> **All code output needs to be reviewed** for completeness, quality,
36
+
> efficiency, and, most of all, security.
37
+
> Leverage manual and automated validation tools and testing technologies to
38
+
> help ensure these factors.
39
+
> **If you cannot identify or understand what a piece of AI generated code
40
+
> does, you should not use it.**
41
+
42
+
-**Issues and discussions can use AI assistance but must have a full human-in-the-loop.**
43
+
This means that any content generated with AI must have been reviewed _and
44
+
edited_ by a human before submission. AI is very good at being overly verbose
45
+
and including noise that distracts from the main point. Humans must do their
46
+
research and trim this down to be concise and precise.
47
+
48
+
-**All AI usage should be disclosed.**
49
+
In the footer of commit messages and in Pull Request descriptions:
50
+
- State the tool and model version used
51
+
(e.g. Claude Code w/ Claude Sonnet 5, Codex w/ GPT-5.6 Sol, Copilot w/ GPT-5.6 Terra, etc.)
52
+
- Include a brief description of how AI assistance was used
Copy file name to clipboardExpand all lines: code/MOSuite/.github/PULL_REQUEST_TEMPLATE.md
+27-2Lines changed: 27 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,16 @@
1
1
## Changes
2
2
3
3
<!--
4
-
Provide a brief summary of what is included in this Pull Request (PR).
4
+
Provide a brief, concise summary of what is included in this Pull Request (PR).
5
+
If the PR contains complex changes, also include a brief description of the rationale
6
+
behind the implementation decisions.
7
+
Focus this section on the actual user-facing behavior change, bug fix, or design decision.
8
+
Do not include descriptions of obvious, redundant, automated, or required changes that are already covered by checklist items.
9
+
Do not add housekeeping-only bullets. In particular, do not list the following in the Changes section unless one of them is itself the primary behavior change being proposed:
10
+
- regenerated `man/*.Rd` or `NAMESPACE` files
11
+
- `NEWS.md` bookkeeping updates made to satisfy release/changelog requirements
12
+
- routine roxygen2 or test file regeneration that only reflects the underlying feature/fix
13
+
- any bullet that only says files were regenerated/updated (for example, "Regenerate `man/*.Rd`" or "Update `NEWS.md`")
5
14
-->
6
15
7
16
## Issues
@@ -11,11 +20,27 @@ Reference any issues related to this PR.
11
20
If this PR fixes any issues,
12
21
[use a keyword](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)
13
22
when referring to the issue so it will be closed automatically when the PR is merged.
23
+
If there are no relevant issues, uncomment the below line:
24
+
None
25
+
-->
26
+
27
+
<!-- If generative AI was used to draft or generate any part of this PR:
28
+
1. Uncomment the header "## Generative AI Usage Statement" below
29
+
2. Fill in a brief description of how generative AI was used
30
+
3. Disclose the tool and model version used
31
+
32
+
If generative AI was NOT used in any way, leave this entire section commented out.
33
+
34
+
## Generative AI Usage Statement
35
+
36
+
Include a brief description of how generative AI assistance was used to generate any of the code or content included in this PR,
37
+
e.g. writing code, writing unit tests, troubleshooting problems, software design discussion, commit messages, or preparing the PR.
38
+
Disclose the tool and model version used, e.g. Claude Haiku 4.5, GPT-5.6, Copilot w/ Claude Sonnet 5, etc.
14
39
-->
15
40
16
41
## PR Checklist
17
42
18
-
(~Strikethrough~ any points that are not applicable.)
43
+
(~Strikethrough~ any points that are not applicable. Check boxes only, do not append descriptions.)
19
44
20
45
-[ ] This comment contains a description of changes with justifications, with any relevant issues linked.
21
46
-[ ] Write unit tests for any new features, bug fixes, or other code changes.
2.**Pre-merge check (GitHub Action)**: verify `.github/copilot-instructions.md` is present in the repository and that new pipeline files include a `# CRAFT:` header.
14
-
3.**Lint jobs**: `ruff` for Python, `shellcheck` for shell, `lintr` for R, and `nf-core lint` or Snakemake lint checks where applicable.
14
+
3.**Lint jobs**: `ruff` for Python, `shellcheck` for shell, `lintr` for R, `nf-core lint` for Nextflow, or Snakemake lint checks where applicable.
15
15
4.**Secrets scan**: run `TruffleHog` or `Gitleaks` on PRs to detect accidental credentials.
16
16
5.**AI usage label**: if AI usage is declared, an Action should add `generated-by-AI` label (create this label if it does not exist); the PR body should end with the italicized Markdown line: _Generated using AI_, and any associated commit messages should end with the plain footer line: `Generated using AI`.
17
17
@@ -108,7 +108,7 @@ Rules:
108
108
109
109
## Pull Requests
110
110
111
-
When opening a pull request, use the repository's pull request template (usually it is `.github/PULL_REQUEST_TEMPLATE.md`).
111
+
When opening a pull request, agents and authors must use the repository's pull request template (`.github/PULL_REQUEST_TEMPLATE.md`).
112
112
Different repos have different PR templates depending on their needs.
113
113
Ensure that the pull request follows the repository's PR template and includes all required information.
114
114
Do not allow the developer to proceed with opening a PR if it does not fill out all sections of the template.
@@ -138,6 +138,18 @@ Example:
138
138
- Fix bug in `detect_absolute_paths()` to ignore comments. (#123, @username)
139
139
```
140
140
141
+
## Release Process
142
+
143
+
To cut a new release in a repo, first use the draft-release workflow
144
+
(`.github/workflows/draft-release.yml`) to draft the release.
145
+
Then the human developer must review the draft release and ensure it meets
146
+
quality standards, then publish the release.
147
+
AI agents must not publish a release, it can only be done by human developers.
148
+
When the release is published, the post-release workflow (`.github/workflows/post-release.yml`)
149
+
will run automatically and open a new Pull Request.
150
+
The human developer must then review the PR, and approve & merge it if the PR
151
+
meets quality standards.
152
+
141
153
## Onboarding checklist for new developers
142
154
143
155
-[ ] Read `.github/CONTRIBUTING.md` and `.github/copilot-instructions.md`.
0 commit comments