Being able to set permissions a finer levels of entity (Project -> Repo -> Branch) is great, but the Read/Write/Admin levels are too coarse.
For instance, in order to fork a repo, a developer needs to have Admin permissions on a Project (in order to create a new repository). But I don't want them to have Admin permission on all Repositories. In addition, if I want to implement an internal 'GitHub', that allows developers to share their code, I can't do this because they need Admin permissions on a Project in order to create a Repo, which would give them power over all Repos.
So... can we have the ability to define security roles that allow us to define actions that users and groups can perform?