Team & permissions
Invite teammates to a project, assign roles, and control who can publish to production.
Each project has its own roster. Open Team in the dashboard (/dashboard/<projectId>/team) to see members, pending invites, and what each role can do.
Roles
Membership is role-based. There are three roles:
| Role | What they can do |
|---|---|
| Admin | Full control. Manage members, billing, and API keys. Publish to production. |
| Editor | Create and edit experiments, feature flags, and configs. Promote to staging. Cannot publish to prod or invite members. |
| Viewer | Read-only. See dashboards, metrics, and experiment results. Useful for stakeholders. |
The owner of the project is always an admin and can't be removed without first transferring ownership (see Project settings → Danger zone).
Inviting members
Open the invite dialog
On the Team page, click Invite people. Only the workspace owner or an admin can invite — for everyone else the button is disabled.
Add emails
Type an email and press Enter or comma to add it as a chip; paste a list to bulk-invite. Pick a default role (Editor by default) that applies to everyone in this batch.
Send
Leave Send email notification checked to email each invitee. They sign in with the same providers as your workspace — GitHub, Google, or magic link — and land in the project once they accept.
A freshly-invited member shows as pending on the roster with who invited them. Use Resend invite from the row if the email got lost. Once they sign in, the row flips to active.
Managing members
From the members table:
- Change a role — pick a new role from the per-row role dropdown. Role changes are owner-only.
- Resend an invite — re-send the email for a pending member.
- Remove a member — revoke their access to the project. Removal is owner-only.
Seats and plans
Team size is a plan limit (max team members). The current count against your cap shows on Settings → Billing as used / cap seats. The Free plan is single-seat; paid plans raise or remove the cap. See Plan limits for the full table.
Scheduled triggers
Provision an unattended, scheduled agent that runs ops:work --pr on a cadence — burning down the feedback queue and opening one PR per item — on Claude Code, Cursor, Copilot, Windsurf, Codex, Cline, OpenClaw, OpenCode, Continue, or Gemini.
Project settings & modules
Toggle which Shipeasy modules a project exposes, set experiment defaults, and manage notifications, ownership, and deletion.