基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/SonarSource/sonar-java --skill new-rule命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | new-rule |
| description | Guidelines for implementing new rules in sonar-java |
This skill provides sonar-java-specific guidelines for implementing new rules.
java -jar <rule-api.jar> generate -branch rule/add-RSPEC-S{RULE_ID} -rule S{RULE_ID}sonar-java-plugin/src/main/resources/org/sonar/l10n/java/rules/java/S{RULE_ID}.htmlsonar-java-plugin/src/main/resources/org/sonar/l10n/java/rules/java/S{RULE_ID}.jsonsonar-java-plugin/src/main/resources/profiles/{Sonar_way|Sonar_agentic_AI}/S{RULE_ID}Ruling test expectation files, located in its/ruling/src/test/resources, are updated by merging an automatically
generated PR into the branch when CI checks fail.
Use MethodMatchers to match method calls by type, name, and signature:
private static final MethodMatchers MY_MATCHER = MethodMatchers.create()
.ofTypes("java.util.List")
.names("add")
.withAnyParameters()
.build();
// In visitNode:
if (MY_MATCHER.matches(methodInvocationTree)) {
reportIssue(methodInvocationTree, "Message.");
}
java-checks-test-sources/*/src/main/files/non-compiling/checks/*.log, build logs)pom.xml filesjava-checks/src/main/java/org/sonar/java/checks/{RuleId}Check.javajava-checks/src/test/java/org/sonar/java/checks/{RuleId}CheckTest.javajava-checks-test-sources/default/src/main/java/checks/{RuleId}CheckSample.javasonar-java-plugin/src/main/resources/org/sonar/l10n/java/rules/java/{RULE_ID}.htmlsonar-java-plugin/src/main/resources/org/sonar/l10n/java/rules/java/{RULE_ID}.jsonsonar-java-plugin/src/main/resources/profiles/{Sonar_way|Sonar_agentic_AI}/S{RULE_ID}java-checks-test-sources/default/src/main/files/non-compiling/checks/