Let me explain with an example. I created https://github.com/apps/wip-bot, its source code is at https://github.com/gr2m/wip-bot. The bot is continuously deployed to https://zeit.co/now via Travis.
So far, so neat.
But what I cannot do is to maintain the description on https://github.com/apps/wip-bot together with its source code:
If you don’t want your PR to be merged accidentally, prefix it with "WIP - ", and WIP bot will set its status to error.
I would like to be able to update that description on the app’s public website each time I deploy the app. Does that make sense?
Now, say I would add a new feature to the wip-bot: merge the PR once the WIP was removed. For that, I would need to add another permission to the current app: write access to pull request. I would like to configure the permissions as part of the source code and then update the permissions as part of the continuous deployment.
When permissions get changed, people who installed it see a notification and have to grant the app the new permission.
This would be two different GitHub Apps.
My overall point is, I would like to be able to update all settings that I see on https://github.com/settings/apps/wip-bot/ using the API