Roles and permissions¶
GitMCloud maps GitHub repository permissions to PDM-style role names and uses them everywhere in the UI. Your role determines which actions you can take.
The roles¶
| Role | GitHub permission | Can do |
|---|---|---|
| Viewer | read | View files, BOM, versions, locks; download via the Exchange page. |
| Engineer | write | Everything Viewer + modify files via GitM, release own locks, allocate part numbers. |
| Manager | maintain | Everything Engineer + freeze/unfreeze files, force-release locks, mark milestones. |
| Administrator | admin | Everything Manager + invite/remove team, change roles. |
| Owner | (GitHub repo owner) | All admin capabilities; cannot be demoted or removed. |
GitMCloud always shows role names, not raw GitHub permission strings.
What each write action needs¶
| Action | Minimum role |
|---|---|
| View anything | Viewer |
| Allocate a part number | Engineer |
| Release your own lock | Engineer |
| Freeze / unfreeze a file | Manager |
| Force-release someone's lock | Manager |
| Mark / edit a milestone | Manager |
| Invite / remove members, change roles | Administrator |
Actions that need SolidWorks (check in/out, generate BOM, stamp a number, create/merge branches) are not available in GitMCloud at any role — they require the GitM add-in.
Where roles come from¶
Roles are derived from each user's GitHub permission on the repository. To change someone's capabilities, change their GitHub repository access (an Administrator can do this from the Team tab, which writes through GitHub).
Known limitations¶
- Roles are exactly GitHub's permission levels under friendlier names — GitMCloud doesn't add a separate permission system.
- You cannot change your own role inside GitMCloud; use the "Manage on GitHub" link.