| name | makework |
| description | Manage git worktrees, project catalogs, and repository discovery with the mw CLI. Use when navigating projects, syncing repositories, checking worktree status, or managing repos. |
Makework — Git Worktree Manager
mw manages bare-clone repos and git worktrees with fuzzy project resolution, frecency-based ranking, and nix environment detection.
Navigate to a project worktree
mw go <project> [ref]
project can be a repo name, project name, subproject name, or fuzzy query
ref is optional — defaults to the main branch
- Supports
repo@branch explicit syntax to bypass fuzzy resolution
- Creates the worktree if it doesn't exist
- Returns the worktree path and optional nix activation command
Discover and register repositories
mw repo sync [--depth N] [--exclude pattern]
Scans configured scan_roots (or ~/Developer by default) for git repos and registers them.
Register a specific repository
mw repo add <source>
source can be a local path or a git URL (https://, git@, ssh://).
Fetch updates
mw fetch [project]
Fetches all refs for all repos, or a specific one.
List repos
mw repo list
Shows all registered repos with URL, branch, and worktree count.
Check worktree status
mw ls
Lists all active worktrees across repos with branch names.
Other useful commands
mw config show
mw config set <key> <val>
mw search <pattern>
mw query --since "7 days ago"
mw switch <project> <ref>
mw rm <project>/<ref>
mw prune
mw resolver explain <query>
mw project show <name>
Configuration paths
- Config:
$XDG_CONFIG_HOME/makework/config.toml
- Catalog:
$XDG_CONFIG_HOME/makework/catalog.toml
- Per-project:
.makework.toml
- State:
$XDG_STATE_HOME/makework/ (visits.json, cache)
Initialization
First-time setup: mw init creates config dirs, default config, and empty catalog.
Shell integration: mw init <shell> outputs completions and visit-tracking hook.