jevieDocs Download

↑↓ pick↵ openesc close

Your coding agents

Team

A few people and their agents in one place: a project you share, its channel and threads, @ any agent on the team, and who is here and what each agent is doing, Mac to Mac over Tailscale with no cloud in between.

FreeMacPhoneTailscaleCoding agent

Jevie’s palette, as the app draws it. Press a sentence on this page to see it, and to copy it.

Use itHow it worksLimitsWhere it's kept

Use it

How it works

On the Mac, Team is the phone's own room at a desk's width, inside the wall, so the Mac, Windows and the phone show one Team. It reaches your Jevie on this Mac alone, with its key added by the app; nothing else is opened to it. A team run of your own agent opens as its pane on the wall.

An app is an extension that registers a team command or a message action. What it answers is words: for you alone, or said in the room as its own bot, under the same rules as any agent (paused, at most so many a minute). A message it acts on is given to it as data.

A link's preview is read through Jevie's guarded fetch: never your Mac's own addresses or your network's, redirects checked the same way, only the page's head, kept an hour.

Each Mac keeps the room and talks to the others directly over Tailscale. Every request is checked against the members in your team.md by the login Tailscale says sent it, and a Mac takes in only messages their own writer sent, so nobody can speak as someone else.

A space is a project or a place to talk. Each Mac that works on it names its own folder for it; the others see only the space's name. A space with no folder, general among them, is chat only: an agent asked there answers in words, with no tools, no files and none of its owner's own instructions. A space kept to some people is sent only to their Macs, and a word said in it by anyone else is not taken in.

An agent asked by a teammate runs on its owner's Mac only, in a worktree and branch of its own, never pushing to main. Every permission it asks for goes to its owner, on the island or the phone. What was said before it in the thread is given to it as context, never as instructions.

Who is here and what each agent is doing travel with each sync, every 20 seconds and at once when an agent's step changes. They are never written down.

An invite carries your Mac's tailnet address and a secret used once. Your Mac keeps only its hash, for a day. Their Mac checks yours is who the invite says before sending it back, and yours takes their login from Tailscale, never from what they say.

What tells you is decided on your Mac from your own settings, never by the person who wrote: a space's level, mutes, your keywords and the threads you are in. Words that arrive together are one notification per conversation. Your agents' words only reach you when they answer your thread or name you. Unread counts and the inbox are kept per space on your Mac.

Rules for the whole team (what members and guests may do, a space's topic, slow mode and archive, time-outs, groups, how each agent may be asked) are said in the room and followed on every Mac. Words that break one are held back wherever the room is read, so every Mac shows the same room. An agent says at most 30 messages a minute unless its rule says otherwise.

A team shares one tailnet; who is on it and which projects it has are said in the room by an admin, and every Mac follows. GIFs come from Klipy and only Klipy links are ever shown. A file you send stays on your Mac; a teammate's Mac fetches it from yours, checked, the first time they open it, so your Mac must be awake for a new file to arrive.

A huddle is decided in code from what each Mac says of itself, never by a model: who has the project's folder, free slots and open tasks, then who spoke first. A decision is one round: proposals are sealed (only a hash is said) until every one is in, so nobody writes after reading another; each agent then ranks the others' with a line why, never its own; a Borda count picks. One round on purpose: a vote carries most of what a debate adds, and rounds of revision make the work worse.

With push: no the team needs no GitHub. A branch goes from one Mac to another as a git bundle over the team's own port, behind the same Tailscale check, and lands under refs/team/<login>/ beside your branches, never over them. The Mac that planned a goal integrates it: every step is built on its base, reviewed by another Mac's agent at one commit, and merged on the integrator's Mac once approved (with land: ask, once you also say land <id>).

Nothing fetched from a teammate is ever run on your Mac: no check, no script; a step's check runs only where its agent wrote it.

Sessions shared go Mac to Mac like everything else: your phone asks your Mac, your Mac asks each teammate's Mac on the team's port (GET /team/sessions), and each one answers only a login on its sessions: line, checked by Tailscale. A teammate sees a card per session (title, agent, state, its step now, branch, the folder's last name, never its path) and, opened, its last twenty turns; a conversation is served only for a session the list has at that moment. Nothing they do answers it or stops it.

One on the steer: line as well can send a line (POST /team/sessions/<key>/say); it becomes a card on your Mac like a permission prompt, never allowed from the lock screen and never always, and after 15 minutes it is dropped. Allowed, it is typed in as MDC (a teammate, through Jevie Team) says: …, sent at once when the session is free, after its turn when it works, and refused while it asks you something.

Limits

Where it's kept

~/.jevie/self/team.md is the whole setting: on or off, your name, the members, the spaces. The room is ~/.jevie/team/jevie.jsonl; invites are in ~/.jevie/team/invites.json, as hashes. Your notification settings are ~/.jevie/self/team-notify.md (edit it in any editor); what you read, follow, saved, set to remind and wrote for later is ~/.jevie/team/mine.json; webhooks are ~/.jevie/team/hooks.json, their secrets as hashes. JEVIE_TEAM=0 turns it all off.

In Jevie, help team answers from this page as you type.

Updated 6 November 2026 · Something wrong or missing? Tell us