This document contains the help content for the repoverlay command-line program.
Command Overview:
repoverlay↴repoverlay apply↴repoverlay remove↴repoverlay status↴repoverlay restore↴repoverlay update↴repoverlay create↴repoverlay move↴repoverlay switch↴repoverlay cache↴repoverlay cache list↴repoverlay cache remove↴repoverlay cache path↴repoverlay browse↴repoverlay sync↴repoverlay edit↴repoverlay edit add↴repoverlay edit remove↴repoverlay source↴repoverlay source add↴repoverlay source list↴repoverlay source remove↴repoverlay library↴repoverlay library list↴repoverlay library import↴repoverlay library export↴repoverlay library remove↴repoverlay completions↴
Overlay config files into git repositories without committing them
Usage: repoverlay [COMMAND]
apply— Apply an overlay to a git repository (scripting / power-user)remove— Remove applied overlay(s)status— Show the status of applied overlaysrestore— Restore overlays after git clean or other removalupdate— Update applied overlays from remote sourcescreate— Create a new overlay from files in a repositorymove— Move an overlay to a new locationswitch— Switch to a different overlay (removes all existing overlays first)cache— Manage the overlay cachebrowse— Browse and apply overlays interactively (recommended)sync— Sync changes from an applied overlay back to the overlay repoedit— Edit an existing applied overlaysource— Manage overlay sources (for multi-source configurations)library— Manage the in-repo overlay librarycompletions— Generate shell completions
Apply an overlay to a git repository (scripting / power-user)
Applies an overlay directly from a path, GitHub URL, or configured source. Intended for scripting and automation workflows.
For interactive discovery and application, use repoverlay browse instead — it lists available overlays and lets you select which to apply.
Usage: repoverlay apply [OPTIONS] <SOURCE>
-
<SOURCE>— Overlay source: local path, GitHub URL, or configured source referenceSupported formats: ./my-overlay (local path) /absolute/path (local absolute path) https://github.com/owner/repo https://github.com/owner/repo/tree/main/overlays/rust org/repo/overlay-name (configured source reference)
-t,--target <TARGET>— Target repository directory (defaults to current directory)--copy— Force copy mode instead of symlinks (default on Windows)-n,--name <NAME>— Override the overlay name (defaults to config name or directory name)-r,--ref <REF>— Git ref (branch, tag, or commit) to use (GitHub sources only)--no-update— Skip updating cached/overlay repositories before applying--force[alias:overwrite] — Overwrite existing files and re-apply same-name overlays--skip-conflicts— Skip conflicting files silently, continue with non-conflicting files-i,--interactive— Prompt interactively for each conflict (overwrite, skip, diff, or abort)--merge— Deep merge conflicting JSON files instead of failing--from <SOURCE>— Use a specific overlay source instead of priority order (multi-source configs only)--dry-run— Show what would be applied without making changes
Remove applied overlay(s)
Usage: repoverlay remove [OPTIONS] [NAME]
<NAME>— Name of the overlay to remove
-t,--target <TARGET>— Target repository directory (defaults to current directory)--all— Remove all applied overlays--dry-run— Show what would be removed without making changes-i,--interactive— Interactive selection mode
Show the status of applied overlays
Usage: repoverlay status [OPTIONS]
-t,--target <TARGET>— Target repository directory (defaults to current directory)-n,--name <NAME>— Show only a specific overlay--json— Output as JSON for scripting and CI integration-q,--quiet— Quiet mode: exit code only (0 = overlays applied, 1 = none)
Restore overlays after git clean or other removal
Usage: repoverlay restore [OPTIONS]
-t,--target <TARGET>— Target repository directory (defaults to current directory)--dry-run— Show what would be restored without applying--force[alias:overwrite] — Overwrite existing files during restore--skip-conflicts— Skip conflicting files silently during restore-i,--interactive— Prompt interactively for each conflict during restore--merge— Deep merge conflicting JSON files instead of failing
Update applied overlays from remote sources
Usage: repoverlay update [OPTIONS] [NAME]
<NAME>— Name of the overlay to update (updates all GitHub overlays if not specified)
-t,--target <TARGET>— Target repository directory (defaults to current directory)--dry-run— Check for updates without applying them--force[alias:overwrite] — Overwrite existing files during update--skip-conflicts— Skip conflicting files silently during update-i,--interactive— Prompt interactively for each conflict during update--merge— Deep merge conflicting JSON files instead of failing
Create a new overlay from files in a repository
Examples: repoverlay create my-overlay # Detects org/repo from git remote repoverlay create org/repo/my-overlay # Explicit target repoverlay create --output ./output # Write to local directory
Usage: repoverlay create [OPTIONS] [NAME]
-
<NAME>— Overlay name or full path (org/repo/name)Short form:
my-overlay- detects org/repo from git remote Full form:org/repo/name- uses explicit target Omit when using --output for local directory output
-i,--include <INCLUDE>— Include files/directories or glob patterns (can be specified multiple times)-s,--source <SOURCE>— Source repository to extract files from (defaults to current directory)-t,--target <TARGET>— Target repository directory (defaults to current directory)-o,--output <OUTPUT>— Output directory for local overlay creation (no overlay repo required)--into <DEST>— Create the overlay directly into a destination ("library")--no-apply— Skip applying the overlay after creating into the library--dry-run— Show what would be created without creating files-y,--yes— Skip interactive prompts, use defaults-f,--force— Force overwrite if overlay already exists
Move an overlay to a new location
Relocates an overlay's source files and updates applied state references. Destinations: "library", "source:", or a filesystem path.
Examples: repoverlay move my-overlay --to library repoverlay move my-overlay --to /path/to/dir repoverlay move my-overlay --to source:shared-repo
Usage: repoverlay move [OPTIONS] --to <TO> <OVERLAY>
<OVERLAY>— Name of the applied overlay to move
--to <TO>— Destination: "library", "source:", or a filesystem path-t,--target <TARGET>— Target repository directory (defaults to current directory)--force— Overwrite if destination already exists--name <NAME>— Rename the overlay at the destination--dry-run— Show what would happen without making changes
Switch to a different overlay (removes all existing overlays first)
Usage: repoverlay switch [OPTIONS] <SOURCE>
<SOURCE>— Path to overlay source directory OR GitHub URL
-t,--target <TARGET>— Target repository directory (defaults to current directory)--copy— Force copy mode instead of symlinks (default on Windows)-n,--name <NAME>— Override the overlay name-r,--ref <REF>— Git ref (branch, tag, or commit) to use (GitHub sources only)--no-update— Skip updating cached/overlay repositories before switching--force[alias:overwrite] — Overwrite existing repo files when applying the new overlay--skip-conflicts— Skip conflicting repo files silently when applying the new overlay-i,--interactive— Prompt interactively for each conflict when applying the new overlay--merge— Deep merge conflicting JSON files instead of failing--dry-run— Show what would be switched without making changes
Manage the overlay cache
Usage: repoverlay cache <COMMAND>
list— List cached repositoriesremove— Remove cached repositoriespath— Show cache location
List cached repositories
Usage: repoverlay cache list
Remove cached repositories
Usage: repoverlay cache remove [OPTIONS] [REPO]
<REPO>— Repository to remove (format: owner/repo)
-a,--all— Remove all cached repositories-y,--yes— Skip confirmation prompt (used with --all)
Show cache location
Usage: repoverlay cache path
Browse and apply overlays interactively (recommended)
Lists available overlays from configured sources and lets you select which to apply. This is the easiest way to discover and apply overlays. To add sources, run repoverlay source add <path-or-url>.
Usage: repoverlay browse [OPTIONS] [SOURCE]
-
<SOURCE>— Overlay source (GitHub username, owner/repo, or URL)Browse overlays from this source without adding it as a configured source. If omitted, uses configured sources.
-f,--filter <FILTER>— Filter by target repository (format: org/repo)--no-update— Skip updating overlay repo before listing-t,--target <TARGET>— Target repository directory (defaults to current directory)--no-interactive— Disable interactive selection (just list overlays)--dry-run— Show what would be applied without making changes--show-all— Show all overlays, including those for other repositories
Sync changes from an applied overlay back to the overlay repo
Examples: repoverlay sync my-overlay # Detects org/repo from git remote repoverlay sync org/repo/my-overlay # Explicit target repoverlay sync --all # Sync all applied overlays
Usage: repoverlay sync [OPTIONS] [NAME]
-
<NAME>— Overlay name or full path (org/repo/name)Short form:
my-overlay- detects org/repo from git remote Full form:org/repo/name- uses explicit values
-t,--target <TARGET>— Target repository directory (defaults to current directory)--all— Sync all applied overlays from the overlay repo--dry-run— Show what would be synced without making changes
Edit an existing applied overlay
With no subcommand, launches interactive file selection. If no overlay name is given, prompts to select from applied overlays.
Examples: repoverlay edit # Pick overlay, then edit repoverlay edit my-overlay # Interactive file selection repoverlay edit add my-overlay newfile.txt # Add files repoverlay edit add my-overlay file1.txt file2.txt # Add multiple files repoverlay edit remove my-overlay oldfile.txt # Remove files
Usage: repoverlay edit [OPTIONS] [NAME] edit <COMMAND>
add— Add files to an applied overlayremove— Remove files from an applied overlay
-
<NAME>— Overlay name or full path (org/repo/name)Short form:
my-overlay- detects org/repo from git remote Full form:org/repo/name- uses explicit values
-t,--target <TARGET>— Target repository directory (defaults to current directory)--dry-run— Show what would change without making changes
Add files to an applied overlay
Examples: repoverlay edit add my-overlay newfile.txt repoverlay edit add my-overlay file1.txt file2.txt repoverlay edit add org/repo/my-overlay newfile.txt
Usage: repoverlay edit add [OPTIONS] <NAME> [FILES]...
-
<NAME>— Overlay name or full path (org/repo/name)Short form:
my-overlay- detects org/repo from git remote Full form:org/repo/name- uses explicit values -
<FILES>— Files to add to the overlay
-t,--target <TARGET>— Target repository directory (defaults to current directory)--dry-run— Show what would change without making changes
Remove files from an applied overlay
Examples: repoverlay edit remove my-overlay oldfile.txt repoverlay edit remove my-overlay file1.txt file2.txt repoverlay edit remove org/repo/my-overlay oldfile.txt
Usage: repoverlay edit remove [OPTIONS] <NAME> [FILES]...
-
<NAME>— Overlay name or full path (org/repo/name)Short form:
my-overlay- detects org/repo from git remote Full form:org/repo/name- uses explicit values -
<FILES>— Files to remove from the overlay
-t,--target <TARGET>— Target repository directory (defaults to current directory)--dry-run— Show what would change without making changes
Manage overlay sources (for multi-source configurations)
Usage: repoverlay source <COMMAND>
add— Add a new overlay sourcelist— List configured overlay sourcesremove— Remove an overlay source
Add a new overlay source
Usage: repoverlay source add [OPTIONS] <SOURCE>
<SOURCE>— Source: Git URL, GitHub shorthand (owner/repo), GitHub username, or local path (./path)
--name <NAME>— Name for this source (defaults to repo/directory name)
List configured overlay sources
Usage: repoverlay source list
Remove an overlay source
Usage: repoverlay source remove <NAME>
<NAME>— Name of the source to remove
Manage the in-repo overlay library
Usage: repoverlay library <COMMAND>
list— List overlays in the libraryimport— Import an overlay into the libraryexport— Export an overlay from the libraryremove— Remove an overlay from the library
List overlays in the library
Usage: repoverlay library list [OPTIONS]
-t,--target <TARGET>— Target repository directory (defaults to current directory)
Import an overlay into the library
Usage: repoverlay library import [OPTIONS] <SOURCE>
<SOURCE>— Overlay source (path, GitHub URL, or org/repo/name)
--name <NAME>— Name for the imported overlay (defaults to source name)-f,--force— Force overwrite if overlay already exists-t,--target <TARGET>— Target repository directory (defaults to current directory)
Export an overlay from the library
Usage: repoverlay library export [OPTIONS] --to <DEST> <OVERLAY>
<OVERLAY>— Name of the overlay to export
--to <DEST>— Destination path-t,--target <TARGET>— Target repository directory (defaults to current directory)
Remove an overlay from the library
Usage: repoverlay library remove [OPTIONS] <OVERLAY>
<OVERLAY>— Name of the overlay to remove
-f,--force— Force removal even if overlay is currently applied-t,--target <TARGET>— Target repository directory (defaults to current directory)
Generate shell completions
Usage: repoverlay completions <SHELL>
-
<SHELL>— Shell to generate completions forPossible values:
bash,elvish,fish,powershell,zsh
This document was generated automatically by
clap-markdown.