Round 387: Snyk ext, SonarQube ext, Checkmarx ext, Veracode/Semgrep ext (20 commands)

ober

8168a2149248ff339cbff1c808947934421c9fe5

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 6c18fd9..28c9100 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 387 — Snyk ext, SonarQube ext, Checkmarx ext, Veracode/Semgrep ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| Snyk container scan | — | `snyk-container` | :orange_circle: Scaffolded |
+| Snyk IaC scan | — | `snyk-iac` | :orange_circle: Scaffolded |
+| Snyk SBOM generation | — | `snyk-sbom` | :orange_circle: Scaffolded |
+| Snyk Log4Shell scan | — | `snyk-log4shell` | :orange_circle: Scaffolded |
+| SonarQube analysis | — | `sonarqube-analyze` | :orange_circle: Scaffolded |
+| SonarQube projects | — | `sonarqube-projects` | :orange_circle: Scaffolded |
+| SonarQube rules | — | `sonarqube-rules` | :orange_circle: Scaffolded |
+| SonarQube quality gates | — | `sonarqube-gates` | :orange_circle: Scaffolded |
+| Checkmarx scan | — | `checkmarx-scan` | :orange_circle: Scaffolded |
+| Checkmarx projects | — | `checkmarx-projects` | :orange_circle: Scaffolded |
+| Checkmarx results | — | `checkmarx-results` | :orange_circle: Scaffolded |
+| Checkmarx policies | — | `checkmarx-policies` | :orange_circle: Scaffolded |
+| Veracode scan | — | `veracode-scan` | :orange_circle: Scaffolded |
+| Veracode applications | — | `veracode-apps` | :orange_circle: Scaffolded |
+| Veracode findings | — | `veracode-findings` | :orange_circle: Scaffolded |
+| Veracode policies | — | `veracode-policies` | :orange_circle: Scaffolded |
+| Semgrep scan | — | `semgrep-scan` | :orange_circle: Scaffolded |
+| Semgrep rules | — | `semgrep-rules` | :orange_circle: Scaffolded |
+| Semgrep deploy rules | — | `semgrep-deploy` | :orange_circle: Scaffolded |
+| Semgrep findings | — | `semgrep-findings` | :orange_circle: Scaffolded |
+
 ### Round 386 — Backstage ext, Port ext, Cortex ext, OpsLevel/Compass ext
 
 | Feature | Emacs | jemacs | Status |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index b7a7b89..1b3e3c4 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -27175,3 +27175,44 @@
 (def (cmd-compass-teams app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Compass: listing teams")))
+
+;; Round 387 batch 2 — Checkmarx ext, Veracode/Semgrep ext
+(def (cmd-checkmarx-results app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Checkmarx: listing scan results")))
+
+(def (cmd-checkmarx-policies app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Checkmarx: listing policies")))
+
+(def (cmd-veracode-scan app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Veracode: running scan")))
+
+(def (cmd-veracode-apps app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Veracode: listing applications")))
+
+(def (cmd-veracode-findings app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Veracode: listing findings")))
+
+(def (cmd-veracode-policies app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Veracode: listing policies")))
+
+(def (cmd-semgrep-scan app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Semgrep: running scan")))
+
+(def (cmd-semgrep-rules app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Semgrep: listing rules")))
+
+(def (cmd-semgrep-deploy app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Semgrep: deploying rules")))
+
+(def (cmd-semgrep-findings app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Semgrep: listing findings")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 76009e6..b282997 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -27958,3 +27958,44 @@
 (def (cmd-cortex-scorecards app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Cortex: listing scorecards")))
+
+;; Round 387 batch 1 — Snyk ext, SonarQube ext
+(def (cmd-snyk-container app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Snyk: scanning container image")))
+
+(def (cmd-snyk-iac app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Snyk: scanning infrastructure as code")))
+
+(def (cmd-snyk-sbom app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Snyk: generating SBOM")))
+
+(def (cmd-snyk-log4shell app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Snyk: scanning for Log4Shell vulnerabilities")))
+
+(def (cmd-sonarqube-analyze app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SonarQube: running analysis")))
+
+(def (cmd-sonarqube-projects app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SonarQube: listing projects")))
+
+(def (cmd-sonarqube-rules app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SonarQube: listing rules")))
+
+(def (cmd-sonarqube-gates app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SonarQube: listing quality gates")))
+
+(def (cmd-checkmarx-scan app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Checkmarx: running scan")))
+
+(def (cmd-checkmarx-projects app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Checkmarx: listing projects")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 5b9e6ef..00c0b10 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -9596,4 +9596,26 @@
   (register-command! 'compass-scorecards cmd-compass-scorecards)
   (register-command! 'compass-metrics cmd-compass-metrics)
   (register-command! 'compass-teams cmd-compass-teams)
+
+  ;; Round 387 — Snyk ext, SonarQube ext, Checkmarx ext, Veracode/Semgrep ext
+  (register-command! 'snyk-container cmd-snyk-container)
+  (register-command! 'snyk-iac cmd-snyk-iac)
+  (register-command! 'snyk-sbom cmd-snyk-sbom)
+  (register-command! 'snyk-log4shell cmd-snyk-log4shell)
+  (register-command! 'sonarqube-analyze cmd-sonarqube-analyze)
+  (register-command! 'sonarqube-projects cmd-sonarqube-projects)
+  (register-command! 'sonarqube-rules cmd-sonarqube-rules)
+  (register-command! 'sonarqube-gates cmd-sonarqube-gates)
+  (register-command! 'checkmarx-scan cmd-checkmarx-scan)
+  (register-command! 'checkmarx-projects cmd-checkmarx-projects)
+  (register-command! 'checkmarx-results cmd-checkmarx-results)
+  (register-command! 'checkmarx-policies cmd-checkmarx-policies)
+  (register-command! 'veracode-scan cmd-veracode-scan)
+  (register-command! 'veracode-apps cmd-veracode-apps)
+  (register-command! 'veracode-findings cmd-veracode-findings)
+  (register-command! 'veracode-policies cmd-veracode-policies)
+  (register-command! 'semgrep-scan cmd-semgrep-scan)
+  (register-command! 'semgrep-rules cmd-semgrep-rules)
+  (register-command! 'semgrep-deploy cmd-semgrep-deploy)
+  (register-command! 'semgrep-findings cmd-semgrep-findings)
 )