t3-sync
Skill110 starsChanged 17 days agoMITView on GitHub
Sync global dev setup (configs, skills, MCP, shell, editors) between the user's computers. Use for "sync my setup", "sync everything", "sync X only", "change my sync picks", "copy my settings to my other computer", "make my computers match".
- Reads credentials
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- t3-checkupSkill
- t3-cleanupSkill
- t3-digestSkill
- t3-get-outputSkill
- t3-getting-startedSkill
- t3-handoffSkill
- t3-install-toolsSkill
- t3-new-threadSkill
- t3-phone-answersSkill
- t3-pm-threadSkill
- t3-project-reportSkill
- t3-project-trackerSkill
- t3-save-learningsSkill
- t3-statusSkill
- t3-templatesSkill
- t3-thread-actionsSkill
- t3-tots-rulesSkill
- t3-updateSkill
- t3-usageSkill
- t3-waitingSkill
- t3-watchSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 26
Use these kind values: file, dir, json-merge (merge keys and keep keys that exist only on the target), tool-list (install whatever is …
- Distinctive: line 42
Write with the target's native shell.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
T3 Sync
Follow the t3-tots-rules skill (skills/t3-tots-rules/SKILL.md). Steps that use the box, ListMachines, routines, cards or SendToUser are Grok Bot only; other agents follow t3-tots-rules "Grok Bot only". Each apply is a write, so it needs the user's yes, and saved picks count only as its "Writes" section allows.
Scope (global only)
- Include: T3 Code settings (keybindings, appearance, providers, model defaults; not threads or DB). Provider CLIs (Claude Code, Codex, Cursor CLI, OpenCode, Gemini and others): version, global config, rules/AGENTS.md/CLAUDE.md, skills, commands, agents, MCP server definitions. Shell profile (aliases, PATH, functions). Global git config (not credentials). Editor settings, keybindings, snippets and extension list (VS Code, Cursor, Zed). Global npm/pnpm/bun/pipx/uv tools. Runtime versions (node, python, bun).
- Never copy: secrets, tokens, API keys,
*auth*/*token*/credential files, ssh/gpg keys, keychains,.env, git credential helpers' stores, session or history DBs, caches, project repos or project data. If a config file holds an inline secret (an MCP env var, for example), copy it with that value removed and mark it "fill in manually". - Logins: list each one as "sign in manually:
<tool>(<login command>)".
First run
- Run ListMachines. Name each computer with its OS and say which ones are offline. Ask which computer is the main one (the source), and the direction: main to all others, a single pair, or a two-way merge of picked items. You need 2 or more connected computers.
- Scan both computers read-only and in parallel (zsh on macOS, PowerShell on Windows, bash on Linux). Resolve home dirs at runtime. For each candidate, collect its existence, version, a hash, and a short diff. Skip secret files by name without opening them.
- Show a grouped checklist with the groups T3 Code / Provider CLIs / MCP / Shell / Git / Editors / Global tools / Runtimes / Sign in manually. Mark each item
missing(on the target),differs(one-line summary),same, ornot portable(an OS-only app, for example). Let the user pick by group or by item. - Save the result to
<tools folder>/sync-prefs.jsonon the main computer, then add a memory note: main computer, direction, path to the prefs file.
Use these{"version":1,"main":"<machine label>","targets":["<label>"],"direction":"main->targets", "items":[{"id":"claude.global-rules","group":"Provider CLIs","src":"~/.claude/CLAUDE.md","kind":"file"}], "excluded":["..."],"updated":"<ISO time>"}kindvalues:file,dir,json-merge(merge keys and keep keys that exist only on the target),tool-list(install whatever is missing),version(upgrade to match),shell-snippet(translated). - Then apply the picks, following the steps under Apply.
Later runs
- "sync everything": read the prefs file, re-scan only the saved items, and show a short diff (what will change on each target). Then apply the saved items as t3-tots-rules "Writes" allows. Report anything new that is not in the picks, but don't apply it.
- "sync X only": match X against item ids and groups, then run the same flow for just those items.
- "change my sync picks": re-scan everything, show the checklist with the current picks pre-marked, and save the changes. Change the main computer or direction only when the user asks.
Apply
- Back up first: copy every file you will overwrite on the target to
<tools folder>/sync-backups/<timestamp>/(same relative path) and record the backup path. - Translate per OS:
- Map paths between
~/.config/xand%APPDATA%\xor%USERPROFILE%\.x, depending on where the tool reads its config on that OS (check, don't assume). Use\vs/path separators, and rewrite absolute home paths inside configs. - Shell: convert zsh aliases, exports and functions to the PowerShell
$PROFILE(Set-Alias/functions,$env:). Skip anything that can't be translated and list it. - Editors: Mac
~/Library/Application Support/<Editor>/User, Windows%APPDATA%\<Editor>\User, Linux~/.config/<Editor>/User. Convert keybindings between cmd and ctrl. - MCP commands: map
npxtonpx.cmdwhere Windows needs it, and fix interpreter paths. - Tools and runtime versions: install or upgrade with the commands in t3-update, including its project-safety check.
- Map paths between
- Write with the target's native shell. Transfer files through the box with CopyToBox/CopyFromBox. Never print file contents that may hold secrets.
- Verify: re-hash or diff each item, run
<tool> --version, check that JSON parses, and load the shell profile in a fresh shell to check for errors. - Report, per target: what was changed, added, or skipped (and why), the backup path, any manual sign-ins still needed, and anything you couldn't check. If verification fails, offer to restore from the backup.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

