From 72ba48d004a177bb4122f8eb13b925b85107f8d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20M=C3=BChl?= Date: Thu, 9 Apr 2026 17:09:56 +0200 Subject: [PATCH] feat(02-01): refactor flag parsing to while/shift with CLAUDE_ARGS accumulator --- claudebox.sh | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/claudebox.sh b/claudebox.sh index 47bcb19..bc2ebbd 100644 --- a/claudebox.sh +++ b/claudebox.sh @@ -1,11 +1,20 @@ # Parse claudebox flags +SKIP_AUDIT=false +DRY_RUN=false +CHECK_MODE=false SHELL_MODE=false -for arg in "$@"; do - case "$arg" in - --shell) SHELL_MODE=true; shift; break ;; - --) shift; break ;; - *) break ;; +CLAUDE_ARGS=() + +while (( $# > 0 )); do + case "$1" in + --yes|-y) SKIP_AUDIT=true ;; + --dry-run) DRY_RUN=true ;; + --check) CHECK_MODE=true ;; + --shell) SHELL_MODE=true ;; + --) shift; CLAUDE_ARGS+=("$@"); break ;; + *) CLAUDE_ARGS+=("$1") ;; esac + shift done # SANDBOX_PATH is injected by flake.nix via makeBinPath (only runtimeInputs, no host PATH) @@ -68,9 +77,9 @@ fi # Build sandbox command if [[ "$SHELL_MODE" == true ]]; then - SANDBOX_CMD=("$SANDBOX_BASH" "$@") + SANDBOX_CMD=("$SANDBOX_BASH" "${CLAUDE_ARGS[@]}") else - SANDBOX_CMD=("$CLAUDE_BIN" --dangerously-skip-permissions "$@") + SANDBOX_CMD=("$CLAUDE_BIN" --dangerously-skip-permissions "${CLAUDE_ARGS[@]}") fi # exec bwrap (SAND-04 through SAND-15, UX-06, D-01)