Skip to content

Contribution guidelines are constraints for coding agents

Alright children, gather round. Let’s talk about the basics of engineering, merging, and automated contributions to your open source projects, because nearly everyone is fucking this up.

The thing to understand about coding agents is they're constraint machines. Give them the right constraints for working a project, and they'll produce working code. Give them the wrong constraints and everything catches on fire as you rue the day you ever started using them.

And there's nothing wrong with that, you just have to understand the lay of the land. Constraints go in your contribution guidelines, your readme, and they need to be clear. You should be doing that anyway for human contributors as well, because none of this exists in a vacuum.

If you don't want to allow agents to submit generated code, that needs to be clearly stipulated in your project governance documents like CONTRIBUTING at the very least. Simply saying, "Haha AI slop" is not how you should be handling these contributions. Use your words.

When an automated submission doesn't meet coding standards, or it's too big to be reviewed by a human, that needs to be said. If the PR attempts sweeping changes to your architecture without an issue or a forum discussion, that's a communication failure.

The mode of failure in these situations, and the reason for the rejection are actually more important than the rejection itself.

Think about the code, not the source.
If we were talking about human engineers, we wouldn't think twice about this extremely obvious idea.

Or, simply tell the agent, "Hey, we've got a policy that we don't accept automated submissions on this project. Sorry bud." That's signal, because agents read these things.