Teams & Collaboration

Teams let multiple developers collaborate on projects through a shared database. Each team gets its own Turso database that syncs across all members' machines.

Creating a Team

  1. Click the team switcher at the top of the sidebar (shows "Personal" by default)
  2. Or go to the Teams page from the sidebar
  3. Enter a team name and click Create
  4. The team's database is provisioned automatically

Switching Scopes

The team switcher in the sidebar lets you switch between:

  • Personal — your own projects, synced across your devices
  • Team — shared projects visible to all team members

Switching scopes changes which projects are shown. Execution continues in the background regardless of which scope you're viewing.

Team Roles

Role Can do
Owner Everything — manage members, billing, secrets, delete projects, approve checkpoints, configure permissions, transfer team ownership
Manager Same as owner except transferring team ownership — can approve checkpoints, manage settings, approve project transfers
Member Edit PRDs, run stories, respond to story gates, create projects (plus any actions granted by permission overrides)

Team owners can promote members to manager (or demote back) from the Teams page.

Configurable Permissions

Some actions can be opened up to all team members via permission overrides. Team owners configure these at the team level, and can further override per-project:

Permission Default Description
Approve Checkpoints Owner only Who can approve release and quality checkpoint gates
Manage Secrets Owner only Who can create, edit, delete, or reveal secret values
Delete Projects Owner only Who can archive (soft-delete) projects
Reclaim Jobs Owner only Who can reclaim stuck execution jobs

Set these in Team SettingsPermissions, or override per-project in Project SettingsPermission Overrides.

The cascade is: Project → Team → Default (owner only). In personal scope, all permissions are open.

Inviting Members

Owners and managers can invite:

  1. Go to Teams page
  2. Enter the person's email or handle
  3. They receive an invite and can join the team

Requests Inbox

The Requests page in the sidebar shows all pending invitations and approval requests in one place:

  • Team invites — invitations to join a team
  • Sponsorship offers — someone offering to sponsor your subscription
  • Storage gifts — 10 GB storage packs gifted to you

Each item has Accept and Decline buttons. Accepting a team invite adds you as a member immediately; declining removes the invitation.

In team scope, the requests page also shows Project Transfer requests (see "Moving Projects" below).

Seat Sponsorship

Team owners can sponsor seats for users who don't have their own subscription:

  1. Go to the Teams page
  2. Under Sponsored Seats, enter the email or handle of the person to sponsor
  3. The recipient sees the offer in their Requests inbox and can accept or decline

Sponsored seats count toward your team's seat limit and storage quota.

Team Settings

Team owners and managers can configure team-wide defaults that sit between global (personal) settings and per-project overrides:

  1. Switch to a team scope using the team switcher
  2. Click Team Settings in the sidebar (only visible to owners and managers)

What You Can Configure

Category Settings
Automation Auto PR, Auto Merge, Squash Merge, Delete After Merge, Skip Asset Check, Skip Business Details Check, Auto Release to Base, Delete Release Branch, Auto-Approve Quality Checkpoints
AI Models Default models for each tier (Reasoning, Standard, Fast, Micro)
Permissions Approve Checkpoints, Manage Secrets, Delete Projects, Reclaim Jobs (owner-only or open to all)
Transfer Policies Move Out of Team (require approval / allow), Move Into Team (require approval / allow)
Access Business email enforcement (restrict team membership to matching email domain)
GitHub Collaboration Auto-invite collaborators (toggle), default permission level (Read/Write/Maintain/Admin), manual Sync Now

Settings Hierarchy

Settings cascade in this order — each layer overrides the previous:

  1. Global (personal app settings) — baseline defaults, synced across devices
  2. Team (team settings) — team-wide overrides
  3. Project (project settings) — per-project overrides
  4. Entity (story/release level) — per-entity automation and model overrides
  5. Job (run-level) — one-time overrides when starting a run

When a project setting shows "inherited", it's using the team default (if set) or falling back to your global default.

Push to Projects

The Push to Projects button resets all project-level automation overrides back to "inherit", so every project picks up the current team defaults. Useful after changing a team-wide policy.

Auto-Invite Collaborators

When Auto-invite collaborators is enabled in team settings, Trinity automatically adds team members as GitHub collaborators on all project repositories.

  • Members need GitHub OAuth linked to their Trinity account
  • Default permission level is configurable (Read, Write, Maintain, Admin) — defaults to Write
  • Sync runs automatically after database syncs (every 30 minutes) and immediately when a project moves into the team
  • Members removed from the team are automatically removed from project repositories (safety: never removes repo owners, admins, or manually-added collaborators)
  • Use the Sync Now button to trigger an immediate sync

Business Email Enforcement

Restrict team membership to users whose email address matches your organization's domain. When enabled, only users with a matching email domain (e.g., @yourcompany.com) can be invited or accept invitations.

  1. Go to Team SettingsAccess tab
  2. Toggle Require matching email domain
  3. The domain is automatically determined from the team owner's email address

This applies to all new invitations — existing members are not affected.

Team Storage

When using Trinity Cloud storage, each seat contributes 5 GB to a shared team pool. A 5-seat team gets 25 GB total, shared across all team projects.

If the team needs more space, the team owner can purchase 10 GB add-on packs for $5/month each. Teams using BYO S3 storage are not subject to any Trinity storage limits.

Collaboration Features

Teams get real-time collaboration tools:

Comments

Leave comments on stories, epics, and other entities. Comments sync across all team members and show in the entity's detail view. Edit or delete your own comments.

Activity Feed

The Activity page in the sidebar is a global standalone feed showing all actions across your projects. Filter by:

  • Project — narrow to a specific project
  • Category — Execution, Stories, Projects, Assets, Planning, Releases, Teams, or Comments
  • Actor — filter by team member or system actions

In team scope, the feed shows activity from all team members. In personal scope, it shows only your own actions. Each entry shows who did what, when, and on which entity — with links to jump directly to the relevant story, release, or project.

Presence

When viewing stories or other entities, you'll see avatar indicators showing which team members are currently viewing the same item. Presence updates in real time.

Entity Timeline

Each entity (story, epic, phase, release) has a timeline tab showing its full history — who changed what, when, and why. Changes are grouped by action with expandable field-level diffs (old value → new value). Provenance badges link back to originating audit or alignment reports. System actions (from the execution pipeline) show as "Trinity".

Moving Projects Between Scopes

Transfer projects between personal and team scopes from Project SettingsDanger Zone:

  • Personal → Team — share a project with your team. Data syncs to the team database, cloud assets migrate automatically.
  • Team → Personal — take a project back to your personal scope.

Approval Workflow

Teams can require approval for project transfers via Transfer Policies in team settings:

Policy Default Effect
Move Out of Team Require approval Members must get owner/manager approval before moving a project out
Move Into Team Allow Anyone can move their personal project into the team

When approval is required:

  1. The member initiates the move — a request is created (not executed)
  2. Team owners and managers see the request on the Requests page
  3. After approval, the move executes on the requester's next sync
  4. Requests expire after 7 days if not acted on

Owners and managers can always move projects immediately (bypass approval). Requires typing the project name to confirm.

How Sync Works

  • All planning data (PRDs, stories, knowledge base) syncs via Turso in 1-5 seconds
  • Execution jobs sync so team members see who's running what
  • Machine-specific data (worktrees, worker processes, file paths) stays local
  • Works offline — syncs when reconnected