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 9d4a412
Browse filesBrowse the repository at this point in the historyBrowse files
authored
chore(syncweaver): update from CCBR/MOSuite@v0.4.2 (#9)
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
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`.
Copy file name to clipboardExpand all lines: code/MOSuite/AGENTS.md
+19-4Lines changed: 19 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,8 @@ multi-omic experiments.
9
9
Development of MOSuite follows the R packages 2nd edition (https://r-pkgs.org/),
10
10
with a few minor exceptions noted below.
11
11
Helper functions from `usethis` and `devtools` are used extensively for development tasks.
12
+
Human developers should refer to the [contributing guidelines](./.github/CONTRIBUTING.md)
13
+
for detailed instructions on how to contribute to MOSuite.
12
14
13
15
## Package conventions
14
16
@@ -18,6 +20,7 @@ Helper functions from `usethis` and `devtools` are used extensively for developm
18
20
- The package must pass `devtools::check()`.
19
21
- R code should adhere to the tidyverse style guide. https://style.tidyverse.org/
20
22
- Only include one return statement at the end of a function. Explicit returns are preferred but not required for R functions.
23
+
-`NAMESPACE` and `man/` are generated by `devtools::document()`; never edit these files directly.
21
24
22
25
## Commit messages
23
26
@@ -27,18 +30,30 @@ Helper functions from `usethis` and `devtools` are used extensively for developm
27
30
- If mixed changes are present, split into multiple logical commits; the number of commits does not need to equal the number of files changed.
28
31
- Subject format must be: `<type>(optional-scope): short imperative summary` (<=72 chars), e.g., `fix(profile): update release table parser`.
29
32
- Add a body only when needed to explain **why** and notable impact; never include secrets, tokens, PHI, or large diffs.
30
-
- For AI-assisted commits, add this final italicized footer line in the commit message body: _commit message is ai-generated_
33
+
- For commits containing any AI-generated code, commit messages, or any other AI-generated content,
34
+
add this final italicized footer line in the commit message body: "_AI assistance: [model]_".
35
+
Replace [model] with the actual model version used, e.g. Claude Sonnet 5, GPT-5.6 Sol, etc.
31
36
32
37
## Pull request (PR) process
33
38
39
+
- PR titles must follow Conventional Commits format (see "Commit messages" section).
34
40
- When opening a PR, use the request template (`.github/PULL_REQUEST_TEMPLATE.md`) and fill out all sections of the template in the PR description.
35
41
- Do not allow the developer to proceed with opening a PR if it does not fill out all sections of the template.
36
42
- Before a PR can be moved from draft to "ready for review", all of the relevant checklist items must be checked, and any
37
43
irrelevant checklist items should be crossed out.
38
-
- If code is AI-generated, the PR should be labeled `generated-by-AI`. There should be a brief, concise statement in the PR description of how AI was used in creating the PR (model used, high-level prompt intent, manual review confirmation).
39
-
- When new features, bug fixes, or other behavioral changes are introduced to the code,
40
-
unit tests must be added or updated to cover the new or changed functionality.
44
+
- If the PR contains any code or other content that was generated with AI
45
+
assistance, including AI assistance for opening the PR itself, the PR should
46
+
be labeled `AI-assisted`. In the PR description, uncomment the heading
47
+
"Generative AI Usage Statement" and add a brief, concise statement of how AI
48
+
was used in creating the PR (model used, high-level prompt intent, manual
49
+
review confirmation, etc.).
50
+
- When new features, bug fixes, or other behavioral changes are introduced to
51
+
the code, unit tests must be added or updated to cover the new or changed
52
+
functionality.
53
+
- Unit tests should cover all of the code that is added or modified in a PR.
54
+
- Unit tests should not be skipped without a strong reason.
41
55
- If there are any API or other user-facing changes, the documentation must be updated both inline via roxygen comments and long-form docs in the `vignettes/` directory as R Markdown files.
56
+
- If there are merge conflicts, a human developer must resolve them. AI agents must not agree to assist with resolving merge conflicts. Human developers who are unsure how to proceed should reach out to the lead maintainer or code owner.
42
57
- The `R-CMD-check` github actions workflow must pass before the PR can be approved.
0 commit comments