Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计提醒

sonarqube-clisonarqube CLI 搜索

Agent Skill

sonarqube-cli 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

272

周安装

11

GitHub Stars

公开资料未说明

下载量

85
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sonarqube-cli(sonarqube CLI 搜索)
来源仓库:https://github.com/g-imhoff/skills
仓库路径:skills/sonarqube-cli
安装命令:
npx skills add https://github.com/g-imhoff/skills --skill sonarqube-cli
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/g-imhoff/skills --skill sonarqube-cli

简介

sonarqube-cli 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 适用于代码质量分析、技术文档检索或开发流程中的信息整理场景。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 确认具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

SonarQube CLI Skill

This skill centers on scripts/scan_branch.py — a Python orchestrator that runs a full SonarQube analysis on a branch and reports the quality gate. For single-file checks, secrets scanning, and direct API calls, it wraps the sonar CLI (v0.9.0, Beta).

CRITICAL — Credential checks (run before ANY command)

Before running scripts/scan_branch.py or sonar-scanner, verify SONAR_HOST_URL and SONAR_TOKEN are set without reading their values:

[ -n "${SONAR_HOST_URL}" ] && echo "SONAR_HOST_URL set" || echo "SONAR_HOST_URL MISSING"
[ -n "${SONAR_TOKEN}" ]    && echo "SONAR_TOKEN set"    || echo "SONAR_TOKEN MISSING"

Before running sonar CLI commands, verify authentication:

sonar --version
sonar auth status

NEVER read, print, echo, or log the values of SONAR_TOKEN or SONAR_HOST_URL. If any check fails, stop and ask the user to set the variable or run sonar auth login.


Primary workflow — scripts/scan_branch.py

scripts/scan_branch.py is a self-contained Python script (stdlib only) that replicates the manual-sonarqube.yml GitHub Actions workflow as a local command. Use it whenever the user wants to analyze a branch end-to-end.

It performs:

  1. git checkout of the requested ref
  2. sonar-scanner invocation (single-project context by default for Community Edition)
  3. Polls /api/ce/task until analysis completes
  4. Calls /api/qualitygates/project_status for the gate result
  5. Pass → prints success banner, exits 0
  6. Fail → fetches /api/issues/search, prints a severity-sorted table, exits 1

Prerequisites

  • sonar-scanner and git on PATH (install scanner: https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/)
  • SONAR_HOST_URL and SONAR_TOKEN exported (verified as above — never print values)
  • If the project has a sonar-project.properties file, run the script from that directory. Properties like sonar.projectKey, sonar.sources, etc. are read automatically; use -D extras only to override.
  • Branch analysis (--use-branch) requires SonarQube Developer Edition or higher

Usage

# Community Edition (default) — checks out the ref, scans against the main project context
python scripts/scan_branch.py --branch feature/my-branch --project-key my-project

# Project living in a subdirectory (matches the GitHub Actions workflow layout)
python scripts/scan_branch.py --branch develop --project-key my-project --project-dir ./yodea-app

# Developer Edition+ — true branch analysis via sonar.branch.name
python scripts/scan_branch.py --branch feature/my-branch --project-key my-project --use-branch

