diff options
Diffstat (limited to 'Omni/Agent/setup-worker.sh')
| -rwxr-xr-x | Omni/Agent/setup-worker.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Omni/Agent/setup-worker.sh b/Omni/Agent/setup-worker.sh new file mode 100755 index 0000000..27a9939 --- /dev/null +++ b/Omni/Agent/setup-worker.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -e + +if [ -z "$1" ]; then + echo "Usage: $0 <worker-name>" + echo "Example: $0 omni-worker-1" + exit 1 +fi + +WORKER_NAME="$1" +REPO_ROOT="$(git rev-parse --show-toplevel)" +WORKTREE_PATH="$REPO_ROOT/../$WORKER_NAME" + +echo "Creating worktree at $WORKTREE_PATH..." +git worktree add "$WORKTREE_PATH" live + +# Copy .envrc.local if it exists (user-specific config) +if [ -f "$REPO_ROOT/.envrc.local" ]; then + echo "Copying .envrc.local..." + cp "$REPO_ROOT/.envrc.local" "$WORKTREE_PATH/" +fi + +# We create a new branch for the worker based on 'live' +# This avoids the "branch already checked out" error if 'live' is checked out elsewhere +BRANCH_NAME="${WORKER_NAME}" +echo "Creating worktree '$WORKTREE_PATH' on branch '$BRANCH_NAME' (from live)..." +git worktree add -b "$BRANCH_NAME" "$WORKTREE_PATH" live |
