@@ -53,13 +53,12 @@ read_from_tty() {
5353}
5454
5555# Summary tracking
56- declare -A REMOVAL_SUMMARY
57- REMOVAL_SUMMARY[" workflows_removed" ]=false
58- REMOVAL_SUMMARY[" workflows_status" ]=" "
59- REMOVAL_SUMMARY[" secrets_removed" ]=()
60- REMOVAL_SUMMARY[" secrets_failed" ]=()
61- REMOVAL_SUMMARY[" pat_removed" ]=false
62- REMOVAL_SUMMARY[" pat_status" ]=" "
56+ WORKFLOWS_REMOVED=false
57+ WORKFLOWS_STATUS=" "
58+ SECRETS_REMOVED=" "
59+ SECRETS_FAILED=" "
60+ PAT_REMOVED=false
61+ PAT_STATUS=" "
6362
6463# ASCII Art Header
6564show_header () {
227226
228227if [ " $WORKFLOWS_EXIST " = false ]; then
229228 log_warning " No Claude Code workflow files found in current directory"
230- REMOVAL_SUMMARY[ " workflows_status " ] =" No workflow files found to remove"
229+ WORKFLOWS_STATUS =" No workflow files found to remove"
231230else
232231 # Step 5: Git repository setup for workflow removal
233232 log_step " STEP 5: Removing Workflow Files"
273272 MAIN_BRANCH=" master"
274273 else
275274 log_error " No main/master branch found"
276- REMOVAL_SUMMARY[ " workflows_status " ] =" Failed: No main/master branch"
275+ WORKFLOWS_STATUS =" Failed: No main/master branch"
277276 WORKFLOWS_EXIST=false
278277 fi
279278
337336Co-authored-by: grll <noreply@github.com>"
338337
339338 log_success " Workflow removal committed"
340- REMOVAL_SUMMARY[ " workflows_removed " ] =true
341- REMOVAL_SUMMARY[ " workflows_status " ] =" Successfully removed and committed"
339+ WORKFLOWS_REMOVED =true
340+ WORKFLOWS_STATUS =" Successfully removed and committed"
342341
343342 # Push to remote
344343 log_info " Pushing to remote repository..."
@@ -347,17 +346,17 @@ Co-authored-by: grll <noreply@github.com>"
347346 else
348347 log_warning " Failed to push. You may need to push manually:"
349348 echo " git push origin $MAIN_BRANCH "
350- REMOVAL_SUMMARY[ " workflows_status " ] =" Removed locally but failed to push"
349+ WORKFLOWS_STATUS =" Removed locally but failed to push"
351350 fi
352351 else
353352 log_warning " Workflow files removed locally but not committed"
354- REMOVAL_SUMMARY[ " workflows_status " ] =" Removed locally but not committed"
353+ WORKFLOWS_STATUS =" Removed locally but not committed"
355354
356355 # Restore the files since user didn't consent
357356 git checkout -- " ${WORKFLOW_FILES[@]} "
358357 log_info " Restored workflow files since commit was declined"
359- REMOVAL_SUMMARY[ " workflows_removed " ] =false
360- REMOVAL_SUMMARY[ " workflows_status " ] =" Removal cancelled by user"
358+ WORKFLOWS_REMOVED =false
359+ WORKFLOWS_STATUS =" Removal cancelled by user"
361360 fi
362361
363362 # Return to original branch
@@ -402,11 +401,19 @@ remove_secret() {
402401 log_info " Removing secret: $secret_name "
403402 if gh secret delete " $secret_name " --repo " $REPO_NAME " 2> /dev/null; then
404403 log_success " Removed: $secret_name "
405- REMOVAL_SUMMARY[" secrets_removed" ]+=(" $secret_name " )
404+ if [ -z " $SECRETS_REMOVED " ]; then
405+ SECRETS_REMOVED=" $secret_name "
406+ else
407+ SECRETS_REMOVED=" $SECRETS_REMOVED ,$secret_name "
408+ fi
406409 return 0
407410 else
408411 log_error " Failed to remove: $secret_name "
409- REMOVAL_SUMMARY[" secrets_failed" ]+=(" $secret_name " )
412+ if [ -z " $SECRETS_FAILED " ]; then
413+ SECRETS_FAILED=" $secret_name "
414+ else
415+ SECRETS_FAILED=" $SECRETS_FAILED ,$secret_name "
416+ fi
410417 return 1
411418 fi
412419 else
@@ -431,47 +438,49 @@ if secret_exists "SECRETS_ADMIN_PAT"; then
431438
432439 if [[ " $REMOVE_PAT " =~ ^[Yy]$ ]]; then
433440 if remove_secret " SECRETS_ADMIN_PAT" ; then
434- REMOVAL_SUMMARY[ " pat_removed " ] =true
435- REMOVAL_SUMMARY[ " pat_status " ] =" Successfully removed"
441+ PAT_REMOVED =true
442+ PAT_STATUS =" Successfully removed"
436443 else
437- REMOVAL_SUMMARY[ " pat_status " ] =" Failed to remove"
444+ PAT_STATUS =" Failed to remove"
438445 fi
439446 else
440447 log_info " Keeping SECRETS_ADMIN_PAT"
441- REMOVAL_SUMMARY[ " pat_status " ] =" Kept by user choice"
448+ PAT_STATUS =" Kept by user choice"
442449 fi
443450else
444451 log_info " SECRETS_ADMIN_PAT not found"
445- REMOVAL_SUMMARY[ " pat_status " ] =" Not found"
452+ PAT_STATUS =" Not found"
446453fi
447454
448455# Step 7: Summary
449456log_step " UNINSTALLATION SUMMARY"
450457echo
451458echo -e " ${BOLD} Workflow Files:${NC} "
452- if [ " ${REMOVAL_SUMMARY["workflows_removed"]} " = true ]; then
453- echo -e " ${GREEN} ✓${NC} Status: ${REMOVAL_SUMMARY["workflows_status"]} "
459+ if [ " $WORKFLOWS_REMOVED " = true ]; then
460+ echo -e " ${GREEN} ✓${NC} Status: $WORKFLOWS_STATUS "
454461else
455- echo -e " ${YELLOW} ○${NC} Status: ${REMOVAL_SUMMARY["workflows_status"]} "
462+ echo -e " ${YELLOW} ○${NC} Status: $WORKFLOWS_STATUS "
456463fi
457464
458465echo
459466echo -e " ${BOLD} GitHub Secrets:${NC} "
460- if [ ${ # REMOVAL_SUMMARY["secrets_removed"][@]} -gt 0 ]; then
467+ if [ -n " $SECRETS_REMOVED " ]; then
461468 echo -e " ${GREEN} ✓${NC} Removed:"
462- for secret in " ${REMOVAL_SUMMARY["secrets_removed"][@]} " ; do
469+ IFS=' ,' read -ra REMOVED_ARRAY <<< " $SECRETS_REMOVED"
470+ for secret in " ${REMOVED_ARRAY[@]} " ; do
463471 echo " • $secret "
464472 done
465473fi
466474
467- if [ ${ # REMOVAL_SUMMARY["secrets_failed"][@]} -gt 0 ]; then
475+ if [ -n " $SECRETS_FAILED " ]; then
468476 echo -e " ${RED} ✗${NC} Failed to remove:"
469- for secret in " ${REMOVAL_SUMMARY["secrets_failed"][@]} " ; do
477+ IFS=' ,' read -ra FAILED_ARRAY <<< " $SECRETS_FAILED"
478+ for secret in " ${FAILED_ARRAY[@]} " ; do
470479 echo " • $secret "
471480 done
472481fi
473482
474- echo -e " ${YELLOW} ○${NC} SECRETS_ADMIN_PAT: ${REMOVAL_SUMMARY["pat_status"]} "
483+ echo -e " ${YELLOW} ○${NC} SECRETS_ADMIN_PAT: $PAT_STATUS "
475484
476485echo
477486echo -e " ${BOLD} Additional Notes:${NC} "
@@ -484,7 +493,7 @@ log_success "Uninstallation process complete"
484493
485494# Final message
486495echo
487- if [ " ${REMOVAL_SUMMARY["workflows_removed"]} " = true ] && [ ${ # REMOVAL_SUMMARY["secrets_removed"][@]} -gt 0 ]; then
496+ if [ " $WORKFLOWS_REMOVED " = true ] && [ -n " $SECRETS_REMOVED " ]; then
488497 echo -e " ${GREEN} Claude Code OAuth has been successfully removed from $REPO_NAME ${NC} "
489498else
490499 echo -e " ${YELLOW} Claude Code OAuth was partially removed from $REPO_NAME ${NC} "
0 commit comments