Relation Sync

approved

by Alessandro Casnigo

This plugin has not been manually reviewed by Obsidian staff. Automatically syncs inverse relations in frontmatter. Define relation pairs like parent-child or spouse and the plugin keeps both sides in sync.

1 stars107 downloadsUpdated 4d agoMIT

Relation Sync for Obsidian

Release Downloads

Relation Sync is a powerful Obsidian plugin that automates the management of bidirectional relationships within your vault's YAML frontmatter. Stop manually updating back-references; define your logic once and let the plugin handle the rest.


✨ Key Features

  • 🔄 Automatic Bidirectional Syncing: Add a relation in one note, and the inverse is instantly added to the target note.
  • 📚 Extensive Default Library: Over 50+ pre-configured relation pairs covering Family, Romantic, Professional, and Creative relationships.
  • 🌍 Multi-Language Support: Fully localized in 8 languages (English, Italian, German, Spanish, French, Japanese, Portuguese, and Chinese).
  • 🛠️ Fully Customizable: Define your own custom relation pairs (e.g., VillainHero, MasterApprentice).
  • 📂 Multi-Value Aware: Handles both single links and arrays of links seamlessly.
  • ⚡ Bulk Sync Tool: A specialized tool to scan and synchronize your entire vault in one click.
  • 🎨 Modern Settings UI: Grouped, searchable, and filterable interface for effortless configuration.

🚀 How It Works

Imagine you are writing about your family. You add a link to your father in your note:

John Doe.md:
---
father: [[David Doe]]
---

Relation Sync will immediately detect this and update David's note:

David Doe.md:
---
child: [[John Doe]]
---

If you later change or remove the link, the plugin updates the corresponding inverse relation automatically, ensuring your graph remains perfectly consistent.


📂 Supported Categories

The plugin comes with a rich set of defaults grouped by category:

CategoryExamples
FamilyParent ↔ Child, Siblings, Spouses, Cousins, Grandparents
RomanticPartner, Lover, Sweetheart, Ex-partner
FriendshipBest Friend, Roommate, Childhood Friend
ProfessionalManager ↔ Employee, Colleague, Client ↔ Provider
EducationTeacher ↔ Student, Classmate, Mentor ↔ Mentee
CreativeCollaborator, Rival, Muse
SocialNeighbor, Acquaintance, Roommate

⚙️ Installation

Community Plugins (Recommended)

  1. Open Settings in Obsidian.
  2. Go to Community plugins and click Browse.
  3. Search for Relation Sync.
  4. Click Install, then Enable.

Manual Installation

  1. Download the latest main.js, manifest.json, and styles.css from the Releases page.
  2. Create a folder named relation-sync in your vault's .obsidian/plugins/ directory.
  3. Move the downloaded files into that folder.
  4. Reload Obsidian and enable the plugin in settings.

🛠️ Development

If you want to build the plugin yourself or contribute:

  1. Clone the repository.
  2. Run npm install to install dependencies.
  3. Run npm run dev to start the build process in watch mode.
  4. Run npm run build for a production release.

🤝 Contributing & Support

  • Bugs & Features: Please open an issue on the GitHub repository.
  • Localization: If you'd like to help translate the plugin into more languages, contributions to the src/locales directory are welcome!
  • Support: If you find this plugin useful, consider supporting development.

Developed with ❤️ by casungo

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.