FAQ

Home > FAQs > The .cues folder

What is the .cues folder?

If you've found a .cues/ folder in a repo (or in your home directory), it's OpenCues configuration: the same convention as .editorconfig or .npmrc, an opaque, host-neutral directory that carries inline-AI config with the project it belongs to.

The three layers

PathRole
$OPENCUES_HOMEEnvironment override, top priority; a CI and power-user escape hatch
<project>/.cues/Project-level: applies when a host runs from inside that project
~/.cues/User-level: your global defaults, shared by every host

The composition rule is additive: moving into a project extends what you already have, never silently removes anything. Name collisions fall to the project copy, and the only subtraction operator is an explicit disable: list in a master file. Missing layers are silently skipped, so a machine with no .cues/ anywhere just gets empty config, not a crash.

What lives inside

Master files configure each surface as a whole (CUES.md, BLANKS.md), and per-surface folders hold the sources themselves: cues/<name>/CUE.md, blanks/<name>/BLANK.md, where the folder name is the source id. Source folders may bundle scripts/, references/, and assets/. The user-level copy additionally carries runtime settings (OPENCUES.md), your personal data file (IDENTITY.md), and API keys (.env, owner-only permissions).

Why teams commit it

A project-level .cues/ in version control gives everyone who works in the repo the same vocabulary: a terminology cue for the domain, a project-specific blank, or a disable: [grammar] that mutes grammar correction inside a repo full of intentionally informal fixture text. Teammates' own user-level libraries stay untouched; the project layer composes on top. Edits hot-reload in about two seconds, no restart of any host.

One exception worth knowing

Native hosts (Claude Code, OpenCode, Gemini CLI, the shell app) read these folders straight off disk on every keystroke. The Chrome extension can't (browsers have no filesystem access), so a small native-messaging host watches ~/.cues/ and pushes changes into the extension live; without it, the extension runs on bundled defaults. Either way, the folder is the single source of truth.

Related: Team config with project cues · What is CUES.md? · Where is OpenCues installed? · GitHub repo