Added tool to cherrypick issues
diff --git a/build/cherrypicker.sh b/build/cherrypicker.sh
new file mode 100755
index 0000000..699f39d
--- /dev/null
+++ b/build/cherrypicker.sh
@@ -0,0 +1,88 @@
+#!/bin/bash
+
+# SPDX-License-Identifier: Apache-2.0
+
+# Check if the correct number of arguments are provided
+if [ "$#" -ne 1 ]; then
+    echo "Usage: $0 <issue_number>"
+    exit 1
+fi
+
+# Variables
+REPO="vexxhost/atmosphere"
+ISSUE_NUMBER=$1
+LOCAL_REPO_PATH=$(mktemp -d -t repo-XXXXXXXXXX)
+
+# Function to clean up the local repository path
+cleanup() {
+    echo "Cleaning up..."
+    rm -rf "$LOCAL_REPO_PATH"
+}
+trap cleanup EXIT
+
+# Clone the repo into a dynamically generated path
+git clone "https://github.com/$REPO.git" "$LOCAL_REPO_PATH"
+
+cd "$LOCAL_REPO_PATH" || exit
+
+# Fetch the latest changes
+git fetch origin
+
+# Get the issue details
+ISSUE_DETAILS=$(gh issue view $ISSUE_NUMBER --json title,body --jq '{title: .title, body: .body}')
+ISSUE_TITLE=$(echo "$ISSUE_DETAILS" | jq -r .title)
+ISSUE_BODY=$(echo "$ISSUE_DETAILS" | jq -r .body)
+
+# Extract the target branch from the issue title
+TARGET_BRANCH=$(echo "$ISSUE_TITLE" | grep -oP '(?<=\[).+?(?=\])')
+
+if [ -z "$TARGET_BRANCH" ]; then
+    echo "Failed to extract the target branch from the issue title."
+    exit 1
+fi
+
+# Extract the PR number from the issue body
+PR_NUMBER=$(echo "$ISSUE_BODY" | grep -oP '(?<=#)\d+')
+
+if [ -z "$PR_NUMBER" ]; then
+    echo "Failed to extract the PR number from the issue body."
+    exit 1
+fi
+
+echo "Extracted PR number: $PR_NUMBER"
+echo "Extracted target branch: $TARGET_BRANCH"
+
+# Get the merged commit ID
+MERGED_COMMIT_ID=$(gh pr view $PR_NUMBER --json mergeCommit --jq .mergeCommit.oid)
+
+# Check if the commit ID was retrieved
+if [ -z "$MERGED_COMMIT_ID" ]; then
+    echo "Failed to get the merged commit ID."
+    exit 1
+fi
+
+# Checkout the target branch
+git checkout $TARGET_BRANCH
+git pull origin $TARGET_BRANCH
+
+# Cherry-pick the merged commit
+if ! git cherry-pick $MERGED_COMMIT_ID; then
+    echo "Error during cherry-pick"
+    exit 1
+fi
+
+# Create a new branch
+NEW_BRANCH_NAME="cherry-pick-$MERGED_COMMIT_ID-$TARGET_BRANCH"
+git checkout -b $NEW_BRANCH_NAME
+git push origin $NEW_BRANCH_NAME
+
+# Get the original PR title and body
+PR_TITLE=$(gh pr view $PR_NUMBER --json title --jq .title)
+PR_BODY=$(gh pr view $PR_NUMBER --json body --jq .body)
+
+# Create a new PR with the same title, prefixed with the target branch name
+NEW_PR_TITLE="[$TARGET_BRANCH] $PR_TITLE"
+NEW_PR_BODY="${PR_BODY}\n\nCloses #$ISSUE_NUMBER"
+gh pr create --title "$NEW_PR_TITLE" --body "$NEW_PR_BODY" --head "$NEW_BRANCH_NAME" --base "$TARGET_BRANCH"
+
+echo "New pull request created."