@strantalis/workset
v0.2.1
Published
Go CLI for multi-repo workspaces with linked worktrees
Readme
Workset
Workset is a Go CLI for managing multi-repo workspaces with linked Git worktrees by default. It captures intent ("these repos move together") and keeps multi-repo work safe, explicit, and predictable.
Why Workset
- Workspaces first: treat related repos as a single unit of work.
- Linked worktrees by default: branch work happens in isolated directories without duplicating repos.
- Explicit remotes: base vs write remotes are always deliberate.
- Templates: reusable repo sets that expand into workspace config.
- Safe defaults: no destructive actions without explicit flags.
Status
Workset is in active development. Current commands focus on workspace creation, repo add, status, and groups/templates. Branch/worktree workflows are next.
[!WARNING] This project is under active development; interfaces and behavior may change without notice.
Quickstart
Install (recommended):
brew tap strantalis/homebrew-tap
brew install worksetAlternative (Go install):
go install github.com/strantalis/workset/cmd/[email protected]Create a workspace and add repos:
workset new demo
workset repo add [email protected]:your/org-repo.git -w demo
workset status -w demoTemplates:
./workset group create platform
./workset group add platform repo-alias
./workset group apply platform -w demoSessions (tmux/screen/exec):
./workset session start demo -- zsh
./workset session attach demo
./workset session show demo
./workset session stop demoConcepts
- Workspace: a directory with
workset.yamland.workset/state. - Repo sources: local paths stay put; URL clones land in
~/.workset/repos(configurable). - Worktrees: worktrees live under
<workspace>/<repo>by default. - Remotes:
base(truth) andwrite(fork/origin). - Templates: global repo sets applied into a workspace.
Docs
Docs are built with MkDocs + Material. The site config is mkdocs.yml, markdown content lives in docs/, and the published site is workset.dev.
Local dev (requires uv):
make docs-serveRoadmap
- Branch create/checkout + worktree management
- Fetch/pull/exec across repos
- Scoped status and JSON output
