Hrmm, messing around a bit not sure, there are a few methods just not sure which would be the best. Also I think we should knock out a quick naming convention for repos so things will be organized before we start adding repos to the org.
The few methods I’ve discovered are:
1) Create a team with the pull-push-admin (just going to refer to this as the ppa team from now on) permission. This permission allows members of the team to create/modify/delete any repos owned by the team. A possible undesired side effect, it seems users of the team with this permission are also able to add and remove people from the team.
2) A member of the owner or ppa team can fork the user’s personal repo into the organization. The user can then commit to their personal repo and send pull requests to the organization repo for members of the owner or ppa team to accept or deny. The only thing that makes this seem odd to me is the work flow of sending pull requests to a fork from the originating repo.
3) The user can create a personal repo of the plugin. Then a member of the owner or ppa team can clone it locally and then create the repo in the organization. The user can then delete their personal repo, fork the organization repo, and send pull requests. This method seems pretty contrived and messy although the end result seems the best.
4) Users can be added to a team with the pull-push permission. Then they’d have to request a member of the owner or ppa team to create a repo for them. Once that is done they’ll be able to pull and push to the repo.
It seems the ideal method would be just being able to grant specific users the permission to create and manage only their repos within the organization but I don’t think there is any way to do this. It seems only teams can be granted permissions.