Skip to content

Initialize a repository with rad init

Run initialization from the repository you want Radforge to analyze. Radforge detects each independently runnable project as a profile, including multiple profiles that use the same language.

Terminal window
rad init --dry-run
rad init

The command checks project files for supported Go, TypeScript, and Python setups. It adds .radforge/ to .gitignore, installs the bundled Radforge agent skill, and validates the selected profiles. It does not install project dependencies or submit a mutation run. When a profile needs a test runner or package, initialization reports the required remediation.

Initialization prepares Go, TypeScript/JavaScript, and Python profiles for CLI and GitHub App runs. A runnable Python profile uses pytest with pyproject.toml and uv.lock.

Run rad init without --yes to select profiles interactively. When Radforge finds more than one profile, it lists every detected root with its language, support level, and detection evidence. Select profile numbers or choose all.

Directory names such as documentation, examples, and fixtures can mark a profile as likely supporting code. This label is a suggestion. Radforge still shows the profile and does not exclude it from an explicit selection.

For noninteractive setup, repeat --profile-root when more than one profile is detected:

Terminal window
rad init --dry-run \
--profile-root services/api \
--profile-root apps/web \
--json
rad init --yes \
--profile-root services/api \
--profile-root apps/web \
--json

Each value is relative to the repository root and must match a detected profile root. If multiple languages share that root, Radforge selects each of them. Add --language go, --language typescript, or --language python to narrow the selected profiles by language.

rad init --yes selects a profile automatically only when detection finds one profile. When detection finds more than one, the command exits without writing files unless at least one --profile-root is provided. --language mixed remains available for diagnosis and interactive selection, but does not bypass the explicit-root requirement for unattended setup.

Use --target repo, --target user, or --target both to choose where the coding-agent skills are installed. repo writes to .agents/skills/radforge/ and .claude/skills/radforge/. user writes to the same directories under your home directory.

--dry-run shows changes without writing files. Use --json for scripts, and review profile selection and file changes before applying them.