ReSharper Command Line Tools
Trigger On
- the repo uses or wants ReSharper Command Line Tools
- the team wants
jb inspectcode or jb cleanupcode
- the user asks for stronger C# inspections, cleanup profiles, or ReSharper-based CI gates
Value
- produce a concrete project delta: code, docs, config, tests, CI, or review artifact
- reduce ambiguity through explicit planning, verification, and final validation skills
- leave reusable project context so future tasks are faster and safer
Do Not Use For
- replacing tests with inspection output
- ad-hoc formatting-only work when the repo intentionally standardizes on another formatter
- repos that do not want JetBrains settings or CLT-based gates in their workflow
Inputs
- the nearest
AGENTS.md
- the target
.sln, .csproj, or bounded file set
- repo-root
.editorconfig
- solution shared settings such as
YourSolution.sln.DotSettings
Quick Start
- Read the nearest
AGENTS.md and confirm scope and constraints.
- Run this skill's
Workflow through the Ralph Loop until outcomes are acceptable.
- Return the
Required Result Format with concrete artifacts and verification evidence.
Workflow
- Prefer solution-level runs when possible so ReSharper can resolve references and apply full inspections.
- Build the solution before
jb cleanupcode when working at solution scope.
- Use
jb inspectcode first to surface issues before editing anything broad.
- Treat surfaced issues as mandatory fixes when this gate is enabled for the repo; do not just dump a report and stop.
- Use
jb cleanupcode with an explicit cleanup profile:
Built-in: Full Cleanup
Built-in: Reformat Code
Built-in: Reformat & Apply Syntax Style
- or a checked-in custom profile
- Keep durable ReSharper settings in the team-shared solution layer and commit the solution
.DotSettings file when policy changes.
- Re-run
jb inspectcode after cleanup or fixes, then run the repo's normal quality pass and tests.
Bootstrap When Missing
If ReSharper Command Line Tools are not available yet:
- Detect current state:
rg --files -g '.config/dotnet-tools.json' -g '*.sln.DotSettings'
dotnet tool list --local
dotnet tool list --global
command -v jb
- Choose the install path deliberately:
- preferred repo-local install for reproducible CI:
dotnet new tool-manifest (if missing)
dotnet tool install JetBrains.ReSharper.GlobalTools
- global fallback:
dotnet tool install --global JetBrains.ReSharper.GlobalTools
- Verify the installed commands resolve correctly:
jb inspectcode --help
jb cleanupcode --help
- Record exact commands in
AGENTS.md, for example:
dotnet build MySolution.sln -c Release
jb inspectcode MySolution.sln -o=artifacts/inspectcode.sarif
jb cleanupcode MySolution.sln --profile="Built-in: Full Cleanup"
- If the repo needs stable settings, save them into the solution team-shared layer and commit
YourSolution.sln.DotSettings.
- Run
jb inspectcode once, fix or triage the surfaced issues, rerun it, and return status: configured or status: improved.
- If the repo intentionally excludes ReSharper CLT from its toolchain, return
status: not_applicable.
Deliver
- explicit
jb inspectcode and jb cleanupcode commands
- durable ReSharper settings in shared solution config
- a quality gate that surfaces issues which are then fixed, not ignored
Validate
- the target solution or project builds before solution-wide cleanup
jb inspectcode output is reviewed and acted on
- cleanup profiles and shared settings are explicit
- tests and the wider quality pass still run after ReSharper-driven fixes
Ralph Loop
Use the Ralph Loop for every task, including docs, architecture, testing, and tooling work.
- Plan first (mandatory):
- analyze current state
- define target outcome, constraints, and risks
- write a detailed execution plan
- list final validation skills to run at the end, with order and reason
- Execute one planned step and produce a concrete delta.
- Review the result and capture findings with actionable next fixes.
- Apply fixes in small batches and rerun the relevant checks or review steps.
- Update the plan after each iteration.
- Repeat until outcomes are acceptable or only explicit exceptions remain.
- If a dependency is missing, bootstrap it or return
status: not_applicable with explicit reason and fallback path.
Required Result Format
status: complete | clean | improved | configured | not_applicable | blocked
plan: concise plan and current iteration step
actions_taken: concrete changes made
validation_skills: final skills run, or skipped with reasons
verification: commands, checks, or review evidence summary
remaining: top unresolved items or none
For setup-only requests with no execution, return status: configured and exact next commands.
Load References
- references/resharper-clt.md
- references/commands.md
- references/config.md
Example Requests
- "Add ReSharper CLI inspections to this .NET repo."
- "Run InspectCode and fix what it finds."
- "Set up CleanupCode with a shared profile."
- "Use JetBrains ReSharper command line tools in CI."
1---2name: resharper-clt3description: Use the free official JetBrains ReSharper Command Line Tools for .NET repositories. USE FOR: `jb inspectcode`; `jb cleanupcode`; stronger C# inspections, cleanup profiles, and CI-friendly JetBrains analysis. DO NOT USE FOR: replacing tests with inspection output; ad-hoc formatting-only work when the repo intentionally standardizes on another formatter. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.4---56# ReSharper Command Line Tools78## Trigger On910- the repo uses or wants ReSharper Command Line Tools11- the team wants `jb inspectcode` or `jb cleanupcode`12- the user asks for stronger C# inspections, cleanup profiles, or ReSharper-based CI gates1314## Value1516- produce a concrete project delta: code, docs, config, tests, CI, or review artifact17- reduce ambiguity through explicit planning, verification, and final validation skills18- leave reusable project context so future tasks are faster and safer1920## Do Not Use For2122- replacing tests with inspection output23- ad-hoc formatting-only work when the repo intentionally standardizes on another formatter24- repos that do not want JetBrains settings or CLT-based gates in their workflow2526## Inputs2728- the nearest `AGENTS.md`29- the target `.sln`, `.csproj`, or bounded file set30- repo-root `.editorconfig`31- solution shared settings such as `YourSolution.sln.DotSettings`3233## Quick Start34351. Read the nearest `AGENTS.md` and confirm scope and constraints.362. Run this skill's `Workflow` through the `Ralph Loop` until outcomes are acceptable.373. Return the `Required Result Format` with concrete artifacts and verification evidence.3839## Workflow40411. Prefer solution-level runs when possible so ReSharper can resolve references and apply full inspections.422. Build the solution before `jb cleanupcode` when working at solution scope.433. Use `jb inspectcode` first to surface issues before editing anything broad.444. Treat surfaced issues as mandatory fixes when this gate is enabled for the repo; do not just dump a report and stop.455. Use `jb cleanupcode` with an explicit cleanup profile:46 - `Built-in: Full Cleanup`47 - `Built-in: Reformat Code`48 - `Built-in: Reformat & Apply Syntax Style`49 - or a checked-in custom profile506. Keep durable ReSharper settings in the team-shared solution layer and commit the solution `.DotSettings` file when policy changes.517. Re-run `jb inspectcode` after cleanup or fixes, then run the repo's normal quality pass and tests.5253## Bootstrap When Missing5455If ReSharper Command Line Tools are not available yet:56571. Detect current state:58 - `rg --files -g '.config/dotnet-tools.json' -g '*.sln.DotSettings'`59 - `dotnet tool list --local`60 - `dotnet tool list --global`61 - `command -v jb`622. Choose the install path deliberately:63 - preferred repo-local install for reproducible CI:64 - `dotnet new tool-manifest` (if missing)65 - `dotnet tool install JetBrains.ReSharper.GlobalTools`66 - global fallback:67 - `dotnet tool install --global JetBrains.ReSharper.GlobalTools`683. Verify the installed commands resolve correctly:69 - `jb inspectcode --help`70 - `jb cleanupcode --help`714. Record exact commands in `AGENTS.md`, for example:72 - `dotnet build MySolution.sln -c Release`73 - `jb inspectcode MySolution.sln -o=artifacts/inspectcode.sarif`74 - `jb cleanupcode MySolution.sln --profile="Built-in: Full Cleanup"`755. If the repo needs stable settings, save them into the solution team-shared layer and commit `YourSolution.sln.DotSettings`.766. Run `jb inspectcode` once, fix or triage the surfaced issues, rerun it, and return `status: configured` or `status: improved`.777. If the repo intentionally excludes ReSharper CLT from its toolchain, return `status: not_applicable`.7879## Deliver8081- explicit `jb inspectcode` and `jb cleanupcode` commands82- durable ReSharper settings in shared solution config83- a quality gate that surfaces issues which are then fixed, not ignored8485## Validate8687- the target solution or project builds before solution-wide cleanup88- `jb inspectcode` output is reviewed and acted on89- cleanup profiles and shared settings are explicit90- tests and the wider quality pass still run after ReSharper-driven fixes9192## Ralph Loop9394Use the Ralph Loop for every task, including docs, architecture, testing, and tooling work.95961. Plan first (mandatory):97 - analyze current state98 - define target outcome, constraints, and risks99 - write a detailed execution plan100 - list final validation skills to run at the end, with order and reason1012. Execute one planned step and produce a concrete delta.1023. Review the result and capture findings with actionable next fixes.1034. Apply fixes in small batches and rerun the relevant checks or review steps.1045. Update the plan after each iteration.1056. Repeat until outcomes are acceptable or only explicit exceptions remain.1067. If a dependency is missing, bootstrap it or return `status: not_applicable` with explicit reason and fallback path.107108### Required Result Format109110- `status`: `complete` | `clean` | `improved` | `configured` | `not_applicable` | `blocked`111- `plan`: concise plan and current iteration step112- `actions_taken`: concrete changes made113- `validation_skills`: final skills run, or skipped with reasons114- `verification`: commands, checks, or review evidence summary115- `remaining`: top unresolved items or `none`116117For setup-only requests with no execution, return `status: configured` and exact next commands.118119## Load References120121- [references/resharper-clt.md](references/resharper-clt.md)122- [references/commands.md](references/commands.md)123- [references/config.md](references/config.md)124125## Example Requests126127- "Add ReSharper CLI inspections to this .NET repo."128- "Run InspectCode and fix what it finds."129- "Set up CleanupCode with a shared profile."130- "Use JetBrains ReSharper command line tools in CI."