Skip to content

[feat] Scripting affordances: --dry-run on destructive commands and --skip-deps/--skip-hooks on rename #174

@lugassawan

Description

@lugassawan

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

  • Command (cmd/*)

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

  • --dry-run flag added to rimba merge, rimba sync, rimba remove, rimba archive, rimba duplicate.
  • --dry-run prints each planned operation without executing it; exits 0.
  • --skip-hooks and --skip-deps flags added to rimba rename; operation skips hook invocations / dependency waits when set.
  • Flags are documented in command Example: and Long fields.
  • E2e tests assert flag plumbing without invoking the destructive operation.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions