Format source files with the project's code style
Two paths reach the same code style: the IDE applies it through IntelliJ's own formatter (highest fidelity, keeps the IDE's VFS/PSI caches consistent); the CLI fallback applies it through the project's own external formatter (Spotless / google-java-format / palantir-java-format) when the IDE isn't reachable.
Pick the path
Probe FIRST, here, before loading either reference — so you read only the one you
need. Call steroid_list_projects (via ToolSearch("steroid list projects execute code") if the tool schema isn't loaded):
- It returns the repo you're in → IDE path: note that entry's
project_name(the opaque routing key, not the human-readablename) and followreferences/ide.md. Its recipes start already knowing theproject_name— don't re-probe. - It fails, or the repo isn't listed → CLI fallback path: follow
references/fallback.md(detects Spotless / java-format and runs it in the console) and tell the user up front you're using the external-formatter fallback because the IDE wasn't reachable.
Block / line-range formatting (IDE recipe 2) is IDE-only — there's no faithful CLI equivalent. If the user asked for a block and the IDE is unreachable, say so rather than silently reformatting the whole file.
Both paths end the same way: run git diff --stat <paths> and report what
actually changed. A reformat that produces no diff is a valid outcome — the
files already conform to the style; say so plainly rather than implying work was
done.