docs: add AGENTS.md and symlink CLAUDE.md#534657
Conversation
Add AGENTS.md to direct LLM agents to the Automation/AI policy in CONTRIBUTING.md, and symlink CLAUDE.md to it. Assisted-by: Antigravity <Gemini 3.5 Flash>
649514e to
6e2e81f
Compare
| @@ -0,0 +1,3 @@ | |||
| Before modifying any files in this repository, please read and comply with the Automation/AI policy in [CONTRIBUTING.md](CONTRIBUTING.md#automationai-policy). | |||
|
|
|||
| Make no mistakes. We love you. | |||
There was a problem hiding this comment.
I don't like mistakes though 🙃
|
Makes sense to me. Helps align contributions directly to the CONTRIBUTING.md. Keeps repo in line the current reality of contributions. |
wolfgangwalther
left a comment
There was a problem hiding this comment.
The only reasonable AGENTS.md file is:
Get the hell out of here.
Is that really an acceptable response? Especially to request changes on the PR. The current contribution policy allows AI. Changes like this will only make the contributions better and less value extraction. |
I think it is an acceptable level of effort put into a response on a PR where even all of 2 lines of a diff were LLM-generated, according to the disclosure trailer. Unfortunately, due to the nature of the PR, a "it's LLM generated, so I will ignore it" doesn't quite work here.
Since you, the human, came back and put in the effort to write up a response, I did so as well and dug out the following for you. Please read the following two comments:
TLDR: When deciding on the automation policy, what you are proposing here was explicitly rejected. |
I mean, seriously... you ran NixOS tests for that change according to your checklist? This is just terrible. Precisely why we should not have this. |
That's exactly why we should add it, so that the agent follows the guidelines or do you want to constantly point out on each PR that contributing guidelines weren't respected? |
You're missing the point. The automation policy is about "having a human in the loop". Clearly, there was no human in the loop here, otherwise the checklist wouldn't look that way. That |
There's 900 lines of documentation in CONTRIBUTING.md that contributions needs to respect, that work should be done by agents as much as it can be. Keeping humans in the loop is a separate issue that shouldn't be conflicted with agent respecting the guidelines. |
|
FWIW -- I clicked those bullets manually. |
So "built on x86_64-linux" can only mean "I ran it", right? Because if it was N/A, you'd check the other platforms, too. So how did you build that nice Thanks for clarifying anyway. That means it's not only your LLM which should not be trusted. In that case I wouldn't trust your checking the last two boxes about contributing guidelines or automation policy either. Might just mean "N/A" as well... Vibe-checking some boxes is not better than vibe-coding PRs. (outta here, enough has been said) |
|
Nixpkgs review is always scrutinized into oblivion, whether it's written by human hands or not. I'm not sure what the issue is here, there is already LLM generated code in nixpkgs. This just adds claude specific files, which many people will find useful, myself included. |
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/lets-create-skills-for-nixpkgs-development/78627/21 |
|
I am struggling to understand who this helps. I don't think people who are so hands off that they are unable to provide meaningful guidance to an agent (even as limited as "find and read the contributor docs") should be encouraged further to contribute by the presence of this file. |
| @@ -0,0 +1 @@ | |||
| AGENTS.md No newline at end of file | |||
There was a problem hiding this comment.
I don't think including CLAUDE.md sets a good precedent. Are we going to include a documentation pointer for every proprietary agent that refuses to acknowledge AGENTS.md for marketing reasons?
There was a problem hiding this comment.
"every proprietary agent" -- are we putting Anthropic in the same bucket as "every"?
I think it's okay to special case certain vendors when they have a sizeable market share; in the same way that this is not a 1-way door. In the long future if Anthropic goes kapoot, we can delete the file.
There was a problem hiding this comment.
It's a temporary evil until we get better support from Anthropic--at which time we should remove the kludge.
There was a problem hiding this comment.
It's a temporary evil until we get better support from Anthropic--at which time we should remove the kludge.
Isn't this still implicitly supporting their cause (branding)? We expect editors to read .editorconfig. If they don't, it's up to users to adjust accordingly.
There was a problem hiding this comment.
I don't think we should include this symlink, but instead add CLAUDE.md to .gitignore so it's trivial for Claude users to symlink themselves. Looking in that file we also exclude vscode, jetbrains, and helix files, and this feels equivalent to me when it comes to a specific/singular tool.
The bug for this is on Anthropic's side. We shouldn't create a file with their branding just because they refuse to support a de-facto standard.
There was a problem hiding this comment.
we could just patch the nixpkgs claude-code derivation to respect AGENTS.md.
It's like saying why even have a CONTRIBUTING.md -- that only helps those haven't logged onto Matrix and spoken with other developers to learn their idioms. These are all files we use to pre-load our own context similar to LLM. Having an AGENTS.md just helps in that direction. |
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/my-experience-of-contributing-to-nixpkgs/78660/2 |
This used to be the case but is no longer true. Sometimes the original PR (authored by a person? An LLM? Who can prove it.) and a single bot that ran nixpgs-review is all it takes to get merged. I'm opposed to this change. If you need this level of hand holding to run your agent, you probably aren't using it in a way we'd want to encourage anyway. Giving a robot a template to fill out to game the system that was supposed to verify that a human was in the loop is counterproductive. |
crertel
left a comment
There was a problem hiding this comment.
It's not perfect, but it's a good start, and I like that it is directly encouraging observance of the AI contribution policy.
| @@ -0,0 +1 @@ | |||
| AGENTS.md No newline at end of file | |||
There was a problem hiding this comment.
It's a temporary evil until we get better support from Anthropic--at which time we should remove the kludge.
philiptaron
left a comment
There was a problem hiding this comment.
This is completely fine.
tomberek
left a comment
There was a problem hiding this comment.
I'm sure this can be improved upon (perhaps mentioning commonly noted pitfalls or failures), but it's a start.
| @@ -0,0 +1,3 @@ | |||
| Before modifying any files in this repository, please read and comply with the Automation/AI policy in [CONTRIBUTING.md](CONTRIBUTING.md#automationai-policy). | |||
|
|
|||
| Make no mistakes. We love you. | |||
There was a problem hiding this comment.
| Make no mistakes. We love you. | |
| Do not append `Assisted-by: ...` in commit messages as outlined in the policy. This is the responsbility of the author. |
My understanding of the policy is that the human is supposed add this line to the commit themselves, so we should direct agents to not do it automatically.
I am fine with this change otherwise.
There was a problem hiding this comment.
I think that is backwards, adding the assisted-by trailer is probably something the LLM can be asked to do automatically. That will improve the understanding of what/who might be responsible too.
I think the biggest issue with the effect it might have on public communications such as pre-filling GH pr templates. That is something that should be done by the end user, not a model. In fact it should probably be part of the prompt that any public communications (comments, prs, etc.) be explicitly written by the human not an agent (exempting of course clearly labeled bot accounts) and that PR templates should not be touched except by the human responsible.
There was a problem hiding this comment.
Fair point.
As long as the PR author can understand the changes enough to write a description themselves, I have no issues with getting agents to write commit messages.
The purpose of that part of the policy wasn't clear to me.
|
If an agents.md is added, it should have a section at the bottom similar to ghostty's agents.md to out drive-by PRs that aren't being reviewed at all.
The exact verbiage can be changed, but IMHO, to have anything less is to waste the time and motivation of people reviewing PRs.
@crertel removing stuff is more work than not adding it in the first place. What's the rush here? |
There was a problem hiding this comment.
The only reasonable
AGENTS.mdfile is:Get the hell out of here.
@wolfgangwalther I'm not sure I'd want to have your version (it likely wouldn't stop LLMs, or have any impact on them), but even if it did, and that was my goal, I'd want it in the CONTRIBUTING.md that these get redirected to.
That way I'd stop them in a way that was DRY and with a single source of "get the hell out of here".
Right now, if what this does is force the LLMs to read the CONTRIBUTING.md before slobbing up the review queue, instead of the base case of them not reading it, then that's a net positive whether you're for or against LLMs.
Right? And then the battle against LLMs in general is likely won elsewhere than this PR.
|
(Just speaking for myself here, this is not an official team statement.) I’d like to reiterate my request from #534657 (comment) to slow the pace of the discussion down here in order to help reduce the temperature and keep things manageable. I was very happy that the policy discussion in #514587 managed to stay productive and deliver a positive outcome despite our deep disagreements as a community on the matter. It’s inevitable that nobody will be fully happy with the end result in such circumstances, but I’d like to ask people to avoid throwing away that hard‐won compromise with proxy battles for the remaining disputes. Obviously this PR has turned out to be controversial in touching on these unresolved issues and it seems unlikely that we’ll arrive at a clear unambiguous consensus by default. We’re reviewing this and related matters internally in the Nixpkgs core team with respect to the established policy and the spirit with which we’ve worked to make improvements. I’d like us to help facilitate consensus here to the degree we can, and make judgement calls if necessary to break any remaining deadlock, and hope that we’ll be able to help further the previous success. I’m sorry that we haven’t managed to engage substantively yet; we’re both busy with other obligations, Nixpkgs and otherwise, and balancing immediate matters with working on recruitment, but I hope we should be able to have a response here by this weekend. For now, we’re not going to be able to resolve the underlying differences here with duelling reviews and relitigation. I of course want us to take everyone’s thoughts and positions into account and welcome thoughtful engagement, but I’d very much appreciate if people strongly consider whether they’re bringing something substantively new to the discussion before commenting and avoid getting into extended back‐and‐forths that won’t help move us towards a resolution, for the sake of the Nixpkgs core team and moderation being able to keep up with this PR and to keep it from going off the rails. |
|
it might help to share a repro for whatever it is that this PR fixes. like edit: i say this because:
|
|
Emily, apologies for posting after you've asked for a silence period, but seeing unconditional approvals from several SC members, I'd like to make sure we all fully appreciate the meaning of Wolfgang's initial objection? In its current form (i.e. w/o #534657 (comment) applied), this PR does directly reverse a decision made in #514587. That's fine in itself (our situation is quite dynamic), but needs to be evaluated as such. Ad absurdum, but I'm not even quite joking, the discussion in this PR suggests we must consider deleting If we choose to keep |
Add AGENTS.md to direct LLM agents to the Automation/AI policy in CONTRIBUTING.md, and symlink CLAUDE.md to it.
Assisted-by: Antigravity <Gemini 3.5 Flash>
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.