Skip to main content
Glama
new_branch.sh1.61 kB
#!/bin/bash # shellcheck disable=SC1091 source "$(dirname "$(readlink -f "$0")")"/common.sh depcheck "git" depcheck "jq" depcheck "gh" depcheck "gum" if [[ $(git branch --show-current) != "main" ]]; then echo "You should open new branches from 'main' to run this script." exit 1 fi git fetch origin main if [[ $(git rev-parse HEAD) != $(git rev-parse origin/main) ]]; then echo "There are changes on 'main' that are not on your local branch. Please pull them before opening a new branch." exit 1 fi if [[ $(git status --porcelain) ]]; then gum confirm "There are uncommitted changes on your local branch. Do you want to stash your changes and continue?" && git stash || exit 1 fi NEW_BRANCH_NAME="$(gh api /user --jq '.login')"."$(gh issue list --json 'number,title,state' | jq -r '[.[] | select(.state == "OPEN")] | .[] | (.number|tostring) + ": " + .title' | gum filter --prompt "Pick which issue to work on: " | cut -d ":" -f 1)"-"$(gum input --prompt "Input branch name (keep it short and use 'kebab-case'): " --placeholder "launch-lunar-proxy-to-mars")" branch_format="^([a-zA-Z0-9_]{3,})\.([0-9]+)-(.+)$" if [[ $NEW_BRANCH_NAME =~ $branch_format ]]; then username="${BASH_REMATCH[1]}" issue_number="${BASH_REMATCH[2]}" branch_description="${BASH_REMATCH[3]}" echo "Username: $username" echo "Issue Number: $issue_number" echo "Branch Description: $branch_description" git checkout -b "$NEW_BRANCH_NAME" else echo "The branch name '$NEW_BRANCH_NAME' is invalid. Please use 'kebab-case' and only use lowercase letters and numbers." exit 1 fi

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheLunarCompany/lunar'

If you have feedback or need assistance with the MCP directory API, please join our Discord server