Skip to content

Analyze a Git diff with rad changed

Compare the working branch with a known ref:

Terminal window
git fetch origin main
rad changed --since-ref origin/main

Without --since-ref, use --include-staged or --include-unstaged to include those changes. Repeat --exclude <pattern> to remove generated files or other source files you do not want to mutate. Radforge also reads .muttignore files used by existing installations.

--dry-run prints the plan rather than submitting it. --budget limits the session’s total candidates, not the number per file.

Terminal window
rad changed --since-ref HEAD~3 \
--exclude 'generated/**' \
--budget 200 \
--dry-run --json > changed-plan.json

rad changed plans Go, TypeScript/JavaScript, or Python production changes. It does not accept a --language option. A diff that includes more than one supported mutation language is rejected instead of partially planned.

Run rad changed against the comparison ref:

Terminal window
rad changed --since-ref origin/main

Run the same command from a repository with a root go.mod or go.work:

Terminal window
rad changed --since-ref origin/main

Radforge mutates production .go files. It excludes tests, generated files, vendor, assembly, CGo source files, and files inactive under the selected build constraints.

See Go support for supported toolchains, project shapes, operators, test behavior, and outcomes.

Run the same command from a pytest project with pyproject.toml and uv.lock:

Terminal window
rad changed --since-ref origin/main

Radforge mutates production .py files and discovers pytest files from the project configuration. The GitHub App supports the same Python-only pull-request workflow.

If a change includes Go, TypeScript/JavaScript, or Python together, split the changes into separate runs or pull requests. One run cannot span language profiles.