Release Notes
Fixes
Fixed
Write git exclude entries to the common git directory for worktrees
Git reads info/exclude from the shared .git/ directory, not the worktree-specific $GIT_DIR. Overlay files applied in worktree checkouts would show as untracked because exclude entries were written to the wrong location. Now uses git rev-parse --git-path to resolve the correct path.
Command: library
Added
Add in-repo overlay library (repoverlay library)
You can now store overlays directly in your repository at .repoverlay/library/, making them shareable with your team via version control. The new library subcommand group provides full lifecycle management:
-
library list— see what's in the library -
library import <path-or-name>— add an overlay (accepts filesystem paths or applied overlay names) -
library export <name> <dest>— copy an overlay out of the library -
library remove <name>— delete from the library
Library overlays integrate throughout the tool:
-
apply my-overlayresolves from the library first (highest priority) -
apply my-overlay --from @librarytargets the library exclusively -
create --into librarycreates overlays directly in the library -
browseincludes library overlays alongside configured sources -
browseworks with library-only repos — no external sources required
The library path defaults to .repoverlay/library/ but is configurable via library_path in your repo's repoverlay.ccl config. .gitignore is automatically updated to ensure library contents are tracked by git.
Command: browse
Added
Show last-updated timestamps for applied overlays in browse UI
Applied overlays now display relative timestamps (e.g. '2 days ago') in the browse selection UI instead of a plain 'already applied' label, making it easier to see how recently each overlay was synced.
Auto-detect flat folder layout for local sources
Local directory sources no longer require org/repo/name nesting. Flat directories are auto-detected: a directory with overlay files is treated as a single overlay, and subdirectories are each treated as separate overlays.
Changed
Promote browse as the primary overlay workflow
Updated help text, README, and CLI reference to recommend browse as the primary entry point for interactive use. The apply command remains available for scripting and power users. Improved the error message when no sources are configured.
Command: create
Added
Support glob patterns in --include flag
The --include flag on create now accepts glob patterns (e.g., *.md, .claude/**) in addition to exact file paths. Globs are expanded relative to the source repository root using standard glob syntax.
Fixed
Discover committed config files in source repositories
create now discovers tracked config files (e.g., .envrc, .vscode/, justfile, Cargo.toml, Dockerfile) in addition to AI configs, gitignored, and untracked files. Detection uses an exclusion-based heuristic that filters out source code, documentation, and media rather than trying to allowlist config patterns. Also fixes output path to create overlay at output/<name>/ subdirectory.
Performance
Fix UI hang on large repos during overlay creation
Skip transient tool state directories (worktrees/, todos/) during AI config directory walking, reducing discovered files from ~59K to ~22 on repos with large .claude/ directories. Also fix O(n²) ancestor traversal in the selection UI with a pre-built parent lookup map, and add a progress spinner with Ctrl+C support for git clone/pull operations.
Command: edit
Fixed
Fix edit add failing on directories with "Is a directory" error
The edit add command now correctly handles directories (e.g., .claude/commands) by using recursive directory copy, directory symlinks, and EntryType::Directory in overlay state. Rollback logic also properly restores directories on failure.
Remove git remote requirement for locally-applied overlays
edit add no longer requires a git remote origin when working with overlays applied from local paths. Remote detection is deferred to only when needed for overlay repo auto-commit.
Persist edit exclusions across remove/reapply cycles
Files removed via edit remove now stay removed when an overlay is removed and reapplied. Exclusions are tracked in overlay state and persisted in the external backup so they survive the full lifecycle.
Command: restore
Fixed
Restore broken symlinks without requiring --force
restore no longer errors when an overlay's state exists but its symlinked files have been deleted. Since restore's purpose is to re-create missing files, it now always forces past the "already applied" check.
Command: source
Added
Support local directory sources for overlays
Register directories as overlay sources using source add ./path. Local sources are stored in a per-repo config file (.repoverlay/config.ccl), which is automatically git-excluded. Paths must start with /, ./, or ~ to be recognized as local (otherwise treated as git URL/shorthand). Local sources skip cloning and caching — overlays are read directly from the filesystem. Use source list and source remove to manage both global git sources and repo-local sources.
Command: switch
Added
Add --dry-run support to switch command
The switch command now supports --dry-run to preview what would change without making modifications, consistent with apply, remove, restore, and update.
Command: sync
Fixed
Skip non-syncable overlays gracefully in --all mode
sync --all no longer fails when only locally-applied overlays are present. The overlay repo manager is now lazily initialized, only created when a syncable overlay is encountered. Local and GitHub overlays are skipped with a warning message.
Install repoverlay 0.11.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.11.0/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.11.0/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.11.0
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |