Start working on a Marshroom cart issue — creates branch, injects context, updates status to running
Start working on a Marshroom cart issue in the current repository.
running in ${MARSHROOM_STATE:-~/.config/marshroom/state.json}. If this fails, stop and report the error — do NOT silently continue.marsh start if available; otherwise fall back to direct jq atomic write (see step 10).${MARSHROOM_STATE:-~/.config/marshroom/state.json} and parse the JSONcart array. If the cart is empty, tell the user to add issues in the Marshroom appgit remote get-url origin to get the current repo's remote URLowner/repo from the remote URL (handle both HTTPS and SSH formats)repoCloneURL (HTTPS) or repoSSHURL (SSH) matches the current remote. Compare by extracting from eachowner/repo$ARGUMENTS contains an issue number, find that entry; otherwise if multiple matches, list them and ask the user to pick onegit checkout main && git pull origin main to ensure main is up to dategit checkout -b {branchName} The branch name should be Feature/#N or HotFix/#N. N is issue number.marsh start #{issueNumber}marsh is not found in PATH, fall back to direct atomic update:
STATE_FILE="${MARSHROOM_STATE:-~/.config/marshroom/state.json}"
TMP="$(mktemp "${STATE_FILE}.XXXXXX")"
jq --argjson n ISSUE_NUMBER '.cart |= map(if .issueNumber == $n then .status = "running" else . end)' \
"$STATE_FILE" > "$TMP" && mv -f "$TMP" "$STATE_FILE"
runningissueBody field from the matched cart entry