본문으로 건너뛰기

쇼케이스 · 6가지 규칙

실제 규칙 difflore은 인기 있는 OSS 리뷰를 통해 배웠습니다.

아래의 각 카드는 실제 PR 스레드에서 추출한 리뷰 노트입니다. AI 에이전트가 저장소에서 일치하는 파일을 편집하면 difflore은 규칙을 해당 컨텍스트에 전달하므로 동일한 주석을 두 번 작성할 필요가 없습니다.

언어GoRustTypeScriptPython
출처CorrectnessAsync runtimePlugin APIRoutingSecretsTesting
GoCorrectness

바인드 핸들러는 응답하기 전에 반환된 오류를 확인해야 합니다.

← 배운 것 gin-gonic/gin

레포
gin-gonic/gin
개 수락된 수정
4

gin의 검토자는 오류를 검사하지 않고 ctx.ShouldBindJSON을 호출하는 핸들러에 계속 플래그를 지정합니다. 잘못된 형식의 입력에 대해 자동으로 200이 표시됩니다. 에이전트가 요청 본문에 닿는 새 핸들러를 작성할 때마다 규칙이 실행되므로 PR이 열리기 전에 버그가 포착됩니다.

Go
RustAsync runtime

비동기 fns 내에서 block_on이 아닌 tokio::spawn을 사용하여 수명이 긴 작업 생성

← 배운 것 tokio-rs/tokio

레포
tokio-rs/tokio
개 수락된 수정
3

tokio에서 반복되는 검토 참고 사항: 비동기 컨텍스트 내부에서 block_on을 호출하면 로드 중인 런타임이 교착 상태에 빠집니다. DiffLore은 세 개의 개별 PR 스레드에서 패턴을 학습했으며 이제 원래 검토에 다시 연결된 한 줄 근거를 사용하여 에이전트를 generate 또는spawn_blocking으로 유도합니다.

Rust
TypeScriptPlugin API

Vite 플러그인은 가져오기를 다시 작성할 때 Enforce: pre를 선언해야 합니다.

← 배운 것 vitejs/vite

레포
vitejs/vite
개 수락된 수정
5

플러그인 작성자는 정기적으로 esbuild의 기본 순서와 경쟁하는 변환을 제공하여 콜드 스타트 시에만 가져오기 누락 오류를 생성합니다. 이 규칙은 수년간의 문제 분류에서 얻은 관리자 지침을 인코딩하므로 새 플러그인을 작성하는 에이전트는 첫 번째 커밋에서 올바른 순서를 얻습니다.

TypeScript
TypeScriptRouting

경로 로더는 클래스 인스턴스가 아닌 직렬화 가능한 데이터를 반환해야 합니다.

← 배운 것 tanstack/router

레포
tanstack/router
개 수락된 수정
6

TanStack Router는 SSR 경계를 넘어 로더 출력을 직렬화하므로 날짜, 지도 또는 클래스 인스턴스를 반환하면 미묘한 방식으로 재수화를 중단합니다. 검토자는 몇 주마다 동일한 수정을 요청합니다. 정규 문제 스레드를 왕복하고 가리키는 규칙 단축키입니다.

TypeScript
TypeScriptSecrets

header()에 닿는 서버 작업은 동적으로 표시되어야 합니다.

← 배운 것 vercel/next.js

레포
vercel/next.js
개 수락된 수정
7

앱 라우터의 놀라운 캐싱은 거의 전적으로 정적 렌더링을 선택 해제하지 않고 쿠키나 헤더를 읽는 작업에서 발생합니다. Next.js 리뷰 코퍼스는 이 정확한 수정 사항으로 가득 차 있습니다. difflore은 에이전트가 서버 작업 파일을 편집하는 순간 이를 발생시킵니다.

TypeScript
PythonTesting

종속성 주입 세션은 전역이 아닌 종속성에 속합니다.

← 배운 것 fastapi/fastapi

레포
fastapi/fastapi
개 수락된 수정
3

FastAPI 유지 관리자는 기여자를 모듈 수준 데이터베이스 세션에서 종속 범위 팩터리로 지속적으로 유도하여 테스트가 격리된 상태를 유지하도록 합니다. 규칙은 해당 지침을 포착하고 검토자가 인용한 문서 섹션에 대한 링크를 제공하므로 상담원은 앞뒤로 이동할 필요 없이 규칙을 채택합니다.

Python

30초 안에 difflore 설치

저장소를 가리키면 에이전트가 일치하는 파일을 여는 순간 첫 번째 검토 파생 규칙이 표시됩니다.

npm install -g @difflore/cli