workset

module
v0.3.0-alpha.72 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2026 License: MIT

README

Workset

test lint release 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. It also includes a Wails desktop app in wails-ui/workset.

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.
  • Repo defaults: remote + default branch come from aliases or global defaults.
  • Templates: reusable repo sets that expand into workspace config.
  • Safe defaults: no destructive actions without explicit flags.
  • Desktop app: GUI for workspace management, terminals, and GitHub workflows.

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

Upgrade (Homebrew):

brew update
brew upgrade --cask workset

Install (npm):

npm install -g @strantalis/workset@latest

Alternative (Go install):

go install github.com/strantalis/workset/cmd/workset@latest

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.
  • Repo defaults: aliases and global defaults supply the remote + default branch.
  • 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 (see docs/desktop-app.md and docs/architecture/terminal.md for the GUI and terminal internals).

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
workset-updater command
internal
git
ops
pkg
worksetapi
Package worksetapi exposes a stable, JSON-friendly API for Workset.
Package worksetapi exposes a stable, JSON-friendly API for Workset.
scripts
deprecations command
guardrails command

Jump to

Keyboard shortcuts

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