Your agent’s setup,
in every repo.
Bring instructions, skills, and tools to your AI assistant with a reusable profile. New files stay local. Changes to existing tracked files remain visible in git.
Start with one instruction file. Add skills, agents, and MCP servers when you need them.
# First define rust-dev in Quick Start.
$ repoverlay profile apply rust-dev --harness claude
Applied profile rust-dev for claude
$ repoverlay profile status
rust-dev (claude)
$ - rulesYour first profile: repo-local instructions
CLAUDE.md
A new file is git-excluded. If CLAUDE.md already exists, the profile adds a managed section without hiding your git diff.
Homebrew for macOS or Linux, or build with Cargo.Windows and all install options.
Just need config files?
Use an overlay for a bundle of files, or a profile to combine overlays with agent instructions and plugins. Keep your personal setup available across checkouts, including forks.
- AI assistants
CLAUDE.local.md · .claude/settings.local.json - Editor settings
.vscode/settings.json - Environment
.env.local · .envrc - Dev tooling
.mise.local.toml · lefthook-local.yml
How an overlay works, in four steps.
repoverlay places files, excludes new paths from git, and can put them back. Browse a source to see what’s available:
$ repoverlay browse tylerbutler/overlays- Source
Point at a source
Name an overlay by owner, repo, and path, or browse a source to see what is available.
tylerbutler/overlays/claude - Place
Files land in the working tree
repoverlay symlinks each file into place, or copies it on Windows and whenever you ask.
.claude/settings.json - Exclude
New files stay local
New paths are added to .git/info/exclude. Existing tracked files remain visible to git.
.git/info/exclude - Restore
Restore after cleanup
State is backed up outside the repo. Restore file overlays from their sources after git clean.
~/.local/share/repoverlay/applied/
Skip the browser and apply it directly.
$ repoverlay apply tylerbutler/overlays/claudeThe details that make it practical.
Symlink or copy
--copySymlinked by default on macOS and Linux for instant edits; copied on Windows or on request.
GitHub-aware sources
owner/repo@tagPull overlays from repos, branches, tags, or subdirectories, cached with shallow clones.
Fork inheritance
origin → upstreamOn a fork, repoverlay falls back to the upstream repo’s overlays until yours exist.
Keep control of your checkout.
Remove a profile with its matching harness. Restore file overlays from their sources after cleanup. Inspect changes with git diff before you commit.
$ repoverlay profile remove rust-dev --harness claudeRemoves the example profile’s managed instructions. Use the same profile name and harness you applied.
$ repoverlay restoreFor file overlays, restore after git clean removes them. Recovery state is stored outside the repo; keep the overlay sources available.
Added on apply, stripped on remove. Your committed .gitignore is never touched.
Set up your configs once.
Try one instruction file, inspect the result, and remove it when you’re done.