Problem
CLAUDE.md 에 "Build Artifact Exclusion (dist/, lock files, *.min.js filtered by default)" 기재. 하지만 generated code 의 다른 패턴들 (pb/proto, .snap, coverage/, .next/, out/, .turbo/, storybook-static/) 미대응. Lock 파일도 pnpm-lock.yaml / yarn.lock / Cargo.lock / go.sum / poetry.lock 등 다양.
Why this matters
Generated file 에 대한 review 는 cost 만 낭비 + FP 양산 (LLM 이 "이 줄은 수동 작성 아닌 것 같다" 고 짚을 수도).
Proposed approach
Pattern expansion
기본 제외 리스트 확장:
- Lock:
*-lock.*, *.lock, poetry.lock, Cargo.lock, go.sum, composer.lock, Pipfile.lock, uv.lock
- Generated:
*.min.*, *.bundle.*, *.pb.{go,ts,py}, *.proto.{go,ts}, *.gen.*, *_generated.*
- Build output:
dist/, build/, out/, .next/, .turbo/, .svelte-kit/, .nuxt/, coverage/, storybook-static/, .docusaurus/
- Binary:
*.{png,jpg,jpeg,gif,webp,ico,svg,woff,woff2,ttf,eot,mp4,mov,pdf,zip,tar,gz}
- Snapshot:
*.snap, __snapshots__/
User override
.reviewignore 파일 (gitignore 유사 syntax)
- config:
reviewContext.ignorePatterns: string[]
Silent vs verbose
- 제외된 파일은 metadata 에 기록 (
excluded: [{ path, reason }])
- Verbose mode 에서 제외 리스트 출력
Acceptance criteria
References
packages/shared/src/utils/diff.ts (diff file 추출 지점)
.gitignore 와의 일관성 유지
Problem
CLAUDE.md 에 "Build Artifact Exclusion (dist/, lock files, *.min.js filtered by default)" 기재. 하지만 generated code 의 다른 패턴들 (pb/proto, .snap, coverage/, .next/, out/, .turbo/, storybook-static/) 미대응. Lock 파일도 pnpm-lock.yaml / yarn.lock / Cargo.lock / go.sum / poetry.lock 등 다양.
Why this matters
Generated file 에 대한 review 는 cost 만 낭비 + FP 양산 (LLM 이 "이 줄은 수동 작성 아닌 것 같다" 고 짚을 수도).
Proposed approach
Pattern expansion
기본 제외 리스트 확장:
*-lock.*,*.lock,poetry.lock,Cargo.lock,go.sum,composer.lock,Pipfile.lock,uv.lock*.min.*,*.bundle.*,*.pb.{go,ts,py},*.proto.{go,ts},*.gen.*,*_generated.*dist/,build/,out/,.next/,.turbo/,.svelte-kit/,.nuxt/,coverage/,storybook-static/,.docusaurus/*.{png,jpg,jpeg,gif,webp,ico,svg,woff,woff2,ttf,eot,mp4,mov,pdf,zip,tar,gz}*.snap,__snapshots__/User override
.reviewignore파일 (gitignore 유사 syntax)reviewContext.ignorePatterns: string[]Silent vs verbose
excluded: [{ path, reason }])Acceptance criteria
.reviewignore지원ignorePatternsoverrideReferences
packages/shared/src/utils/diff.ts(diff file 추출 지점).gitignore와의 일관성 유지