Skip to content
K

Team Collaboration

When more than one person works on the same project, the hard part isn’t writing code — it’s staying aligned. Who’s working on what? What’s blocked? Did someone already start the spec you were about to pick up? Monday Morning’s team collaboration features answer those questions by sharing lightweight status metadata between members, without moving your code anywhere.

Team collaboration is a paid capability available on the Team plan. The Team-tier entitlement gates the team surface, including the dashboard, check-ins, spec claims, and team settings. If you’re on an individual plan, these features won’t appear.

The Team Dashboard is the shared picture of where everyone stands. It aggregates each member’s check-ins into three sections:

SectionWhat it shows
Active WorkWhat each teammate is currently working on
BlockersIssues members have flagged as blocking
Recent CompletionsWork that has recently been finished

The dashboard also renders per-spec claim information so you can see who has taken ownership of which spec. Staleness coloring highlights how fresh each member’s status is, with thresholds at 24 hours and 7 days — so you can tell at a glance whether someone’s status reflects today’s work or is going stale.

A team identity chip in the sidebar shows the name of your active team. When you aren’t part of a team yet, the dashboard shows a welcoming empty state with a Create or join a team call to action, rather than an error.

Members keep the dashboard current by pushing check-ins from their session. A check-in captures your current status — what you’re working on and any free-text note — and shares it with the rest of the team.

  • mm_push_team_checkin — push your current status to the team. It scans your local specs and features and captures your current branch, then upserts your check-in.
  • mm_fetch_team_checkins — pull every member’s latest check-in, which is what the dashboard aggregates.

Because each push is a fresh snapshot, the dashboard reflects what people are actually doing, and the staleness coloring tells you when a status hasn’t been updated in a while.

Claims solve the “we both built the same thing” problem. When you start work on a spec, you claim it so teammates know it’s taken.

  • mm_claim_spec — claim a spec. Claims are first-claim-wins, recorded centrally so there’s a single source of truth for who owns what.
  • mm_fetch_claims — list the current claims for your team.

If someone else claims a spec you were tracking, the dashboard surfaces a “stolen claim” rendering so the change in ownership is visible rather than silent.

Team Settings is where the team lifecycle lives. From it you can:

  • Create a team
  • Join an existing team via an invite code
  • Regenerate the invite code
  • Remove members
  • Leave a team

These operations are backed by Supabase Row-Level Security and RPCs, so each action is scoped to teams you actually belong to.

Seat enforcement is handled automatically: LemonSqueezy webhooks sync the maximum seat count whenever a Team subscription changes. Seat limits are tracked per team, not per account.

Team collaboration is deliberately thin on what it shares. Your code and specs never leave your machine — they stay in each member’s own repository. What gets shared is only lightweight check-in and claim metadata: status notes, current branch, what you’re working on, and who has claimed which spec. That metadata flows through the team backend (Supabase); the substance of your work does not.

This keeps the collaboration layer fast and low-overhead while preserving Monday Morning’s local-first model: the dashboard is a shared view of status, not a shared copy of your files.