FAQ

Home > FAQs > opencues seed-configs

What is opencues seed-configs?

opencues seed-configs is the command that owns your ~/.cues/ directory: it puts the shipped defaults there the first time, keeps the library scripts fresh on every install, and self-heals the settings file if it's ever truncated.

Four phases, every run

  • SEED: first-time copy of the shipped defaults (settings file and the cues/, blanks/, scripts/ folders) into ~/.cues/. Files that already exist with content are skipped, so your edits are never clobbered.
  • SYNC: overwrites stale library files (.sh / .cs / .ps1 helper scripts) every install, but never overwrites .md files, which are user content. This catches drift when script logic changes between versions.
  • HEAL: re-seeds a 0-byte OPENCUES.md and merges in any new settings a newer version shipped, keeping your existing values. An empty settings file would otherwise silently break every runtime-settings read.
  • COMPILE (WSL only): compiles the colocated C# helpers into the .exe files the volume and brightness blanks use on Windows. Idempotent; only recompiles when the source is newer.

You rarely run it by hand

Every opencues install <host> invokes it automatically with --silent. Run it standalone when you suspect drift, or with --dry-run to see the plan without copying anything. The idempotence is the point: if a helper script went missing or a config carries a legacy filename, re-running converges the tree without touching your content. --project writes the cues/ / blanks/ folders into <cwd>/.cues/ instead, for project-level setups.

A deliberate division of labour

seed-configs never touches CUES.md or BLANKS.md; scaffolding those master files is opencues init's job. One command owns the user-level tree, another owns project scaffolding, and neither surprises the other.

Related: How to install OpenCues · What is OPENCUES.md? · Hot-reload config · GitHub repo