FAQ

Home > FAQs > Write your own cue

How do I write my own cue?

One markdown file. Drop a CUE.md into ~/.cues/cues/<name>/ and it's live within a couple of seconds, in every host, with no build and no restart.

The anatomy

The frontmatter declares what the cue claims: scope: words (the default) needs a match: regex or a keywords: list; scope: sentence needs neither and rewrites whole sentences. priority: decides who wins when several sources could claim a word. The body is the intelligence: an LLM prompt, a static JSON dictionary of word to tip + alternatives (resolved locally, instantly), or both, with static entries skipping the LLM entirely.

A minimal LLM cue

The shipped spell-checker is the idiom in full: match: .* at priority: 10 with a two-line prompt. A domain cue is the same shape with a narrower trigger and a higher priority, which is why the routing stays safe: each word is dispatched to exactly one source, so your cue can never touch words it doesn't claim.

Sharing it

A project-level copy in <project>/.cues/cues/ ships with your repo and wins name conflicts against user-level; teammates get it automatically. Publishing a good cue is also the easiest first contribution to OpenCues itself: it's a config file, not code.

Related: What is a cue? · Write your own blank · Contributing · Write better cue prompts · GitHub repo