workspace management cli
Find a file
2025-11-25 20:55:23 -06:00
prompt.md add readme and prompt 2025-11-25 12:45:13 -06:00
readme.md add readme and prompt 2025-11-25 12:45:13 -06:00
workspaces.py roll back unpushed commits change 2025-11-25 20:55:23 -06:00

Workspaces

Workspaces is a workspace management tool meant to keep your cloned repos clean, and check out worktrees into a workspace for focused work on a task that would require multiple repos.

Usage

 alias work='/path/to/workspaces.py'
 work --help

 Usage: workspaces.py [OPTIONS] COMMAND [ARGS]...

 Workspace management tool

╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --workspaces-name     -W      TEXT  Logical name for this workspace set (e.g. 'git', 'work', 'personal'). Overrides WORKSPACES_NAME env. Defaults to 'git'.                       │
│ --install-completion                Install completion for the current shell.                                                                                                     │
│ --show-completion                   Show completion for the current shell, to copy it or customize the installation.                                                              │
│ --help                              Show this message and exit.                                                                                                                   │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ list         List all workspaces.                                                                                                                                                 │
│ create       Create a new workspace.                                                                                                                                              │
│ list-repos   List repos and branches in the current (or specified) workspace.                                                                                                     │
│ add-repo     Add a repo to a workspace.                                                                                                                                           │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

directory layout

repos_dir
  repo1
  repo2
  repo3
  ...
workspaces_dir
  workspace1
    readme.md
    repo1 (worktree)
    repo2 (worktree)
  workspace2
    readme.md
    repo2 (worktree)
    repo3 (worktree)
  ...