Skip to main content
A .outerlayer/ directory in a subfolder compiles the same way into that subfolder, such as packages/api/CLAUDE.md from packages/api/.outerlayer/AGENTS.md.

Who reads what

A change to policy or validators takes effect when it merges to the base branch, not when it is pushed on a feature branch.

config.json

What each target gets

outerlayer context emit writes these files for each target in targets: AGENTS.md is written whatever the targets are. For Cursor, each ${VAR} in mcp.json becomes ${env:VAR}, Cursor’s syntax for an environment variable.

commands/

Each Markdown file is a slash command. outerlayer context emit compiles it per target: Claude Code gets the file as written, frontmatter included. Cursor gets the frontmatter description as a comment and drops argument-hint.

policy.yaml and validators

See Policy and validators for every key.

Governed repositories

A repository named in another’s governs list commits none of these files. It gets them written into its working tree at session start instead. One that still commits them gets a warning row on every pull request until they are removed. It commits one file of its own: .outerlayer-pin.json at its root, which records the context source’s commit. See Share instructions across repositories.