I want to pivot the conversation a bit, because you seem pretty focused on general bot configuration/prompting, which is something im pretty confident in figuring out later, and intend to experiment on.
So how it uses its tools, how it splits its agents, how it's cronjobs work.. lets leave that aside, I think we've covered that enough
What i need now is the true implementation of github permissions, and how to split the repos up
heres a scenario id like for you to consider, and its why ive thought about giving the bot its own repo:
lets assume the bot simply has access to my repo, and ive locked it out of touching main
- I fork appyfoo (some random repo name for arguments sake)
- I create an issue for a bugfix
- bot wakes up for its appyfoo cronjob and reads issues, decides to tackle the bugfix
- bot makes the changes locally and pushes to a new branch bot-bugfix
- i say this looks good, i open a PR to upstream on that branch
- for whatever reason, either because the maintainer said they didnt like it, or because it was just tripping, the bot decides to make another push to the branch. Now this isnt necesarrily terrible, thats the whole point of a PR, to work on it. but now its affecting a real PR to a community project with code that I havent looked over yet and that reflects on me
- PR gets denied for being sloppy
okay, so there must be a degree of seperation between the bot publishing to the repo, and the repo publishing to upstream
this is why i thought maybe the bot just has its OWN repo
well here is a problem with that
- i fork appyfoo
- i fork me/appyfoo into me/bot-appyfoo and give bot access
- bot creates bugfix and publishes a PR to my repo
- I want to now publish those changes upstream, but the PR that bot published from bot-appyfoo to me/appyfoo are now on
main. this makes opening a PR and especially updating a PR a little tricky. I want the bot to be able to update their PR as a buffer such that I can update the real PR
thoughts?