Dry Run
Dry Run
Resolve and preview supported operations before allowing Custy to change files, Git history, or remotes.
custy --dry-run COMMANDCategory
Quick Command
custy --dry-run COMMAND [OPTIONS]Overviewâ
Dry-run mode lets Custy resolve a command and report supported operations without performing their normal mutations. It is the recommended first step for commands and profiles that can edit project files, stage changes, create Git history, or push to remotes.
How the Effective Mode Is Resolved
Custy resolves dry-run behavior in this order: an explicit CLI option, the
tool.custy.cli.execution.dry_run project setting, and finally the built-in
default of false. This means omitting --dry-run does not necessarily enable
normal execution when the project configuration already sets dry_run = true.# Force preview mode, regardless of the configured default
custy --dry-run changelog generate
# Force normal execution, even when dry_run = true in configuration
custy --no-dry-run changelog generate
What Dry Run Changes
Dry run suppresses supported mutations, but it still does enough real work to resolve and validate the requested operation.
Simulation Boundary
Project Writes
Git Mutations
Discovery and Reads
Validation
Resolution
Review
A Safe Preview Sequence
Dry-Run Review
git status, the current branch, local tags, and configured remotes.--dry-run before the selected Custy command.# Preview changelog content without replacing CHANGELOG.md
custy --dry-run changelog generate
# Preview the daily development pipeline
custy --dry-run run dev
# Preview the complete release pipeline
custy --dry-run run releaseAfter the Preview
Before normal execution:
- confirm the selected command or profile is the smallest one that reaches the intended result;
- review paths, generated content, commit and tag messages, and every remote;
- make sure the working tree contains only changes you intend Custy to include;
- keep recovery information or backups when the operation can rewrite files or create history; and
- inspect the working tree, commit, tags, and remotes again after execution.