CLI overview
bash
workler <command> [arguments] [flags]Every command also accepts -h/--help. workler help prints the full built-in reference.
Workspace commands
| Command | What it does |
|---|---|
workler init | Set up the project: .workler, .worktrees/, git excludes |
workler add | Clone a new workspace, set up its branch, apply rules |
workler apply | (Re-)apply the copy/link rules to workspaces |
workler list | Show every workspace with branch and path |
workler path | Print one workspace's path (for cd "$(...)") |
workler remove | Delete a workspace |
Multi-workspace commands
These operate on the main project and every workspace at once:
| Command | What it does |
|---|---|
workler status | Branch, upstream ahead/behind, clean/dirty per workspace |
workler fetch | git fetch --prune origin everywhere |
workler sync | Fetch, then fast-forward-only update of each current branch |
workler branch-sync | Sync local branches root ↔ workspaces |
Helpers
| Command | What it does |
|---|---|
workler shell-init | Print the wcd shell function |
workler help | Print the built-in reference |
Shared flags
| Flag | On | Meaning |
|---|---|---|
--dry-run | add, apply | Print what would be copied/linked/replaced without changing anything |
--force | add, apply | Replace destinations that already exist and differ |
--force | remove | Remove 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.