Created
July 3, 2025 17:19
-
-
Save anaisbetts/b140edf123d445139f971fe3030c9736 to your computer and use it in GitHub Desktop.
Revisions
-
anaisbetts created this gist
Jul 3, 2025 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,12 @@ #!/bin/bash ## Run latest Claude Code but with all the security prompts disabled set -euo pipefail NPX="npx" if command -v bunx >/dev/null 2>&1; then NPX="bunx" fi exec /bin/env ENABLE_BACKGROUND_TASKS=1 FORCE_AUTO_BACKGROUND_TASKS=1 CLAUBBIT=1 "$NPX" @anthropic-ai/claude --dangerously-skip-permissions "$@" This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,34 @@ #!/bin/bash # Git subcommand to remove a worktree and its directory # Usage: git worktree-clean <branch-name> set -ueo pipefail if [ $# -ne 1 ]; then echo "Usage: git worktree-clean <branch-name>" echo "Example: git worktree-clean feature-branch" exit 1 fi BRANCH_NAME="$1" REPO_ROOT=$(git rev-parse --show-toplevel) ORIGINAL_DIR_NAME=$(basename "$REPO_ROOT") PARENT_DIR=$(dirname "$REPO_ROOT") WORKTREE_PATH="$PARENT_DIR/$ORIGINAL_DIR_NAME-$BRANCH_NAME" # Check if worktree exists in git's worktree list if git worktree list | grep -q "$WORKTREE_PATH" || false; then echo "Removing git worktree with branch '$BRANCH_NAME'..." pushd "$WORKTREE_PATH" git clean -xdf popd git worktree remove "$WORKTREE_PATH" --force echo "Worktree with branch '$BRANCH_NAME' removed successfully!" else echo "Error: Worktree with branch '$BRANCH_NAME' not found in git worktree list" echo "Available worktrees:" git worktree list exit 1 fi This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,61 @@ #!/bin/bash # Git subcommand to create a new worktree in a sibling directory # Usage: git worktree-create <branch-name> set -ueo pipefail if [ $# -ne 1 ]; then echo "Usage: git worktree-create <branch-name>" echo "Example: git worktree-create feature-branch" exit 1 fi BRANCH_NAME="$1" REPO_ROOT=$(git rev-parse --show-toplevel) ORIGINAL_DIR_NAME=$(basename "$REPO_ROOT") PARENT_DIR=$(dirname "$REPO_ROOT") WORKTREE_PATH="$PARENT_DIR/$ORIGINAL_DIR_NAME-$BRANCH_NAME" echo "Creating worktree with branch '$BRANCH_NAME' at '$WORKTREE_PATH'..." # Create the worktree and new branch git worktree add -b "$BRANCH_NAME" "$WORKTREE_PATH" HEAD # Copy environment files echo "Copying environment files..." if [ -f "$REPO_ROOT/.env.local" ]; then cp "$REPO_ROOT/.env.local" "$WORKTREE_PATH/.env.local" echo "Copied .env.local" fi if [ -f "$REPO_ROOT/.env.example" ]; then cp "$REPO_ROOT/.env.example" "$WORKTREE_PATH/.env.example" echo "Copied .env.example" fi # Change to worktree directory and install dependencies echo "Installing dependencies..." cd "$WORKTREE_PATH" # Detect package manager based on lock files if [ -f "bun.lockb" ] || [ -f "bun.lock" ]; then echo "Detected Bun (found bun.lockb or bun.lock)" bun install elif [ -f "package-lock.json" ]; then echo "Detected npm (found package-lock.json)" npm install elif [ -f "yarn.lock" ]; then echo "Detected Yarn (found yarn.lock)" yarn install elif [ -f "pnpm-lock.yaml" ]; then echo "Detected pnpm (found pnpm-lock.yaml)" pnpm install else echo "No lock file detected, defaulting to npm install" npm install fi echo "Worktree with branch '$BRANCH_NAME' created successfully!" echo "Directory: $WORKTREE_PATH" echo "To switch to the worktree: cd $WORKTREE_PATH"