Skip to content

CLI overview

bash
workler <command> [arguments] [flags]

Every command also accepts -h/--help. workler help prints the full built-in reference.

Workspace commands

CommandWhat it does
workler initSet up the project: .workler, .worktrees/, git excludes
workler addClone a new workspace, set up its branch, apply rules
workler apply(Re-)apply the copy/link rules to workspaces
workler listShow every workspace with branch and path
workler pathPrint one workspace's path (for cd "$(...)")
workler removeDelete a workspace

Multi-workspace commands

These operate on the main project and every workspace at once:

CommandWhat it does
workler statusBranch, upstream ahead/behind, clean/dirty per workspace
workler fetchgit fetch --prune origin everywhere
workler syncFetch, then fast-forward-only update of each current branch
workler branch-syncSync local branches root ↔ workspaces

Helpers

CommandWhat it does
workler shell-initPrint the wcd shell function
workler helpPrint the built-in reference

Shared flags

FlagOnMeaning
--dry-runadd, applyPrint what would be copied/linked/replaced without changing anything
--forceadd, applyReplace destinations that already exist and differ
--forceremoveRemove even with uncommitted changes

Flags take values as --flag value or --flag=value. Errors go to stderr and exit with a non-zero status, prefixed workler:.

Where commands run

Every command operates on the nearest enclosing workler project — found via the workler.root git config, a checked-out .workler, or being under a .worktrees/ directory. Inside a nested workspace, that is the workspace itself, not the outermost root. If no project is found: run workler init first.

Released under the MIT License.