Skip to content

Choose a workflow

Choose a workflow based on the language and how you select source files. Every mutation run executes on Radforge infrastructure. CLI planning and dry-run inspection stay local.

Goal Use Language support
Analyze one source file rad file Go, TypeScript/JavaScript, Python
Save a one-file plan without submitting it rad plan Go, TypeScript/JavaScript, Python
Analyze source selected from a Git diff rad changed Go, TypeScript/JavaScript, Python
Analyze an explicit source-file list rad scope Go, TypeScript/JavaScript, Python
Analyze a pull request GitHub App Go, TypeScript/JavaScript, Python
Submit or manage a saved plan rad remote The language recorded in the plan

See Language support for supported project shapes and runner differences. For Go versions, mutation operators, and exclusions, see Go support.

Use rad file <path> to plan one file and submit the plan immediately. Use rad plan --target <path> when you need to inspect, store, or pass the plan to another tool before submission.

rad file <path> --dry-run --json and rad plan --target <path> --json both write a one-file plan without starting a run. Do not edit the generated JSON by hand.

Both commands submit an existing plan through the hosted execution path:

Terminal window
rad file --artifact plan.json
rad remote run --artifact plan.json

Use rad remote run in scripts or workflows that explicitly separate planning from submission. Use rad file --artifact as the shorter equivalent when working with a one-file plan.

Radforge normally selects tests related to the source being mutated. If it cannot select a narrow set, planning stops unless you pass --allow-broad-tests. That option can run more tests and increase run time, so inspect the plan before accepting the broader scope.

A run keeps one submitted plan and source snapshot. An attempt is one execution of that immutable input. Retrying a run creates a new attempt with the original plan and snapshot. Submit a new run when the code or plan changes.