Skip to content

A desktop environment where agents do the work

Open a folder on your Mac and it becomes a project. The agent you already use works inside it, everything the project learns stays with the folder, and the work carries on when you close the window.

What the project is for is up to you — Sync starts with nothing in it, and you add what this particular work needs.

macOS 13+ · Apple silicon · DMG · updates itself

Pre-1.0, and used daily on the machine it is built on.

Open a folder and it becomes a project. Agents work inside it, everything the project learns stays with the folder, and what the project is for is up to you.

getting started

Three steps, and none of them is signing up

  1. 1

    Open a folder

    Any folder on your Mac becomes a project. Sync asks for a name and a description once, and never again.

  2. 2

    Choose what it is for

    A project starts with nothing and gains what you add — notes, conversations, questions, tasks, a reading of your issues. Nothing you did not ask for is in the way.

  3. 3

    Put an agent to work

    Connect the coding agent you already use, or talk to one in the window. It reads the project, works in it, and leaves what it learned behind.

what it remembers

Everything the project learns belongs to the project

Decisions, answers, notes, the reasoning behind a choice somebody made in March — all of it is kept with the folder itself, so it is still there in a year and still there on somebody else’s Mac.

Sync also keeps an eye on whether what it knows is still current, and says so when it is not.

Your folder

~/Work/the-project

and what it knows

kept inside it, travelling with it

  1. kept

    With the folder, not with us

    Everything the project knows is written into the folder’s own history. There is no account, and nothing of yours sits on a server of ours.

  2. shared

    Travels to whoever you give it to

    Hand somebody the project and they get what it has learned along with it. Send it, or keep it to yourself — that is a decision you already know how to make.

  3. merged

    Two people, nothing lost

    When you and a colleague changed the same thing, your version is kept and you are shown exactly what disagreed, rather than one of them quietly winning.

  4. undone

    Put back the way it was

    A sync you did not like can be wound back to the moment before it. Nothing is thrown away to make that possible.

what a project can hold

A project starts empty, and you decide what it is for

Nothing is switched on that you did not ask for, and nothing about the window assumes what you work on. These are what you can add today — a research project, a piece of software and a book each end up looking different.

  • Chat

    Talk to the coding agents installed on this machine, in this project’s folder, without leaving the window.

    adds a section — Chat

  • Terminals

    Shells in this project’s folder, arranged in tabs and tiles, running whether or not you are looking at them.

    adds a section — Terminals

  • Records

    The project’s types, and every record written as one — created, renamed and removed from this window or by an agent.

    adds a section — Records

  • Project memory

    A place for the answers your project has already worked out, so nobody works them out twice — and a section for the questions it has not.

    adds a section — Questions

  • Tasks

    The work this project has committed to, written so that finishing it can be checked — and handed to an agent from the record itself.

    adds a section — Tasks

  • Routines

    Standing instructions an agent carries out on a clock, whether or not anybody has a window open.

    adds a section — Routines

  • Issues

    The issues of a public repository on GitHub, read in this window beside the project they are about.

    adds a section — Issues

  • Posts

    Drafts of what this project will say outside itself, the accounts it says them as, and the text of everything already said.

    adds a section — Posts

None of these is built into Sync, and none of them arrives with it: a fresh install is an empty window until you add something. They install the same way anybody else’s would — which is also how yours would, if you ever wanted the project to hold something nobody has thought of yet. Writing one is documented, and these eight are worked examples.

while you are away

Work does not stop when you close the window

Sync sits in the menu bar and keeps the clock. What you asked for happens on time, under the permissions you approved, and it is waiting for you when you come back.

  1. asked

    You leave a standing instruction

    Every weekday at nine, or once an hour, or whenever suits the work: you say what should happen and how often.

  2. closed

    You close the window

    Sync stays in the menu bar. Nothing is waiting on the window being open, and nothing is waiting on you.

  3. ran

    It runs without you

    The agent does the work under the permissions you approved — and it is recorded as yours, because you are the one who asked for it.

  4. waiting

    It is there in the morning

    What it did is in the project when you open it: the conversation, what changed, and what it decided along the way.

agents

The agent you already use, in the project

Bring your own

Connect the agent you already pay for. Sync adds one line to that agent’s own settings and takes it back out when you disconnect.

Or talk in the window

A conversation with its plan, its steps and its requests for permission drawn as part of the interface — not a terminal squeezed into a panel.

One can raise another

An agent can hand a single piece of work to a second one in a conversation of its own — indented under the conversation it came from, working in the same copy of your files, answering as a message when it is done.

works withClaude CodeCodexGemini CLIGrokOpenCode

where it works

Or in a copy you can throw away

A conversation can be held in a working tree of its own: the project’s files as of its last commit, in a directory beside it. The agent works there, and what you have open does not move under you.

  • Your own work is not in it

    The copy starts from the project’s last commit, so nothing you have not committed goes into it. What an agent edits there are files nobody else has open.

  • Nothing lands in the repository

    The copy is checked out on no branch at all. Nothing appears in your branches that you did not name, because naming one is a decision you make afterwards, if you make it.

  • Keep it, or delete the whole thing

    Work worth keeping gets the branch name you choose. Work that went nowhere is a directory you throw away — and what was committed inside it goes with it. Each copy is called by three words of its own, so two made from the same branch are never the same line twice, and either can go from the menu you pick it in or from Settings, which lists every tree on your machine and which of them still hold work.

coming back

You do not have to keep checking

Work that runs while you are away is only worth having if you find out what it did. Sync interrupts you for the few things that cannot go on without you, and holds everything else until you come back to read it.

  • It comes and gets you for three things

    An agent waiting on a permission, a turn that has finished, a session that fell over. Each one is a conversation that has stopped and cannot go on without you — everything else is an agent doing what you left it doing, and is not worth interrupting anybody for.

  • And only while you are somewhere else

    A notice is raised only when no Sync window is in front of you, and that is the rule rather than a preference you could set the wrong way. Which of the three are worth an interruption is yours to choose; when they interrupt you is not.

  • And a list of what changed while you were gone

    Activity is every change to what the project knows, gathered by record and narrowed to the kinds you chose to follow. A row takes you to the record where it lives — and having looked at something is not the same as being done with it, so a list you are working through does not empty itself behind you.

It talks to nothing else

  • No account
  • No telemetry
  • No analytics
  • No crash reporting

Absent, not switched off. There is nothing to sign up for, and your project sits on your Mac — Sync has no server for it to go to.

The application reaches out for two things on its own: checking whether there is a new version, and loading the catalogue when you open it. Both go to GitHub.

Passwords and tokens are kept in the macOS keychain, where the rest of your passwords are — and an agent is never handed one. It is given something that does the job instead, and the password stays where it is.

where it stands

Used every day, and honest about not being finished

Sync is used every day on the machine it is built on, and it is not finished. Nothing in it is a mock-up: there are no greyed-out buttons and no screens that explain what will one day be there. What you can see, you can use.

  • There are eight things you can add to a project today — a small number, and the one that matters most. All eight install from the catalogue the way anybody else’s would, and packages are not yet signed.
  • Sync is macOS only, and only on Apple silicon. The window is drawn against macOS itself, and shipping something nobody has opened would be worse than shipping nothing.
  • It is before version 1.0. Things move, and some of them will move again.

Open a folder, and it is a project

Free, and yours to keep working in. Sync updates itself quietly and asks nothing of you to get started.

macOS 13+ · Apple silicon · DMG · updates itself