Workspace Layout

Workspace Layout

Bearing assumes a flat workspace folder containing all your projects and worktrees:

~/Projects/                    # Your workspace root
├── bearing/                   # Bearing itself (cloned here)
├── myapp/                     # Base folder (stays on main)
├── myapp-feature-auth/        # Worktree for auth feature
├── myapp-fix-bug-123/         # Worktree for bug fix
├── other-project/             # Another base folder
├── other-project-refactor/    # Its worktree
├── workflow.jsonl             # Workflow state (committable)
└── local.jsonl                # Local worktree state

Why Flat?

The flat structure:

Naming Convention

Worktrees follow the pattern {repo}-{branch}:

Base FolderBranchWorktree Folder
myappfeature-authmyapp-feature-auth
myappfix/bug-123myapp-fix-bug-123
api-serverrefactorapi-server-refactor

Base Folders vs Worktrees

Base folders are your primary clones:

Worktrees are task-specific:

State Files

Two files track workspace state:

FileContentsCommitted?
workflow.jsonlBranches, purposes, relationshipsYes
local.jsonlLocal folder pathsNo

See State Files for details.