Oxc-Linter + Biome 2026

2026 OpenClaw Frontend auf dem Remote Mac:
Ein PR-Gate-Digest aus Oxlint-JSON und Biome-Reporter — Kommentar-Rücklauf in einem Schritt

29. April 2026 Plattform- und Frontend-Teams ca. 9 Min. Lesezeit

Zielgruppe: Teams, die Oxlint aus dem Oxc-Ökosystem gemeinsam mit Biome fahren und trotzdem eine maschinenlesbare Gate-Erzählung pro Pull Request wollen. Dieses HowTo beschreibt reproduzierbare Schritte auf Laptop, CI und gemietetem Remote Mac: beide Reporter schreiben JSON unter festem Pfad, ein OpenClaw-nahes Gateway normalisiert Schweregrade, wendet Budgets an und upsert einen Bot-Kommentar. Für Geheimnisse und Token siehe Token-scoped Automation für Zusammenfassungen; für schwere Browser-Stufen danach Playwright-Shard-Reports auf Remote Mac. Wer eine ältere Pipeline mit zwei klassischen Lintern parallel betreibt, findet dort ein separates Rezept — hier geht es bewusst um Rust-Geschwindigkeit plus Biome-Diagnostik in einem gemeinsamen Digest.

00 HowTo: reproduzierbare Schrittfolge

Dieselbe Reihenfolge auf Entwicklerrechner, zentralem CI-Runner und dem OpenClaw-Worker auf dem Remote Mac einhalten, damit Pfadpräfixe und Hashes beim Merge nicht springen.

  1. Versionen pinnen: oxlint und @biomejs/biome in der package.json festlegen; engines.node auf Node 22+ angleichen wie bei anderen Gate-Skripten.
  2. Oxlint-JSON: Diagnostik mit oxlint --format json nach .openclaw/reports/oxlint.json schreiben; Top-Level-Array diagnostics bleibt der Vertrag.
  3. Biome-JSON: biome check --reporter=json oder biome ci --reporter=json in .openclaw/reports/biome.json umleiten; stderr für andere Stufen frei halten.
  4. Upload: Beide Dateien plus GIT_SHA, PR_NUMBER und optional REPO_ROOT an das Gateway senden, das neben Ihrem Git-Host läuft.
  5. Merge: Reducer ausführen, pr_lint_gate_summary.md und lint_gate.json schreiben, Exit-Code aus der Schwellen-Tabelle ableiten, dann Provider-API für den Kommentar aufrufen.
  6. Optional: Nach dem Gate nur den Markdown-Block an einen OpenAI-kompatiblen Chat-Endpunkt senden — nie Roh-Geheimnisse in den Prompt.

01 Drei typische Schmerzpunkte ohne Gateway-Merge

  1. Schema-Trennung: Oxlint liefert Regelkennungen und Texte in einem flachen Diagnoseobjekt; Biome gruppiert Metadaten unter category und Regelcodes. Ohne Normalisierung zählen Bots doppelt oder verlieren Dateien.
  2. Pfad-Brüche: Absolute Pfade unterscheiden sich zwischen CI und Apple-Silicon-Entwicklern. Das Gateway muss das Repositoriums-Root konsequent entfernen, sonst springen Tabellenzeilen in der PR-Zusammenfassung.
  3. Kommentar-Lärm: Zwei Bot-Posts pro Push verwässern Signal. Ein idempotenter Upsert mit festem HTML-Marker hält die Diskussion lesbar.

02 Entscheidungsmatrix: Zuständigkeit pro Werkzeug

Die Tabelle dient Release-Leads und Security als Kurzbegründung, welche Signale im Digest zuerst erscheinen und welche Schwellen getrennt gelten.

Aspekt Oxlint Biome
Durchsatz großer Bäume Rust-Parser, hohe Parallelität Format, Lint und Assists in einem CLI
Policy-Schwerpunkt Oxc-Regelkatalog, schnelle Fehlerdetektion Import-Sortierung, JSON, Assist-Vorschläge
Gate-Zuordnung Strenge error-Severities als harte Sperre Diagnose-Level auf gemeinsames Enum mappen

03 Artefakte stabil ausgeben unter Node 22+

In der Shell menschenlesbare Ausgabe behalten, in der CI aber immer in Dateien schreiben. Das Gateway soll die Linter nicht erneut starten müssen, außer bei nachweislich abgeschnittenem JSON.

Skriptausschnitt — package.json:

{
  "engines": { "node": ">=22" },
  "scripts": {
    "lint:ox:json": "mkdir -p .openclaw/reports && oxlint --format json . > .openclaw/reports/oxlint.json",
    "lint:biome:json": "mkdir -p .openclaw/reports && biome check --reporter=json . > .openclaw/reports/biome.json",
    "lint:fast:json": "npm run lint:ox:json && npm run lint:biome:json"
  }
}

Wenn der Biome-Minor JSON-Reporter als experimentell markiert, Snapshot-Tests gegen kleine Fixture-Repos legen, damit Upgrades vorhersagbar bleiben.

04 Schwellen-Tabelle für das Gateway

Budgets versioniert neben dem Merge-Skript ablegen (lint_policy.yaml o. Ä.), damit CI und OpenClaw dieselben Zahlen lesen. Harte Zeilen brechen den Job sofort; weiche Zeilen dürfen auf Feature-Branches nur warnen, wenn ein Flag gesetzt ist.

Signal Hart: Job scheitert wenn Weich: empfohlenes Budget
Oxlint error Anzahl größer null keine Ausnahme
Biome-Fehler-Level Anzahl größer null keine Ausnahme
Gemeinsame Warnungen nur auf Release-Branch aktiv höchstens vierundzwanzig bis Aufräum-Sprint
Markdown-Länge Kommentar Provider lehnt Payload ab nach Kürzung höchstens zweiunddreißig Kilobyte Zeichen

Der Reducer sollte lint_gate/v2 oder eine explizite Versionsnummer schreiben, damit nachgelagerte Automatisierung das Schema sicher adressiert. Top-Regeln und höchstens fünf Dateien pro Regel im Markdown halten die PR-Zusammenfassung scanbar.

05 Optional: Gateway und OpenAI-kompatible Clients

Nachdem pr_lint_gate_summary.md steht, kann ein zweiter Worker den Text per HTTP an eine OpenAI-kompatible Chat-Completion-API senden — gleiche Umgebungsvariablennamen wie bei gängigen SDKs, Basis-URL auf eigenes vLLM oder verwalteten Dienst zeigen. Systemprompt kurz halten: keine erfundenen Pfade, Stichpunkte, Kürzungsmarker respektieren.

Reihenfolge: JSON-Merge und Schwellen, dann optional Sprachmodell, zuletzt PR-Kommentar. Antwort-IDs protokollieren, keine Tokens in öffentliche Kommentare.

06 PR-Kommentar, Idempotenz und Transport

Versteckten HTML-Kommentar-Marker aus Repo-Slug, Pull-Nummer und Hash beider JSON-Dateien erzeugen; vor dem Insert vorhandene Bot-Kommentare mit gleichem Marker aktualisieren. Retries nur bei HTTP 429 und 5xx mit begrenztem Backoff — verwechseln Sie das nicht mit echten Lint-Fehlern.

Keine internen Preview-URLs, die eine Organisations-Anmeldung erzwingen, in den Kommentar packen; stattdessen öffentliche Hinweise wie MacWww Hilfe oder reine Job-IDs nennen.

Kernaussage

Wenn Oxlint und Biome jeweils maschinenlesbare Reports unter einem gemeinsamen Verzeichnisvertrag liefern, kann Ihr OpenClaw-Gateway auf einem dedizierten Remote Mac Policy durchsetzen: Pfade vereinheitlichen, Budgets prüfen, optional narrativ verdichten und dennoch einen PR-Kommentar liefern, den Menschen tatsächlich lesen.

Weitere Einstiege: Startseite, Hilfe-Center, Mieten und Kaufen ohne Login sowie der Blog-Index mit allen HowTos.

Apple-Silicon-CI-Host

Oxlint- und Biome-Gates auf einem dedizierten Remote Mac

Wenn Sie deterministische Node-22+-Worker neben Safari- oder WebKit-Smokes benötigen, mieten Sie einen Apple-Silicon-Remote Mac für Gateway und Worker. Öffnen Sie kaufen.html, vergleichen Sie Pakete auf der Preisseite und schließen Sie ohne Pflichtkonto ab — passend für Teams, die OpenClaw und schnelle Linter-Digests bündeln.

Zwei JSON-Quellen, ein Gate Ein PR-Kommentar Apple Silicon
M4 mieten — Oxlint-Gate