huyo9975 First of all there is no need for a whole application, all the more written in Rust, only to run a couple of ADB commands sequentially. This is in fact the very example of what constitutes "bloatware."
You could simply go through the list at uad_lists.json yourself and make your own simple script that runs pm disable or even pm uninstall --user 0 for each of the packages you want gone. This way at least you'd know what you're doing and would have a reproducible record in case it's later discovered one package too many was disabled.
Only problem is, there is no bloatware in GrapheneOS by any common definition. The system is as clean as they come, not just compared to OEM images but even to LineageOS. Making such a strong claim, all the more you should substantiate it. Yet you are not including any examples. Going by the list from the repo, the only overlap I see are a couple of little-used leftovers from AOSP like BasicDreams or PhotoTable but these provide genuine functionality without any anti-features and are completely benign: they won't run at all unless you specifically want them to. They are not visible in the Launcher either. Finally, disabling them (or anything else) this way does not reclaim any extra storage space for you to use. So what would be the point?
Removing the two above at least wouldn't be harmful. But the same cannot be said about some other entries on the list. Getting rid of some of the other stuff, even something like the Android Easter Egg, might potentially cause a crash because such functionality is expected to be present in the system. Half a year later you might find yourself posting here claiming "GrapheneOS is unstable, my Settings app crashes" – as it turns out, when you tap on the Android version because it's trying to launch the missing Easter Egg.
But on that list there are other entries too that seriously should not be removed: for example com.android.htmlviewer. To be fair, the description for it mentions "removing this causes a bootloop." Yet it is still on the "bloatware" list, so it can be "found" and included in the count for someone then to say there's "a lot" of it.
I don't think tinkering should be discouraged, as long as you assume the responsibility for the consequences. But there's the right way and the wrong way to go about everything, and using a wrapper to shelter yourself from having to deal with the ADB shell directly is the definition of the latter if you want to get into such stuff.
In any case, please do not make such wild and unsubstantiated claims. What are the top 3 examples of "bloatware" you "found" on GrapheneOS? Please name them.