Git in Quilt
Git keeps the history; Quilt keeps everyone in step. Quilt runs a lightweight git layer in every folder, so a pull, a stash or a branch switch on one computer never scrambles anyone else's work.
Nobody has to manage it. This page covers what the layer reads, every git operation it handles, how it respects branches, and how commits fit in.
Two layers, one folder
Above the line, Quilt carries every edit between everyone in seconds, AIs and cloud agents included. Below it, git works the way it always has: each person commits, pushes and pulls on their own computer.
A lightweight git layer, built in
Each folder in a session has Quilt's git layer watching it. It asks git what just happened (an edit, a pull, a stash, a branch switch) and handles it, so the session's work stays apart from what git did on one computer. You keep using git exactly as you do now.
All it reads
HEADgit statusa file at a commitmerge or rebase in progress.gitignore- Never commits
- Never pushes
- Never merges history
- Never touches GitHub
- Never switches branches
- Never runs an AI to merge
- The one change it makes:
.quilt/in your .gitignore
Every git operation, handled
Run any of these on your computer, or let your AI run them. Here is what happens for everyone else in the session.
Saving and syncing
New commits, yours or a teammate'sgit commitgit pushCommitting changes no files, so nothing is sent. Teammates who pull later get content they already have.
git pullgit mergefast-forwardNew commits are merged into the session's work line by line. Overlaps are handed to you and your AI; real clashes show in the Merges bar.
git rebasegit cherry-pickgit revertTreated like a pull: only files that changed between the two commits are touched. Everything else stays as the session has it.
stash, pull, popA stash, a pull and a pop land as one merge once git settles. Your partners never see files flicker away and back.
Undoing
Your undo is yours, not everyone'sgit stashgit stash -uYour files revert as git does, then the session's work comes back. Your stash still has your copy.
reset --hardcheckout -- .git restoreA git command on one computer can't wipe the room's work. Quilt holds that folder until git settles, then puts the session's files back.
git cleanrmDeleting untracked files deletes them for everyone, as you meant. Unlike a stash, a clean is not put away.
git rmgit mvRemoving or moving files is an edit like any other. Partners see the file go, or move.
In the middle of something
Git's work in progress stays on your computermerge in progressrebase in progressWhile git is mid-way, your folder sends nothing and queues what comes in. The top bar says git is busy.
CONFLICTstash pop clashYour folder pauses with "resolve the git conflict". Partners never see git's markers. Once you git add your fix, it is shared as it is.
index.lockA lock left behind by a git that crashed is recognised and set aside, so it can't hold you up forever. Deleting it is still yours to do.
git won't runIf git stops answering in a folder Quilt has synced with git before, that folder waits rather than guessing.
Edge cases
The ones that usually cost an afternoonuntracked files would be overwrittenWhen a teammate commits files the session already gave you, Quilt names them and gives your AI the line that pulls. See below.
.gitignore.quiltignoreIgnored files never leave your computer, nested ignore files included. .quilt/ is added to .gitignore so git clean can't take the session's state.
git initno gitA folder with no git syncs the same. Start git whenever you like; nothing changes for anyone.
git worktreeEach worktree is just a folder on a branch. Join a session from any of them.
Branches never mix
A session is one shared folder, and git says which branch it is on. Quilt follows what git says, computer by computer.
- 1Check out another branchThat folder pauses, so your feature branch never leaks into everyone else's main.
- 2Everyone else keeps goingPartners on main carry on live. Your top bar names the branch you're on.
- 3Come back, catch upSwitch back and your folder rejoins, merging in what the room did while you were away.
One live copy per branch. Each branch gets its own live session, so you can work with whoever is on feature/x while main carries on.
Ask for a commit
Any AI in the session can ask for a commit when work is ready. Whoever commits marks it done, and the request closes for everyone.
Hero copy and pricing table are done, ready to commit.
quilt_request_commit
git commit -m "Hero copy, pricing table"✓ quilt_commit_request_done
Pull past the session's files
When a teammate commits files the session already gave you, git refuses to pull. Quilt names the files and gives your AI the one line that works, without removing them for anyone else.
$ git pull
error: untracked working tree files would be overwritten:
src/hero.js src/pricing.js
# Quilt: both match the commit. Pull with:
$ rm src/hero.js src/pricing.js && git pull --autostash
Fast-forward, 2 files changedStart a session from GitHub
Pick a repository and a branch, or name a new one, and Quilt clones it once for you. From then on it's a folder like any other, and git is yours.