.PHONY: worktree worktree-add worktree-rm pr-test-neo pr-test-full pr-test-full-fast WORKTREE_DIR ?= ../astrbot_worktree BRANCH ?= $(word 2,$(MAKECMDGOALS)) BASE ?= $(word 3,$(MAKECMDGOALS)) BASE ?= master worktree: @echo "Usage:" @echo " make worktree-add [base-branch]" @echo " make worktree-rm " worktree-add: ifeq ($(strip $(BRANCH)),) $(error Branch name required. Usage: make worktree-add [base-branch]) endif @mkdir -p $(WORKTREE_DIR) git worktree add $(WORKTREE_DIR)/$(BRANCH) -b $(BRANCH) $(BASE) worktree-rm: ifeq ($(strip $(BRANCH)),) $(error Branch name required. Usage: make worktree-rm ) endif @if [ -d "$(WORKTREE_DIR)/$(BRANCH)" ]; then \ git worktree remove $(WORKTREE_DIR)/$(BRANCH); \ else \ echo "Worktree $(WORKTREE_DIR)/$(BRANCH) not found."; \ fi pr-test-neo: ./scripts/pr_test_env.sh --profile neo pr-test-full: ./scripts/pr_test_env.sh --profile full pr-test-full-fast: ./scripts/pr_test_env.sh --profile full --skip-sync --no-dashboard # Swallow extra args (branch/base) so make doesn't treat them as targets %: @true