resumecontext init does two things that have to happen together: it creates
the project in the cloud, and it writes a marker file in the directory recording
which project this is. Everything afterwards, including sync, sharing and
the MCP URL, reads that marker to know which project it is talking about.
This is why projects cannot be created from the website. A browser has no
directory to mark, so a project made there would have nothing syncing into it.
One directory, one project
init marks the exact directory you run it in, and never walks up to an
enclosing git root. That is deliberate: it lets a subfolder of a monorepo be its
own project with its own archive and its own access list.
A cloned repo that is already a project
If the marker file is committed to git, a teammate clones it, accepts their invite (in the CLI or dashboard), and runsresumecontext sync once from that
clone. The first sync registers the directory with their local daemon. From
then on their local history syncs automatically into the shared project.
They should not run init: a directory without the shared marker would create
a separate project instead of joining yours.
Renaming
A project is named after the directory you raninit in. The owner can rename
it from the dashboard: Rename on the
project’s card. Only the name changes; the project id, so every member’s marker
file and MCP URL, stays the same. Coding agents pick up the new name the next
time they connect.