Goal
Destructive and mutation commands gain --dry-run, --skip-deps, and --skip-hooks flags so rimba can be used safely in automated scripts and CI pipelines.
Motivation
Users running rimba in scripts or CI cannot safely rehearse destructive operations (merge, remove, archive, sync) without actually executing them. Similarly, rename workflows that call external hooks or dependency steps need an escape hatch for testing or emergency situations.
Surface
Sketch
# Rehearse without touching git state
rimba merge auth --dry-run
rimba remove auth --dry-run
rimba archive auth --dry-run
rimba sync --dry-run
# Rename without running hook scripts or waiting on deps
rimba rename auth auth-v2 --skip-hooks
rimba rename auth auth-v2 --skip-deps
Expected output for --dry-run: print the operations that would be performed, prefixed with [dry-run], then exit 0 without writing to git state.
Acceptance
Bundles
Original candidates folded into this issue:
- E6:
--dry-run flag for rimba merge, rimba sync, rimba remove, rimba archive, rimba duplicate — safe scripting rehearsal.
- E7:
--skip-deps / --skip-hooks flags for rimba rename — emergency override for hook/dependency steps.
Goal
Destructive and mutation commands gain
--dry-run,--skip-deps, and--skip-hooksflags so rimba can be used safely in automated scripts and CI pipelines.Motivation
Users running rimba in scripts or CI cannot safely rehearse destructive operations (merge, remove, archive, sync) without actually executing them. Similarly, rename workflows that call external hooks or dependency steps need an escape hatch for testing or emergency situations.
Surface
cmd/*)Sketch
Expected output for
--dry-run: print the operations that would be performed, prefixed with[dry-run], then exit 0 without writing to git state.Acceptance
--dry-runflag added torimba merge,rimba sync,rimba remove,rimba archive,rimba duplicate.--dry-runprints each planned operation without executing it; exits 0.--skip-hooksand--skip-depsflags added torimba rename; operation skips hook invocations / dependency waits when set.Example:andLongfields.Bundles
Original candidates folded into this issue:
--dry-runflag forrimba merge,rimba sync,rimba remove,rimba archive,rimba duplicate— safe scripting rehearsal.--skip-deps/--skip-hooksflags forrimba rename— emergency override for hook/dependency steps.