Keep rules in sync across multiple AI tools
“Single source of truth” is syllago’s core promise. This guide covers the ongoing workflow: where to make edits, how they propagate, and what silently breaks the sync if you’re not careful.
How the sync model works
Section titled “How the sync model works”When you run syllago install, the default method is a symlink: the file in the provider’s directory points back at the canonical copy in your library (~/.syllago/content/). Edit the library copy and every symlinked install sees the change immediately — there is no regenerate or re-sync step.
The exceptions: hooks and MCP configs are merged into the provider’s settings file rather than linked, and anything installed with --method copy is a standalone snapshot. Those don’t auto-propagate (see What breaks sync below).
Make edits in one place: the library
Section titled “Make edits in one place: the library”The canonical copy of each item lives in your library. That’s where edits go:
# Find the itemsyllago list --type rules
# See where it lives and what's in itsyllago inspect rules/typescriptThen edit the content file under ~/.syllago/content/rules/typescript/ with your editor of choice. Every provider with a symlinked install picks the change up instantly.
Editing the file in a provider directory (say, .cursor/rules/typescript.mdc) is the wrong direction — see below.
Install to every tool you use
Section titled “Install to every tool you use”Adding a new rule, or a new provider? Install from the library outward:
# One provider at a timesyllago install typescript --to claude-codesyllago install typescript --to cursor
# Or every detected provider at oncesyllago install typescript --to-all
# Or everything of one type, everywheresyllago install --type rules --to-allRe-running install is safe: syllago tracks what’s installed where and asks (or takes your --on-clean / --on-modified preference) when something already exists.
What breaks sync
Section titled “What breaks sync”--method copy. A copy is frozen at install time. Use it deliberately (e.g., a machine that can’t resolve symlinks), and remember those installs need re-running after edits.- Manual edits in provider directories. Editing the provider-side file breaks the “library is canonical” assumption — with a symlink your edit actually lands in the library (fine, if surprising); with a copy it diverges silently. syllago detects stale install records and offers to reconcile (
--on-modified drop-record|append-fresh|keep). - Hooks and MCP configs. These are merged into provider settings files, not symlinked. After editing one in your library, re-run
syllago installfor it. - Registry items you don’t reinstall. Content installed from a registry updates when you choose:
syllago registry syncpulls the registry, then re-runningsyllago installfor an item installs its newer version.syllago sync-install --source registry --to <provider>does both in one step (add--dry-runto preview the install). Seesync-install.
Check what’s installed where
Section titled “Check what’s installed where”# Everything syllago knows about, grouped by typesyllago list
# One item's full metadata, including install statesyllago inspect rules/typescriptRelated
Section titled “Related”- Library — the canonical store and its layout
syllago install— install methods and reconciliation flags- Format Conversion — what happens to an item on its way into each provider