Current release: repoverlay 0.17.0.Release notes

Your agent’s setup, in every repo.
Committed to none of them.

Apply a profile and repoverlay drops the right skills, tools, instructions, and dotfiles into a repo for your AI assistant. All git-excluded, so none of it lands in history.

Clone a repo, apply a profile, and your agent has its tools and conventions, scoped to that checkout.

apply a profile
  One profile bundles overlays and agent capabilities.
$ repoverlay profile apply rust-dev --harness claude
  Placing skills, an agent, an MCP server, and instructions.
  Repo-local files excluded via .git/info/exclude.
 Applied rust-dev · 4 capabilities, 0 files committed
$ 
rust-dev appliedgit-excluded, removable
  • skillsrustfmt + clippy skills.claude/skills/rust/
  • agentcargo-review agent.claude/agents/cargo-review/
  • mcpcrates.io MCP server.mcp.json
  • rulesRust house styleCLAUDE.md

Your config, not the repo’s.

The AI instructions, editor preferences, local env, and tooling overrides you carry from repo to repo. You want them in every checkout, including forks and other people’s projects, but they don’t belong in the commit history, and git clean wipes them.

One binary, no runtime

Install once, then overlay any repo. Pick your package manager:

How an overlay works, in four steps.

repoverlay places files, hides them from git, and can put them back. Browse a source to see what’s available:

$ repoverlay browse tylerbutler/overlays
  1. 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
  2. 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
  3. Exclude

    Git never sees them

    Every placed path is added to .git/info/exclude, so .gitignore and history stay untouched.

    .git/info/exclude
  4. Restore

    Survives git clean

    State is backed up outside the repo, so repoverlay restore re-applies everything after a wipe.

    ~/.local/share/repoverlay/applied/
Already know the overlay?

Skip the browser and apply it directly.

$ repoverlay apply tylerbutler/overlays/claude

The details that make it practical.

Nothing you can’t undo.

Overlays live outside committed history, so you can pull them back out or rebuild them at any time. Two commands cover the whole lifecycle:

  • $ repoverlay restore

    Re-applies every overlay after git clean wipes the working tree. State is backed up outside the repo, so nothing is lost.

  • $ repoverlay remove rust-dev

    Pulls a profile’s files back out and clears its .git/info/exclude entries. Your committed history never changes.

.git/info/exclude
.claude/settings.json.claude/skills/rust/.mcp.json

Added on apply, stripped on remove. Your committed .gitignore is never touched.

Set up your configs once.

Define your overlays once, apply them anywhere, recover them anytime.