-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path.workmux.yaml
More file actions
140 lines (117 loc) · 4.82 KB
/
Copy path.workmux.yaml
File metadata and controls
140 lines (117 loc) · 4.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# workmux project configuration
# For global settings, edit ~/.config/workmux/config.yaml
# All options below are commented out - uncomment to override defaults.
#-------------------------------------------------------------------------------
# Git
#-------------------------------------------------------------------------------
# The primary branch to merge into.
# Default: Auto-detected from remote HEAD, falls back to main/master.
# main_branch: main
# Default merge strategy for `workmux merge`.
# Options: merge (default), rebase, squash
# CLI flags (--rebase, --squash) always override this.
# merge_strategy: rebase
#-------------------------------------------------------------------------------
# Naming & Paths
#-------------------------------------------------------------------------------
# Directory where worktrees are created.
# Can be relative to repo root or absolute.
# Default: Sibling directory '<project>__worktrees'.
# worktree_dir: .worktrees
# Strategy for deriving names from branch names.
# Options: full (default), basename (part after last '/').
# worktree_naming: basename
# Prefix added to worktree directories and tmux window names.
# worktree_prefix: ""
# Prefix for tmux window names.
# Default: "wm-"
# window_prefix: "wm-"
#-------------------------------------------------------------------------------
# Tmux
#-------------------------------------------------------------------------------
# Custom tmux pane layout.
# Default: Two-pane layout with shell and clear command.
# panes:
# - command: pnpm install
# focus: true
# - split: horizontal
# - command: clear
# split: vertical
# size: 5
# Auto-apply agent status icons to tmux window format.
# Default: true
# status_format: true
# Custom icons for agent status display.
# status_icons:
# working: "🤖"
# waiting: "💬"
# done: "✅"
#-------------------------------------------------------------------------------
# Agent & AI
#-------------------------------------------------------------------------------
# Agent command for '<agent>' placeholder in pane commands.
# Default: "claude"
# agent: claude
# LLM-based branch name generation (`workmux add -a`).
# auto_name:
# model: "gpt-4o-mini"
# system_prompt: "Generate a kebab-case git branch name."
#-------------------------------------------------------------------------------
# Hooks
#-------------------------------------------------------------------------------
# Commands to run in new worktree before tmux window opens.
# These block window creation - use for short tasks only.
# Use "<global>" to inherit from global config.
# Set to empty list to disable: `post_create: []`
# post_create:
# - "<global>"
# - mise use
# Commands to run before merging (e.g., linting, tests).
# Aborts the merge if any command fails.
# Use "<global>" to inherit from global config.
# Environment variables available:
# - WM_BRANCH_NAME: The name of the branch being merged
# - WM_TARGET_BRANCH: The name of the target branch (e.g., main)
# - WM_WORKTREE_PATH: Absolute path to the worktree
# - WM_PROJECT_ROOT: Absolute path of the main project directory
# - WM_HANDLE: The worktree handle/window name
# pre_merge:
# - "<global>"
# - cargo test
# - cargo clippy -- -D warnings
# Commands to run before worktree removal (during merge or remove).
# Useful for backing up gitignored files before cleanup.
# Default: Auto-detects Node.js projects and fast-deletes node_modules.
# Set to empty list to disable: `pre_remove: []`
# Environment variables available:
# - WM_HANDLE: The worktree handle (directory name)
# - WM_WORKTREE_PATH: Absolute path of the worktree being deleted
# - WM_PROJECT_ROOT: Absolute path of the main project directory
# pre_remove:
# - mkdir -p "$WM_PROJECT_ROOT/artifacts/$WM_HANDLE"
# - cp -r test-results/ "$WM_PROJECT_ROOT/artifacts/$WM_HANDLE/"
#-------------------------------------------------------------------------------
# Files
#-------------------------------------------------------------------------------
# File operations when creating a worktree.
# files:
# # Files to copy (useful for .env files that need to be unique).
# copy:
# - .env.local
#
# # Files/directories to symlink (saves disk space, shares caches).
# # Default: None.
# # Use "<global>" to inherit from global config.
# symlink:
# - "<global>"
# - node_modules
#-------------------------------------------------------------------------------
# Dashboard
#-------------------------------------------------------------------------------
# Actions for dashboard keybindings (c = commit, m = merge).
# Values are sent to the agent's pane. Use ! prefix for shell commands.
# Preview size (10-90): larger = more preview, less table. Use +/- keys to adjust.
# dashboard:
# commit: "Commit staged changes with a descriptive message"
# merge: "!workmux merge"
# preview_size: 60