Review Guidelines

This page describes what we expect from pull requests across the uutils projects (coreutils, findutils and the others) and how reviews are carried out. It is meant for both contributors who want to know what a reviewer looks for, and reviewers who want a shared checklist. Each project's CONTRIBUTING.md links here; the rules below apply to all of them.

The one rule that cannot be bent

uutils is original code. We cannot accept any change based on the GNU source code, and you must not even link to the GNU source in an issue or PR. A reviewer will reject a contribution that appears to be derived from GNU (or any other strongly-licensed implementation such as GPL/LGPL code).

It is fine to look at permissively-licensed implementations (Apple's file_cmds, OpenBSD) and to read the GNU manuals and man pages - just never the GNU source.

What a reviewer expects before merging

A pull request is ready to be merged when it meets all of the following. If you check these before requesting a review, your PR will move much faster.

Commit hygiene reviewers care about

Coding expectations reviewers check against

For contributors: getting your PR reviewed

For reviewers: how we review

AI-assisted contributions

AI-assisted contributions are allowed, but the same standards apply as for any other patch. If you use an AI tool, you are responsible for the result: you should understand every line, be able to justify it in review, and make sure the output is not derived from GNU or other GPL code. Keep patches small and self-review the diff carefully before opening the PR. Commit messages and PR descriptions should describe the change, not the tooling used to produce it.

AI is a tool for writing code. Issue reports, pull request descriptions, and replies to reviewers should be written in your own words. The whole point of review discussion is to confirm that a human understands the change; generated prose defeats that.

This is not about English fluency: if you are not a native speaker, using a tool to fix grammar or translate your own words is fine. The point is that the ideas and reasoning should be yours, not an AI's.

This section is inspired by the astral-sh AI policy and Mozilla's AI coding guidance.

See also