メインコンテンツへ移動

ショーケース・6つのルール

人気のある OSS レビューから学んだ本当のルール difflore。

以下の各カードは、実際の PR スレッドから抜粋したレビュー メモです。 AI エージェントがリポジトリ内の一致するファイルを編集すると、difflore によってルールがそのコンテキストに送信されるため、同じコメントを 2 回書き込む必要がなくなります。

言語GoRustTypeScriptPython
ソースCorrectnessAsync runtimePlugin APIRoutingSecretsTesting
GoCorrectness

バインド ハンドラーは応答する前に返されたエラーを確認する必要があります

← から学びました gin-gonic/gin

リポ
gin-gonic/gin
承認済み Fix
4

gin のレビュー担当者は、エラーを検査せずに ctx.ShouldBindJSON を呼び出すハンドラーにフラグを立て続けており、不正な入力に対して黙って 200 秒が発生します。このルールは、エージェントがリクエスト本文に触れる新しいハンドラーを作成するたびに起動されるため、PR が開かれる前にバグが捕捉されます。

Go
RustAsync runtime

非同期 FNS 内の block_on ではなく、tokio::spawn を使用して存続期間の長いタスクを生成します。

← から学びました tokio-rs/tokio

リポ
tokio-rs/tokio
承認済み Fix
3

tokio で繰り返されるレビュー ノート: 非同期コンテキスト内から block_on を呼び出すと、負荷がかかっているランタイムがデッドロックされます。 DiffLore は 3 つの個別の PR スレッドからパターンを学習し、元のレビューにリンクした 1 行の根拠でエージェントを spawn または spawn_blocking に向けて誘導します。

Rust
TypeScriptPlugin API

Vite プラグインはインポートを書き換えるときに enforce: pre を宣言する必要があります

← から学びました vitejs/vite

リポ
vitejs/vite
承認済み Fix
5

プラグインの作成者は、esbuild のデフォルトの順序と競合する変換を定期的に出荷し、コールド スタート時にのみインポート不足エラーを生成します。このルールは、長年にわたる問題のトリアージから得たメンテナーのガイダンスをエンコードしているため、新しいプラグインを作成するエージェントは最初のコミットで順序付けを正しく行うことができます。

TypeScript
TypeScriptRouting

ルートローダーはクラスインスタンスではなくシリアル化可能なデータを返す必要があります

← から学びました tanstack/router

リポ
tanstack/router
承認済み Fix
6

TanStack Router は SSR 境界を越えてローダー出力をシリアル化するため、Date、Map、またはクラス インスタンスを返すと、微妙な方法でリハイドレーションが中断されます。レビュー担当者は数週間ごとに同じ修正を求めます。ラウンドトリップして正規の問題スレッドを指すルールのショートカット。

TypeScript
TypeScriptSecrets

headers() に触れるサーバーアクションは動的としてマークする必要があります

← から学びました vercel/next.js

リポ
vercel/next.js
承認済み Fix
7

App Router でのキャッシュの驚きは、ほとんどすべて、静的レンダリングをオプトアウトせずに Cookie またはヘッダーを読み取るアクションによってもたらされます。 Next.js レビュー コーパスには、まさにこの修正が含まれています。 difflore は、エージェントがサーバー アクション ファイルを編集した瞬間にこれを発生させます。

TypeScript
PythonTesting

依存関係が注入されたセッションは、グローバルではなく、Depends に属します。

← から学びました fastapi/fastapi

リポ
fastapi/fastapi
承認済み Fix
3

FastAPI メンテナーは、コントリビューターをモジュール レベルのデータベース セッションから、Depends スコープのファクトリに向けて一貫して誘導するため、テストは分離された状態に保たれます。このルールはそのガイダンスをキャプチャし、レビュー担当者が引用したドキュメント セクションへのリンクを備えているため、エージェントはやり取りすることなくルールを採用します。

Python

difflore を 30 秒以内にインストールします

それをリポジトリに指定すると、エージェントが一致するファイルを開いた瞬間に最初のレビューから派生したルールが表示されます。

npm install -g @difflore/cli