The In-Repo Library
The library is a directory of overlays stored inside a repository, at .repoverlay/library/ by default. Unlike applied overlay files, library overlays are tracked by git — commit them and everyone who clones the repo gets them.
Use the library when:
- A team wants to ship optional config (editor settings, AI configs) with the repo itself, instead of hosting a separate overlay repository
- You want overlays that extend or include other overlays — composition only works between library overlays
Applying library overlays
Section titled “Applying library overlays”Library overlays are resolved by bare name, before any configured source:
repoverlay apply my-overlayIf .repoverlay/library/my-overlay/ exists, that's what gets applied.
Adding overlays to the library
Section titled “Adding overlays to the library”Create a new overlay directly in the library:
# Create into the library and apply itrepoverlay create my-overlay --into library
# Create into the library without applyingrepoverlay create my-overlay --into library --no-applyImport an existing overlay — from a path, a GitHub URL, an org/repo/name reference, or the name of an already-applied overlay:
repoverlay library import ./path/to/overlayrepoverlay library import org/repo/overlay-name --name shared-configOr move an applied overlay's source into the library:
repoverlay move my-overlay --to libraryIf the library path is covered by .gitignore, repoverlay appends a negation pattern (for example !.repoverlay/library/) so the library stays tracked.
Listing, exporting, and removing
Section titled “Listing, exporting, and removing”# List overlays in the libraryrepoverlay library list
# Copy a library overlay out to a directoryrepoverlay library export my-overlay --to ../shared-overlays/my-overlay
# Delete a library overlay (--force if it's currently applied)repoverlay library remove my-overlayCustom library location
Section titled “Custom library location”Set library_path in the per-repo config (.repoverlay/config.ccl) to move the library. The path must be relative to the repo root:
library_path = tools/overlays