Skip to content

Language support

Go, TypeScript/JavaScript, and Python support the same Radforge product workflows. Their mutation operators, test selectors, and native runner options differ.

Capability Go TypeScript/JavaScript Python
rad file and rad plan Yes Yes Yes
rad changed and rad scope Yes Yes Yes
rad verify Yes Yes Yes
Hosted execution go test Vitest pytest
GitHub pull-request analysis Yes Yes Yes
Setup detection and doctor Yes Yes Yes
  • Go uses a root go.mod or go.work and a supported Go toolchain. See Go support.
  • TypeScript/JavaScript uses Vitest, package.json, and exactly one supported npm, pnpm, or Bun lockfile at the repository root.
  • Python uses pytest, pyproject.toml, and uv.lock. Hosted dependency setup creates the .venv/bin/python environment recorded in the plan.

Go selects packages and anchored test patterns. TypeScript/JavaScript selects related Vitest files and the owning configuration. Python selects pytest files or explicit node IDs. --allow-broad-tests is required when CLI planning can only use a test set beyond the broad-fallback safety limit.

One plan and run target one language. Radforge rejects mixed-language Git diffs, scope files, explicit source paths, and pull requests instead of silently selecting one language. Split mixed work into one run or pull request per language.