I am about to start the development of a tool to make a central Obsidian vault for deployment of common resources across vaults.
The tool would use an Obsidian central vault where you write, test, and deploy feature to other vaults. That way the destination vault is not affected by potential overwriting. Of course, the best is having a Git repo where you can go forward and backward in time, or also create worktrees to work in different tasks on the same repository.
I am thinking on using Python; not developing inside Obsidian as a JS script, template or plugin, to be able to handle it at system level.
| Tool | Direction | Purpose | |--------------------|------------------|-------------------------------------| | obsidian-central | Central β Vaults | Deploy shared configs & resources |
The obsidian-central concept would work like this:
central-vault/
βββ templates/ β deploy to multiple vaults
βββ scripts/
βββ hotkeys/
βββ properties/
βββ maps/
βββ folder-structures/
βββ attachments/
βββ dashboards/
βββ plugins-config/
βββ dashboards/
βββ deploy.json β defines what goes where
Potential features:
- Deploy modes: copy, symlink, or hardlink
- Target vaults: deploy to one or many vaults that share commonalities
- Selective sync: choose what to deploy (templates only, hotkeys only, data.json, etc.)
- Profiles: βminimalβ, βfullβ, βwritingβ, βcodingβ preset configurations
- Diff/preview: show log what would change before deploying
- Dry run mode
Sample config for deployment:
{
"central": "/home/user/obsidian/central",
"targets": [
"/home/user/obsidian/work",
"/home/user/obsidian/personal"
],
"deploy": {
"templates": { "mode": "symlink" },
"hotkeys": { "mode": "copy" },
"scripts": { "mode": "symlink" }
}
}
If you have any ideas or suggestions, be welcome.
After I finish it, I will share it via GitHub.
Thanks,
f0nzie@thewoodlands-tx