| name | mv-repo |
| description | Move a repo to a new directory. Handles venv, Claude Code project state, path references, and tmux sessions. |
Move Repo
Move one or more repos to a new parent directory, updating all path-dependent state.
Usage: /mv-repo <source>... <dest-dir>
Examples:
/mv-repo nudge bots/ — move nudge into bots/
/mv-repo nudge ambassador swordsmith bots/ — move multiple repos
Steps
1. Validate
- Confirm source repo(s) exist and dest directory exists (or create it)
- Confirm no name collisions in dest
2. Move
mv <source>... <dest>/
3. Recreate venvs
For each moved repo that has a .venv/:
- Delete
.venv
- Run
uv sync in the new location
- If no
pyproject.toml, skip (venv was manual — warn user)
4. Update Claude Code project state
Rename directories in ~/.claude/projects/ that match the old path encoding.
Path encoding: absolute path with / replaced by -, leading -. Example:
/home/yulong/code/nudge → -home-yulong-code-nudge
/home/yulong/code/bots/nudge → -home-yulong-code-bots-nudge
Include worktree variants (dirs matching ).