RepoOps
Open the app
Local app / Setup

Connect to your team

This page is for the person accepting a team invite. You accept it in the browser, bind the desktop app to the team with a one-time code, and then check, one direction at a time, that evidence reaches the team. The desktop app keeps working the same way whether it is bound or not.

Last updated

Watch it

Transcript

The walkthrough is silent. These are its captions, in order. Every value it shows is illustrative.

  1. 0:00Open the invite link and sign in
  2. 0:06Generate a connect code. It lasts 15 minutes and works once.
  3. 0:12The desktop app names the team before anything is bound
  4. 0:18Tick the second box to send up to 13 months of history
  5. 0:24Settings, Cloud sync shows the import per repository
1

How to

An invite link from a team owner or admin, and the RepoOps desktop app installed (see Install). The desktop app is free for one developer, on a team or not.

  1. Open the invite link within 14 days.

    It looks like repoops.ai/team/join/<token>. After 14 days it expires and the owner or admin sends a new one.

  2. Sign in.

    Use any way the sign-in page offers: Google, Apple, Microsoft or an emailed link. Signing in creates your RepoOps account if you have none, and the invite is accepted when you land back on the page, which reads You are on the team.

  3. Generate a connect code.

    Open repoops.ai/team/connect, choose the team if you belong to more than one, and press Generate connect code. The code lasts 15 minutes, works once, and is shown once, so copy it before you leave the page. A read-only role cannot generate one: a connected machine holds a write credential, so it needs member access or higher.

  4. Paste the code into the desktop app.

    In the desktop app, open Setup, Connect this machine to a team, paste the code and press Review and connect. The app names the team the code binds to before anything is bound. If it is the wrong team, choose Enter a different code and generate one from the right team. Otherwise tick the agreement and press I agree & connect.

  5. Decide whether to send your history from before today.

    A second box on the same card, Also send my history from before today, is unticked. Tick it and the app sends up to 13 months of what this machine already holds: archived activity events, session records and daily costs (and in capture only mode every session log), so the team pages are not empty on day one. It goes in steps over the next days and uses at most 80% of the day's event quota, so new activity always goes first. Leave it unticked and only new activity is sent. repoops.ai keeps 90 days of history on Solo Hosted and 13 months on Team, or on Solo with the Extended history add-on, counted from when each record happened, so older days are not stored. You can change the answer later under Settings, Cloud sync, where each repository shows how far its import has come.

  6. Choose which repositories send.

    A machine bound to a team has hosted cloud sync on by the team's default, and then only repositories you accepted your team's managed policy for send their redacted activity; Privacy and egress, Cloud sync reads On by your team's default and counts the ones that stay on this machine. Send every tracked repository, or ticking Enable hosted cloud sync yourself, sends them all. Share lessons with your team, off by default, sends each new lesson's trigger, rule and fix to the team brain.

  7. Work through the setup checklist.

    On repoops.ai, Setup checklist, under the sections in the sidebar, opens /team/onboarding: Your team, Repositories, Data sharing, Sources, Verify sync and Team learning. Each step reads Done only from evidence on the team (a bound machine, a listed repository, a received record), so it resumes where the evidence stops. Verify sync is the one to finish: each direction needs a receipt of its own.

2

Use cases

A new member on their first day

Situation
An admin invited you as a member. You installed the desktop app last week and have local sessions on it.
You do
Accept the invite, generate a code at /team/connect, paste it under Setup, Connect this machine to a team, then press Send every tracked repository under Privacy and egress, Cloud sync, if you want all of them to count.
You see
Settings reads Connected to the team name. After the next hourly sync your telemetry, spend and activity appear in the team's view at repoops.ai/team, and the checklist's Your team step reads Done with your machine counted.

The code binds to the wrong team

Situation
You belong to two teams and generated the code while the other one was selected.
You do
Paste the code. Read the line that names the team before you tick the agreement.
You see
The line says the code binds this machine to the other team. Enter a different code returns to the field, nothing is bound, and the first code stays unused until it expires. Generate a new one with the right team chosen.
3

Expected outcome

WorkedSetup, Connect this machine to a team reads Connected to your team's name.
WorkedOn repoops.ai, the setup checklist counts your machine under Your team and names a receipt under Verify sync for each direction you turned on.
WorkedYour team's owners and admins see your device on the roster at /team/overview.
Did not workThis code has expired.

Next step: Codes last 15 minutes. Generate a fresh one.

Did not workThis code was already used.

Next step: Each code binds one machine once. Generate a fresh one.

Did not workThis code is not recognised.

Next step: Check that it was copied whole, or generate a fresh one.

Did not workYour role on this team cannot connect a device.

Next step: Ask an owner or admin to raise your role to member.

Did not workThe invite page says the link is not valid.

Next step: It expired or was revoked. Ask for a new invite.

4

What else to consider

What the team can and cannot see

A bound desktop sends the hourly brain pulse: counts, rule fingerprints and short titles, never the brain's text. Its health report and its activity leave only while cloud sync is on, and the activity is redacted first. Full brain files leave only if you turn on the brain snapshot, which is off by default, and distilled lessons only under Share lessons with your team. Code stays on the machine. A raw transcript crosses only under a grant you give, or on a managed repository whose policy you accepted (see Privacy and retention).

Once you are connected, the team's policy applies on your machine: the capture floor, the sensitive-path watchlist and any approval floor the team set.

Your account and the roster

repoops.ai/account is yours: the name and email your sign-in reports, sign out, export your data and delete your account. Owners and admins run the roster at /team/overview: invite by email with a role (an invite can grant admin at most; only an owner grants owner), change a role, revoke one device, or remove a member. Removing a member, or dropping their role below member, revokes their device bindings at once, so that desktop stops sending. Inviting needs a plan with seats and a free seat.

The hosted dashboard

repoops.ai/team shows the evidence the service received from every bound machine, scoped by role and by each member's repository scope. The desktop app shows this machine's capture. A connected device is not proof that its evidence arrived: read the source, the time and the receipt before treating an empty view as a clean result. Missing, restricted and expired evidence are different states, and each page says which one it is in.

The same case on the desktop app

A case the desktop app opens lives in its local store first. When the machine is bound, the case and its receipts are pushed to the team, and a decision an owner or admin makes there (a status move, an assignee, an approval) comes back on a cursor that never rewinds. The case's sync line names the team's decision with who made it and when. When this machine's record still says something else, the line says so in bold and says the team's decision is the one that stands. A team approval sits beside the local approval and never replaces it.

Unbound, the line reads This machine is not bound to a team; nothing leaves it, and local cases, checks and results work as before. A failed pull names its reason on the same line and leaves the cursor where it was, so the next pull catches up.

Managed repositories

On a repository whose owner published a managed investigation policy, you review and accept that exact version on Privacy and egress, under Managed GitHub repositories, and transcript uploads for that repository follow it. A changed policy needs fresh acceptance. Acceptance reads awaiting evidence until delivery is verified. The owner's side is in the team owner docs, which a signed-in team owner can read.