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 worktreesyntax - 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:
| Backend | Description | Enable |
|---|---|---|
| CaseMgr (default) | Cloud storage via MCP protocol, multi-machine sync, fuzzy matching | Default behavior |
| CubDB (fallback) | Local embedded database, single machine only | CASEMGR_FALLBACK=cubdb |