Managing Applied Overlays
This guide covers how to check, edit, update, and remove overlays after they've been applied.
Checking status
Section titled “Checking status”See what overlays are currently applied:
repoverlay statusCheck a specific overlay:
repoverlay status --name my-overlayStatus shows each overlay's name, source, and the files it manages.
Editing an overlay
Section titled “Editing an overlay”The edit command lets you add or remove files from an applied overlay.
Add files
Section titled “Add files”repoverlay edit my-overlay --add newfile.txtrepoverlay edit my-overlay --add file1.txt --add file2.txtThis copies the files to the overlay source, replaces the originals with symlinks, and updates the overlay state.
Remove files
Section titled “Remove files”repoverlay edit my-overlay --remove oldfile.txtInteractive re-selection
Section titled “Interactive re-selection”Re-run the interactive file selector with current files pre-selected:
repoverlay edit my-overlay --interactivePreview changes
Section titled “Preview changes”repoverlay edit my-overlay --add new.txt --dry-runSyncing changes back
Section titled “Syncing changes back”If you've modified overlay files in your repo (e.g., edited a symlinked config), the sync command copies those changes back to the overlay source:
repoverlay sync my-overlayPreview what would be synced:
repoverlay sync my-overlay --dry-runThis is useful when you've tweaked a config in one repo and want to propagate the change to all repos using that overlay.
Updating remote overlays
Section titled “Updating remote overlays”When overlays come from GitHub, repoverlay can pull the latest changes and re-apply them:
# Update all GitHub-sourced overlaysrepoverlay update
# Update a specific overlayrepoverlay update my-overlay
# Preview changesrepoverlay update --dry-runWhen to update
Section titled “When to update”- After the overlay source has been updated on GitHub
- When you want to pick up config changes shared by your team
- Periodically, to stay in sync with upstream overlay changes
Removing overlays
Section titled “Removing overlays”# Remove a specific overlayrepoverlay remove my-overlay
# Remove all applied overlaysrepoverlay remove --all
# Interactive selectionrepoverlay remove --interactive
# Preview what would be removedrepoverlay remove my-overlay --dry-runRemoving an overlay deletes its symlinks (or copies), cleans up the git exclude entries, and removes the state files.
Switching overlays
Section titled “Switching overlays”The switch command atomically replaces all existing overlays with a new one:
repoverlay switch ~/overlays/typescript-airepoverlay switch https://github.com/user/ai-configs/tree/main/rustThis is equivalent to running repoverlay remove --all followed by repoverlay apply, but as a single atomic operation.
When to use switch
Section titled “When to use switch”- Changing between language-specific overlay sets (e.g., Rust vs TypeScript configs)
- Swapping between personal and team overlay configurations
- Resetting to a known overlay state