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 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 completions↴
Overlay config files into git repositories without committing them
Usage: repoverlay [COMMAND]
apply— Apply an overlay to a git repositoryremove— 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 repositoryswitch— 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)completions— Generate shell completions
Apply an overlay to a git repository
For interactive use, consider repoverlay browse instead.
Usage: repoverlay apply [OPTIONS] <SOURCE>
-
<SOURCE>— Path to overlay source directory OR GitHub URLExamples: ./my-overlay https://github.com/owner/repo https://github.com/owner/repo/tree/main/overlays/rust
-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)-o,--output <OUTPUT>— Output directory for local overlay creation (no overlay repo required)--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
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
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.