.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’sgoverns 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.