Skip to content

strantalis/workset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

214 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Multi-repo workspaces with linked Git worktrees.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5