mcpField
S
sonar-fix-issue

sonar-fix-issue

github.com/sonarsourceテスト・品質11444 回インストール今日更新
リポジトリ

sonar-fix-issue について

SonarQubeが指摘したコード品質やセキュリティの問題を、最小限の変更で既存の動作を保ちながら修正するコーディングエージェント向けスキルです。編集前にSonarQubeのルール詳細を参照できます。

主な機能

  1. 01ルール、ファイル、行番号の解析
  2. 02SonarQubeのルール説明を取得
  3. 03ファイル全体の文脈を確認
  4. 04動作を保つ最小限の修正
  5. 05変更内容の説明と確認手順の提案

活用シーン

  1. 01ルールキーで指摘を修正
  2. 02指定ファイルの指摘に対応
  3. 03自然言語で説明された問題を解決

MCP 対応

利用可能な場合、SonarQube MCPツール `mcp__sonarqube__show_rule` を呼び出してルールの説明を取得します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sonarsource/sonarqube-agent-plugins --skill sonar-fix-issue

インストール後、Claude Code で/sonar-fix-issueを入力して読み込まれたか確認します。

詳細

SonarQube — Issue を修正

SonarQube が特定したコード品質またはセキュリティの問題を修正します。

使用方法

sonar-fix-issue java:S1481 src/main/java/MyClass.java:42
sonar-fix-issue python:S2077 src/auth/login.py
sonar-fix-issue Remove unused variable in MyClass.java

手順

ステップ 1:問題を特定する

ユーザーが指定した引数を解析し、次の情報を確認します。

  • ルールキー(例:java:S1481、python:S2077)
  • ファイルパスと、指定されている場合は行番号(例:src/auth/login.py:34)
  • ルールキーが指定されていない場合は、平易な説明

ルールキーもファイルパスも特定できない場合は、次のように尋ねます。「どのルールとファイルを修正すればよいですか?」

ステップ 2:ルールを確認する(キーが指定されている場合)

コードに手を加える前に、ルールキーを指定して mcp__sonarqube__show_rule を呼び出し、ルールの詳細な説明、根拠、および修正方法のガイダンスを取得します。スキーマで必要とされない限り、projectKey などの追加パラメーターは指定しないでください。 統合後のルール検索では通常、ルールキーのみが必要です。

MCP ツールを利用できない場合は、sonar api get "/api/rules/show?key=<rule-key>" にフォールバックします。sonar も利用できない、または認証されていない場合は、SonarQube ルールに関する既存の知識を利用します。

ステップ 3:ファイルを読む

ファイルの内容をすべて読みます。行番号が指定されている場合は、その行の前後を重点的に分析しつつ、コンテキストを理解するためにファイル全体を読みます。

ステップ 4:修正を適用する
  • ルール違反を解消するための最小限の変更を行います
  • 周辺コードのリファクタリングや、無関係な問題の修正は行いません
  • 既存の動作を維持します。修正によってコードの動作を変えてはいけません
ステップ 5:変更内容を説明する

編集後、次の点を簡潔に説明します。

  • どのような違反だったか
  • なぜルールに抵触するのか
  • 何を変更し、なぜその変更で問題が解消されるのか
ステップ 6:次の手順を提案する
  • 「<file> を指定して sonar-analyze スキルを呼び出し、新たな問題が発生していないことを確認してください。」
  • 「プロジェクトキー(または sonar-project.properties 内の sonar.projectKey)を指定して sonar-list-issues スキルを呼び出してください。CLI では常に -p を使用します。」

コメント