Skip to contentllms.txt

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.

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).

The canonical copy of each item lives in your library. That’s where edits go:

Terminal window
# Find the item
syllago list --type rules
# See where it lives and what's in it
syllago inspect rules/typescript

Then 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.

Adding a new rule, or a new provider? Install from the library outward:

Terminal window
# One provider at a time
syllago install typescript --to claude-code
syllago install typescript --to cursor
# Or every detected provider at once
syllago install typescript --to-all
# Or everything of one type, everywhere
syllago install --type rules --to-all

Re-running install is safe: syllago tracks what’s installed where and asks (or takes your --on-clean / --on-modified preference) when something already exists.

  • --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 install for it.
  • Registry items you don’t reinstall. Content installed from a registry updates when you choose: syllago registry sync pulls the registry, then re-running syllago install for an item installs its newer version. syllago sync-install --source registry --to <provider> does both in one step (add --dry-run to preview the install). See sync-install.
Terminal window
# Everything syllago knows about, grouped by type
syllago list
# One item's full metadata, including install state
syllago inspect rules/typescript