From a36ab4797cc9927996add55c855502c9c8a3eef2 Mon Sep 17 00:00:00 2001 From: "Rai (Michael Pokorny)" Date: Tue, 24 Jun 2025 12:58:46 -0700 Subject: [PATCH] docs(agentydragon): add worktree helper script and branch convention to README --- agentydragon/README.md | 7 ++++ agentydragon/tasks/create-task-worktree.sh | 41 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 agentydragon/tasks/create-task-worktree.sh diff --git a/agentydragon/README.md b/agentydragon/README.md index 57cd416442..2966b0d56e 100644 --- a/agentydragon/README.md +++ b/agentydragon/README.md @@ -22,6 +22,13 @@ This file documents the changes introduced on the `agentydragon` branch Tasks live under `agentydragon/tasks/` as individual Markdown files. Please update each task’s **Status** and **Implementation** sections in place rather than maintaining a static list here. +### Branch & Worktree Workflow + +- **Branch convention**: work on each task in its own branch named `agentydragon/-`. +- **Worktree helper**: run `create-task-worktree.sh -` + in `agentydragon/tasks/` to create or reuse a worktree at + `agentydragon/tasks/.worktrees/-` off the `master` branch. + --- *This README was autogenerated to summarize changes on the `agentydragon` branch.* \ No newline at end of file diff --git a/agentydragon/tasks/create-task-worktree.sh b/agentydragon/tasks/create-task-worktree.sh new file mode 100755 index 0000000000..8d82d9f99b --- /dev/null +++ b/agentydragon/tasks/create-task-worktree.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +# +# create-task-worktree.sh +# +# Create or reuse a git worktree for a specific task branch under agentydragon/tasks/.worktrees. +# Usage: create-task-worktree.sh - + +set -euo pipefail + +if [ "$#" -ne 1 ]; then + echo "Usage: $0 -" + exit 1 +fi + +task_slug="$1" +branch="agentydragon/$task_slug" + +# Determine repository root +repo_root=$(git rev-parse --show-toplevel) + +tasks_dir="$repo_root/agentydragon/tasks" +worktrees_dir="$tasks_dir/.worktrees" +worktree_path="$worktrees_dir/$task_slug" + +mkdir -p "$worktrees_dir" + +# Create branch if it does not exist +if ! git show-ref --verify --quiet "refs/heads/$branch"; then + echo "Creating branch $branch from master..." + git branch --track "$branch" master +fi + +# Create worktree if it does not exist +if [ ! -d "$worktree_path" ]; then + echo "Creating worktree for $branch at $worktree_path" + git worktree add "$worktree_path" "$branch" +else + echo "Worktree for $branch already exists at $worktree_path" +fi + +echo "Done." \ No newline at end of file