Skip to content

doc: create ai-guidelines and include to CONTRIBUTING - #62105

Open
RafaelGSS wants to merge 2 commits into
nodejs:mainfrom
RafaelGSS:add-ai-guidelines
Open

doc: create ai-guidelines and include to CONTRIBUTING#62105
RafaelGSS wants to merge 2 commits into
nodejs:mainfrom
RafaelGSS:add-ai-guidelines

Conversation

@RafaelGSS

Copy link
Copy Markdown
Member

As discussed in today's TSC meeting.

cc: @nodejs/tsc @BridgeAR

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-bot nodejs-github-bot added the doc Issues and PRs related to the documentations. label Mar 4, 2026
Comment thread doc/contributing/ai-guidelines.md Outdated
@joyeecheung

Copy link
Copy Markdown
Member

There may be some ideas we can borrow from https://llvm.org/docs/AIToolPolicy.html - for example "good first issue" should not be picked up by AI is a good one.

Comment thread doc/contributing/ai-guidelines.md Outdated
@RafaelGSS

Copy link
Copy Markdown
Member Author

There may be some ideas we can borrow from https://llvm.org/docs/AIToolPolicy.html - for example "good first issue" should not be picked up by AI is a good one.

I took inspiration from https://github.com/zulip/zulip/blob/main/CONTRIBUTING.md#ai-use-policy-and-guidelines

Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
* **Verify accuracy** of any LLM-generated content before including it in a
PR description or comment.
* **Complete pull request templates fully** rather than replacing them with
LLM-generated summaries.

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.

Do we have a template? I thought those are for issues, not PRs.

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It's not possible to fulfil the instructions "Complete pull request templates fully" based on the contents of https://github.com/nodejs/node/blob/main/.github/PULL_REQUEST_TEMPLATE.md?plain=1 so it looks like this sentence needs to be removed.

Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread CONTRIBUTING.md Outdated
MikeMcC399

This comment was marked as resolved.

@RafaelGSS
RafaelGSS requested a review from mcollina March 13, 2026 16:39
@RafaelGSS RafaelGSS added the commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. label Mar 13, 2026

@gurgunday gurgunday left a comment

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.

lgtm

@RafaelGSS RafaelGSS added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Mar 14, 2026

@indutny indutny left a comment

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.

I'd be against this contribution policy update. While many different opinions exist on the licensing terms of the code produced by LLMs, my opinion is that the generated code isn't explicitly licensed and attributed to the original authors so it cannot be considered open source regardless of the used prompt.

@joyeecheung joyeecheung added the tsc-agenda Issues and PRs to discuss during the meetings of the TSC. label Mar 17, 2026
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment on lines +56 to +59
* **Verify accuracy** of any LLM-generated content before including it in a
PR description or comment.
* **Complete pull request templates fully** rather than replacing them with
LLM-generated summaries.

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.

Suggested change
* **Verify accuracy** of any LLM-generated content before including it in a
PR description or comment.
* **Complete pull request templates fully** rather than replacing them with
LLM-generated summaries.
* **Verify accuracy** of any LLM-generated content before including it in a
PR description or comment.

@joyeecheung

Copy link
Copy Markdown
Member

In #61478 (comment) , regarding the usage of Claude Code, @mcollina suggested:

As it seems that you have a different position on this issue, I will bring this to the attention of the @nodejs/tsc for an official vote. On a side note, I would also officially summon the topic at the next OpenJS board meeting.

I added it to the TSC agenda tomorrow for awareness/context collection before moving to a proper vote. @indutny sorry about the short notice since this is just one day ahead of the meeting, but if you'd like to join the meeting to present your points please let us know.

@mcollina mcollina left a comment

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.

lgtm with a sentence removed

@indutny

indutny commented Mar 17, 2026

Copy link
Copy Markdown
Member

@joyeecheung thanks for considering me for this! I'd be happy to join if the time isn't in conflict with my work meetings tomorrow. Could you send me an invite, please?

@mcollina

Copy link
Copy Markdown
Member

nodejs/TSC#1830 this is the issue. It might be reschedueld to the next meeting if there is low attedance given the timezone.

I think we can schedule the discussion for April 1st which will be in the morning PT so a lot of people can join, and I would table the vote for that session. I would try to get an answer from the Board by then.

@mcollina

Copy link
Copy Markdown
Member

@indutny @bengl ping

@mcollina

Copy link
Copy Markdown
Member

Discussed at the last @nodejs/tsc.
After 2 weeks or more without a response, we consider the objection dismissed.

Co-authored-by: Beth Griggs <bethanyngriggs@gmail.com>
Co-authored-by: Aditi <62544124+Aditi-1400@users.noreply.github.com>
Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com>
Co-authored-by: Tobias Nießen <tniessen@tnie.de>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Co-authored-by: Efe <dogukankrskl@gmail.com>
Co-authored-by: James M Snell <jasnell@gmail.com>
Co-authored-by: Trivikram Kamat <16024985+trivikr@users.noreply.github.com>
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
@RafaelGSS
RafaelGSS force-pushed the add-ai-guidelines branch from b696334 to 2c97efd Compare May 28, 2026 23:42
@RafaelGSS

RafaelGSS commented May 28, 2026

Copy link
Copy Markdown
Member Author

I have squashed the commits and solved the linting issue. Nothing has changed. PTAL.

@mcollina mcollina left a comment

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.

lgtm

@RafaelGSS
RafaelGSS dismissed indutny’s stale review May 29, 2026 18:23

Per Node.js guidelines, after 2 weeks or more without a response, we consider the objection dismissed.

@RafaelGSS RafaelGSS removed commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. tsc-agenda Issues and PRs to discuss during the meetings of the TSC. labels May 29, 2026

@joyeecheung joyeecheung left a comment

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.

Some wording tightening and adding references..

Also I believe we should reference the large PR policy added by #62829 in this document, though not exactly sure where?

Comment thread doc/contributing/ai-guidelines.md
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md Outdated
Comment thread doc/contributing/ai-guidelines.md
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
@ovflowd

ovflowd commented Aug 6, 2026

Copy link
Copy Markdown
Member

Linting seems to be failing, that said it does look like this PR is ready?

@joyeecheung joyeecheung left a comment

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.

LGTM with one final wording suggestions, thanks!

Comment on lines +67 to +68
the correctness of new tests against the expected behavior of the feature
being tested, independently of the feature's implementation.

@joyeecheung joyeecheung Aug 6, 2026

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.

Suggested change
the correctness of new tests against the expected behavior of the feature
being tested, independently of the feature's implementation.
the correctness of new tests against the intended behavior of the feature
being tested, independently of how the implementation happens to behave.

I was just reading a post by a maintainer of another prominent OSS project today who was frustrated by a 10K+ LOC AI-generated PR and saw some wording about this behavior that we can borrow - I also saw this behavior when reviewing #63115 which exposed internalModuleStat by mistake and then went on to make even more mistakes by ensuring the internal API is publicly usable 🤦🏻‍♀️, seems like a common issue of AI-generated big patches

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no pending requests for changes, and a CI started. doc Issues and PRs related to the documentations.

Projects

None yet

Development

Successfully merging this pull request may close these issues.