workset

module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2026 License: MIT

README

Workset

test lint goreleaser release-please docs

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 workset

Alternative (Go install):

go install github.com/strantalis/workset/cmd/workset@v0.1.0

Create a workspace and add repos:

workset new demo
workset repo add git@github.com:your/org-repo.git -w demo
workset status -w demo

Templates:

./workset group create platform
./workset group add platform repo-alias
./workset group apply platform -w demo

Sessions (tmux/screen/exec):

./workset session start demo -- zsh
./workset session attach demo
./workset session show demo
./workset session stop demo

Concepts

  • Workspace: a directory with workset.yaml and .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) and write (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-serve

Roadmap

  • Branch create/checkout + worktree management
  • Fetch/pull/exec across repos
  • Scoped status and JSON output

Directories

Path Synopsis
cmd
workset command
internal
git
ops

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL