Overview
The collaborator system includes:- Role-based access control with five permission levels
- Team management for organizing collaborators
- Email invitations for adding new collaborators
- Activity logging for audit trails
Quick Start
Roles
wit uses five permission levels:| Role | Description |
|---|---|
owner | Full access including delete repository |
admin | Manage settings, collaborators, and branches |
maintainer | Merge PRs, manage releases, push to protected branches |
contributor | Push to branches, create PRs |
viewer | Read-only access |
Permission Matrix
| Permission | Owner | Admin | Maintainer | Contributor | Viewer |
|---|---|---|---|---|---|
| Read repository | ✓ | ✓ | ✓ | ✓ | ✓ |
| Push to branches | ✓ | ✓ | ✓ | ✓ | |
| Create branches | ✓ | ✓ | ✓ | ✓ | |
| Push to protected | ✓ | ✓ | ✓ | ||
| Merge PRs | ✓ | ✓ | ✓ | ||
| Create/manage releases | ✓ | ✓ | ✓ | ||
| Manage settings | ✓ | ✓ | |||
| Manage collaborators | ✓ | ✓ | |||
| Delete repository | ✓ |
Commands
wit collaborator
List all collaborators (default command).
wit collaborator add
Invite a new collaborator.
| Option | Description |
|---|---|
--role <role> | Permission level (default: contributor) |
--message "..." | Custom invitation message |
--name <name> | Display name for the invitee |
--skip-email | Don’t send email notification |
wit collaborator remove
Remove a collaborator from the repository.
wit collaborator update
Update a collaborator’s role.
wit collaborator show
Show details for a specific collaborator.
wit collaborator accept
Accept an invitation to join a repository.
wit collaborator revoke
Revoke a pending invitation.
wit collaborator invitations
List all pending invitations.
wit collaborator activity
View the activity log.
wit collaborator stats
Show collaborator statistics.
Teams
Teams allow you to organize collaborators and assign permissions to groups.wit collaborator team list
List all teams.
wit collaborator team create
Create a new team.
| Option | Description |
|---|---|
--role <role> | Team permission level (default: contributor) |
--description "..." | Team description |
wit collaborator team delete
Delete a team.
wit collaborator team add-member
Add a collaborator to a team.
wit collaborator team remove-member
Remove a collaborator from a team.
Configuration
wit collaborator config
View or update collaborator settings.
Available Settings
| Key | Description | Default |
|---|---|---|
public-access | Allow public read access | no |
default-role | Default role for new collaborators | contributor |
invite-expiration | Days until invitations expire | 7 |
email-enabled | Enable email notifications | no |
resend-api-key | Resend API key for emails | - |
email-from | Sender email address | - |
email-from-name | Sender display name | - |
repository-name | Repository display name | - |
repository-url | Repository URL for emails | - |
Email Notifications
wit can send email notifications for invitations using Resend.Setup
- Get an API key from resend.com
- Configure wit:
Best Practices
Principle of Least Privilege
Assign the minimum role necessary:- Use
viewerfor stakeholders who only need to see code - Use
contributorfor regular developers - Reserve
adminandownerfor project leads
Use Teams
Organize collaborators into teams:- Makes role changes easier (change team role, not individual roles)
- Improves visibility into access patterns
- Simplifies onboarding/offboarding
Review Activity Regularly
- Unexpected permission changes
- Stale pending invitations
- Inactive collaborators