Introduction to Workareas

What is Workareas?

Workareas is a command-line tool that combines Git Worktrees, VS Code Workspaces, and shell aliases into a unified workflow for developers.

Built with Elixir, Workareas stores metadata about your development environments and lets you navigate between projects instantly. It now integrates with CaseMgr for cloud-based storage, enabling worktree tracking across multiple machines.

The Problem

As developers, we constantly context-switch between projects and branches. This leads to friction:

  • Remembering complex git worktree syntax
  • Managing multiple VS Code windows with different states
  • Navigating to deeply nested project directories
  • Tracking which branch is checked out where
  • Synchronizing development environments across machines

The Solution

Workareas ties together four concepts:

Worktrees

Git worktrees allow multiple branches to be checked out simultaneously in different directories.

Workspaces

VS Code workspace files preserve your editor state, open files, and settings per project.

Aliases

Short names that let you instantly cd to any worktree from anywhere.

CaseMgr Backend

Cloud storage via MCP protocol enables multi-machine sync and fuzzy alias matching.

Quick Start

# Build the CLI tool
cd managing_workspaces/workareas
mix escript.build

# List all worktrees
./wa ls

# Navigate to a worktree by alias
cd $(wa get --alias=myproject)

# Launch VS Code for current worktree
wa code

# Add a new worktree with alias
wa add --wt=feature-branch --alias=fb --bn=feature-branch

Storage Backends

Workareas supports two storage backends:

BackendDescriptionEnable
CaseMgr (default)Cloud storage via MCP protocol, multi-machine sync, fuzzy matchingDefault behavior
CubDB (fallback)Local embedded database, single machine onlyCASEMGR_FALLBACK=cubdb