xooooooooox838 downloadsSelective, on-demand distribution of vault configuration (snippets, hotkeys, plugin settings) across devices and vaults.
Selective, on-demand sync of Obsidian settings — hotkeys, CSS snippets, themes, plugin configs — across devices and vaults. The data rides your existing note sync (remotely-save, Obsidian Sync, iCloud…) by default, or config-sync's own git / vault remotes. Nothing ever lands on a device without an explicit Apply from the Sync Center.
[!IMPORTANT] Update every device before any of them captures or pulls again. This release moves the settings and the store to a new format, and the move is one way. A device still on 2.21.0 meets the new format, refuses it with a plain message and changes nothing. A device on 2.20.0 or earlier resets its Config Sync settings to defaults — that one cannot be fixed afterwards. Update Config Sync everywhere first, then carry on as usual. Three things also behave differently afterwards: see Updating from 2.21.0 and earlier.

{sharing, encrypted} pair (All devices / Desktop only / Mobile only / This device), and string-array keys can give each element its own sharing rule. (details)This device keys never leave the machine, and a per-device passphrase encrypts what should travel.key:value qualifiers with autocomplete (section:, type:, action:, mode:, device:), combined freely with plain text.From Obsidian: Settings → Community plugins → Browse, search Config Sync, install and enable.
Beta builds: via BRAT, add xooooooooox/obsidian-config-sync.

Two planes, kept separate.
{sharing, encrypted} rule; Apply lands the items you tick into this device's config dir. Direction (↑ capture, ↓ apply) comes from a per-device sync baseline, not file times, so the Sync Center can tell which side actually moved.The full tour — Sync Center anatomy, field rules, encryption, the install engine, remotes, walkthroughs — lives in the user guide.
Everything the plugin does by default stays inside your vault: Capture/Apply copy files between your config folder and the data folder, and your own note sync moves them between devices. Three optional, desktop-only remote behaviors go further and are disclosed here:
git binary against the URL you configured — that is the only network access the plugin ever performs. No telemetry, no other endpoints.git through the environment, never through the command line. Only the secret's name is written to the plugin's settings — the token itself never enters data.json, the store, or any error message. Config Sync never sends the remotes list anywhere either (it is a locked this-device field), so the name reaches another device only if your own vault sync copies the plugin's data.json; each device links its own token, or none at all.All three are inert until you configure a remote, and never run without an explicit Pull or Push from the Sync Center.
npm install
npm run dev # watch build
npm test # vitest
npm run build # type-check + production bundle
Develop against a dedicated test vault (never a real one).