docs(contrib): rules for mass-edits

This commit is contained in:
Rudxain 2025-12-21 05:57:57 -04:00 committed by Ricardo Fernández Serrata
commit 929dfba58d

View file

@ -8,6 +8,30 @@ Even though the guide is made for contributors, it's also strongly recommended t
## What are the guidelines?
### Mass edits
If you've performed massive edits via automation, you must specify what automation you used. For example, if you ran the command:
```sh
sed -i 's/a/b/' resources/assets/uad_lists.json
```
You should 📋copy-paste that cmd to the pull-request description. This rule applies even if you use "proper" cmds such as `jq`, which safely edit structured data. And it also applies to AI, *especially* LLMs.
This is required so that we can review your big patch without reading it. This improves [transparency](https://en.wikipedia.org/wiki/Transparency_(behavior)), which makes you more trust-worthy! Bonus points if you can provide a sequence of cmds that proves your patch contains exactly what you said it does. For the simple `sed` case, something like:
```sh
# alt: `gh pr checkout 0000 && git checkout main`
git remote add fork https://github.com/user/uadng
git fetch fork
# example commit hash from upstream (not fork);
# more reproducible than branch-name
git checkout beefcafe
sed -i 's/a/b/' resources/assets/uad_lists.json
# compare unstaged change with commit from fork
git diff cafebeef
```
Should be enough.
You should be careful with mass-editing anyways. Even if the verification is successful, the effects [might not be what you expect](https://en.wikipedia.org/wiki/Scunthorpe_problem).
### Branching strategy
As for our branching strategy, we're using [Trunk-Based Development](https://trunkbaseddevelopment.com/#one-line-summary).