# Longer timeout + extra scanner properties (anything after the flags is passed through)
python scripts/scan_branch.py \
  --branch main \
  --project-key my-project \
  --timeout 900 \
  -Dsonar.sources=src \
  -Dsonar.exclusions=**/*.test.ts

Options

OptionRequiredDescription
--branchYesGit ref to check out before scanning
--project-keyNo*SonarQube project key (falls back to SONAR_PROJECT_KEY)
--project-nameNoDisplay name (default: project key)
--project-dirNoPassed as sonar.projectBaseDir
--timeoutNoMax seconds to wait for analysis (default: 600)
--poll-intervalNoSeconds between /api/ce/task polls (default: 5)
--use-branchNoSend sonar.branch.name to the scanner (Developer Edition+)
*trailing positional args*NoForwarded verbatim to sonar-scanner (e.g. -Dsonar.sources=src)
  • One of --project-key or SONAR_PROJECT_KEY is required.

Environment variables

VariableRequiredDescription
SONAR_HOST_URLYesSonarQube server URL
SONAR_TOKENYesUser token, read by both sonar-scanner and the script
SONAR_PROJECT_KEYNoDefault project key, overridden by --project-key

Only user tokens work — project, global, and scoped-organization tokens will be rejected.

Output

Gate passed (exit 0):

============================================================
  QUALITY GATE PASSED - Everything looks good!
============================================================

Gate failed (exit 1):

============================================================
  QUALITY GATE FAILED (FAILED)
============================================================

Failed conditions:
  - new_violations 3 > 0

Issues found: 12

SEVERITY   TYPE            COMPONENT                                 MESSAGE
--------------------------------------------------------------------
BLOCKER    BUG             src/app.ts:42                             Null pointer dereference
CRITICAL   VULNERABILITY   src/auth.ts:15                            Hardcoded credentials
MAJOR      CODE_SMELL      src/utils.ts:88                           Function has 42 parameters

When to reach past the script

Drop to raw sonar-scanner only when the script is not a fit — e.g. custom analysis lifecycle, you already did the checkout, or you need to drive sonar-scanner from another orchestrator. The script's bare-metal equivalent is:

git checkout <branch>
sonar-scanner                                # Community Edition
sonar-scanner -Dsonar.branch.name=<branch>   # Developer Edition+

TASK_ID=$(grep ceTaskId .scannerwork/report-task.txt | cut -d= -f2)
sonar api get "/api/ce/task?id=$TASK_ID"
sonar api get "/api/qualitygates/project_status?projectKey=<key>&branch=<branch>"
sonar list issues -p <key> --branch <branch>

Extending the script

scripts/scan_branch.py is designed to be edited directly — it's one file, stdlib only, and each stage is a small function:

  • run_scanner() — builds and runs the sonar-scanner command
  • wait_for_analysis() — polls /api/ce/task
  • check_quality_gate() — reads /api/qualitygates/project_status
  • fetch_issues() — paginates /api/issues/search
  • format_issues() — renders the severity-sorted table

If the user asks for a new behavior (e.g. JSON output, a different gate metric, Slack notification on failure), modify the relevant function rather than adding a parallel script.


Secondary workflows — sonar CLI

These commands do not require scan_branch.py. Use them for targeted, local tasks. Full option tables and every flag live in references/commands.md — read that file whenever the user needs a flag that is not listed below.

Single-file check — sonar verify

Fastest way to scan one file for all issue classes:

sonar verify --file src/app.ts
sonar verify --file src/app.ts --branch main -p my-project

Secrets scan — sonar analyze secrets

Detects hardcoded credentials. Exits non-zero on a hit, so it plugs directly into CI:

sonar analyze secrets src/ .env.example
cat .env | sonar analyze secrets --stdin

Server-side deep analysis — sonar analyze sqaa (Cloud only)

sonar analyze sqaa --file src/app.ts --branch main

Listing issues and projects

sonar list issues -p my-project --severity CRITICAL --branch main
sonar list issues -p my-project --format toon           # AI-friendly output
sonar list projects -q partial-name

Raw API access — sonar api

sonar api get  "/api/qualitygates/project_status?projectKey=my-project"
sonar api post "/api/issues/do_transition" --data '{"issue":"<id>","transition":"accept"}'

Supports get, post, patch, put, delete. Add --verbose for request/response debugging.

API docs: Cloud · Server

Integrations

sonar integrate git                  # Pre-commit secrets hook
sonar integrate git --hook pre-push --global
sonar integrate claude -p my-project # Claude Code hooks + MCP server

Auth, config, self-update

sonar auth login / logout / status / purge
sonar config telemetry --enabled | --disabled
sonar self-update [--status | --force]

For every flag on every subcommand, see references/commands.md.


Decision guide

NeedCommand
Full branch analysis + quality gate + issue report (Community Edition)python scripts/scan_branch.py --branch <ref> --project-key <key>
Full branch analysis with true branch context (Developer Edition+)python scripts/scan_branch.py --branch <ref> --project-key <key> --use-branch
Project lives in a subdirectoryadd --project-dir./<subdir> to the script call
Override scanner propertiesappend -Dsonar.key=value to the script call
Check a single file locallysonar verify --file <path>
Find hardcoded secretssonar analyze secrets <paths…>
Deep server-side file analysis (Cloud)sonar analyze sqaa --file <path>
List issues for a projectsonar list issues -p <key> [--severity …] [--branch …]
List/search projectssonar list projects [-q …]
Arbitrary API callsonar api <method> <endpoint> [--data …]
Prevent secret leaks in Gitsonar integrate git [--hook pre-push] [--global]
Protect Claude Code sessionssonar integrate claude -p <key>
Run sonar-scanner manuallyonly when scan_branch.py doesn't fit — see the raw workflow above

Quick setup checklist

  1. Install CLI: curl -o- https://raw.githubusercontent.com/SonarSource/sonarqube-cli/refs/heads/master/user-scripts/install.sh | bash
  2. Install scanner: https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/
  3. sonar auth login and confirm with sonar auth status
  4. Export credentials for the script: export SONAR_HOST_URL="https://your-sonarqube.example.com" export SONAR_TOKEN="squ_your_token_here" # optional default for the script export SONAR_PROJECT_KEY="my-project"
  5. Verify variables are set (without printing): [-n "${SONAR_HOST_URL}"] && [-n "${SONAR_TOKEN}"] && echo "OK" || echo "MISSING"
  6. Run python scripts/scan_branch.py --branch <ref> from the project root (or the directory containing sonar-project.properties).

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.99%
按下载量换算32

Claude

28.81%
按下载量换算24

Cursor

19.73%
按下载量换算17

Gemini CLI

9.11%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills