Zum Hauptinhalt springen

Vitrine · 6 Regeln

Echte Regeln, die difflore aus beliebten OSS-Rezensionen gelernt hat.

Jede Karte unten ist eine Rezensionsnotiz, die aus einem echten PR-Thread destilliert wurde. Wenn ein KI-Agent eine passende Datei in Ihrem Repo bearbeitet, versendet difflore die Regel in seinen Kontext, sodass derselbe Kommentar nie zweimal geschrieben werden muss.

SpracheGoRustTypeScriptPython
QuelleCorrectnessAsync runtimePlugin APIRoutingSecretsTesting
GoCorrectness

Bindungshandler müssen den zurückgegebenen Fehler überprüfen, bevor sie reagieren

← gelernt von gin-gonic/gin

Repo
gin-gonic/gin
akzeptierte Fixes
4

Rezensenten auf Gin kennzeichnen weiterhin Handler, die ctx.ShouldBindJSON aufrufen, ohne den Fehler zu untersuchen, der bei fehlerhaften Eingaben stillschweigend 200 Sekunden auslöst. Die Regel wird immer dann ausgelöst, wenn ein Agent einen neuen Handler schreibt, der Anforderungstexte berührt, sodass der Fehler erkannt wird, bevor PR geöffnet wird.

Go
RustAsync runtime

Erzeugen Sie langlebige Aufgaben mit tokio::spawn, nicht mit block_on innerhalb von asynchronen FNS

← gelernt von tokio-rs/tokio

Repo
tokio-rs/tokio
akzeptierte Fixes
3

Ein wiederkehrender Überprüfungshinweis in tokio: Der Aufruf von block_on aus einem asynchronen Kontext führt zu einem Deadlock der Laufzeit unter Last. DiffLore hat das Muster aus drei separaten PR-Threads gelernt und drängt Agenten nun in Richtung Spawn oder Spawn_Blocking mit einer einzeiligen Begründung, die auf die ursprüngliche Rezension zurückgeführt wird.

Rust
TypeScriptPlugin API

Vite-Plugins sollten „enforce: pre“ deklarieren, wenn sie Importe neu schreiben

← gelernt von vitejs/vite

Repo
vitejs/vite
akzeptierte Fixes
5

Plugin-Autoren liefern Transformationen, die mit der Standardreihenfolge von esbuild laufen, routinemäßig aus, was nur bei Kaltstarts zu fehlenden Importfehlern führt. Die Regel kodiert die Anleitung des Betreuers aus jahrelanger Problemselektion, sodass ein Agent, der ein neues Plugin schreibt, die Reihenfolge direkt beim ersten Commit erhält.

TypeScript
TypeScriptRouting

Routenlader müssen serialisierbare Daten zurückgeben, niemals Klasseninstanzen

← gelernt von tanstack/router

Repo
tanstack/router
akzeptierte Fixes
6

TanStack Router serialisiert die Loader-Ausgabe über die SSR-Grenze hinweg, sodass die Rückgabe einer Datums-, Karten- oder Klasseninstanz die Rehydrierung auf subtile Weise unterbricht. Rezensenten fragen alle paar Wochen nach der gleichen Lösung; Die Regelverknüpfungen führen einen Roundtrip durch und verweisen auf den kanonischen Issue-Thread.

TypeScript
TypeScriptSecrets

Serveraktionen, die headers() berühren, müssen als dynamisch markiert sein

← gelernt von vercel/next.js

Repo
vercel/next.js
akzeptierte Fixes
7

Caching-Überraschungen im App Router entstehen fast ausschließlich durch Aktionen, die Cookies oder Header lesen, ohne das statische Rendering zu deaktivieren. Das Next.js-Rezensionskorpus enthält genau diese Korrektur; difflore löst es aus, sobald ein Agent eine Serveraktionsdatei bearbeitet.

TypeScript
PythonTesting

Durch Abhängigkeiten injizierte Sitzungen gehören zu einer Abhängigkeit, nicht zu einer globalen

← gelernt von fastapi/fastapi

Repo
fastapi/fastapi
akzeptierte Fixes
3

Die FastAPI-Betreuer leiten Mitwirkende konsequent von Datenbanksitzungen auf Modulebene hin zu Factorys mit Depends-Bereich, sodass Tests isoliert bleiben. Die Regel erfasst die von den Prüfern zitierten Leitlinien und Links zu den Dokumentationsabschnitten, sodass Agenten sie ohne Hin und Her übernehmen.

Python

Installieren Sie difflore in 30 Sekunden

Richten Sie es auf ein Repo und die ersten aus der Überprüfung abgeleiteten Regeln werden angezeigt, sobald Ihr Agent eine passende Datei öffnet.

npm install -g @difflore/cli