-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.pr-review.yml.example
More file actions
98 lines (81 loc) · 2.51 KB
/
.pr-review.yml.example
File metadata and controls
98 lines (81 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# PR Review Bot Configuration Example
# Copy this file to .pr-review.yml and customize as needed
# Maximum number of inline comments to post per PR
# Default: 50
max_inline_comments: 50
# Minimum severity level to report
# Options: info, warning, error
# Default: info
severity_threshold: info
# File patterns to skip during review
# Uses glob patterns
# Default: ["docs/**", "*.md"]
skip_paths:
- "docs/**"
- "*.md"
- "*.txt"
- "vendor/**"
- "node_modules/**"
- "venv/**"
- ".git/**"
- "build/**"
- "dist/**"
- "coverage/**"
- "*.min.js"
- "*.min.css"
# Language-specific linter configurations
# Format: language: "command"
# The command will be run with the file path appended
linters:
python: "flake8 --max-line-length=100 --ignore=E203,W503"
javascript: "eslint --no-fix --format json"
typescript: "eslint --no-fix --format json"
go: "golangci-lint run --out-format json"
java: "javac -Xlint:all -Werror"
ruby: "rubocop --format json"
rust: "cargo clippy -- -D warnings"
shell: "shellcheck -f json"
# LLM provider configuration for AI-powered analysis
# Optional - remove this section to disable LLM analysis
llm_provider:
# Provider name: "openai", "anthropic", or "self-hosted"
name: "openai"
# Model to use
# OpenAI: "gpt-4", "gpt-4-turbo", "gpt-3.5-turbo", "gpt-4o-mini"
# Anthropic: "claude-3-opus", "claude-3-sonnet", "claude-3-haiku"
model: "gpt-4o-mini"
# Environment variable containing the API key
api_key_env: "OPENAI_API_KEY"
# For self-hosted LLMs (optional)
# endpoint: "https://your-llm-api.com/v1/chat/completions"
# api_key_env: "LLM_API_KEY"
# Additional parameters (optional)
# temperature: 0.3
# max_tokens: 4096
# Patterns that indicate a line should be ignored
# Add comments containing these patterns to suppress warnings
ignore_patterns:
- "pr-review-ignore"
- "noqa" # Common Python ignore pattern
- "eslint-disable-line" # ESLint ignore
- "rubocop:disable" # Rubocop ignore
# Advanced configuration (rarely needed)
# Token budget for LLM analysis (per file)
# Default: 4000
# llm_max_tokens_per_file: 4000
# Number of lines of context around changes for LLM
# Default: 10
# llm_context_lines: 10
# Fingerprint cache expiration (days)
# Default: 7
# fingerprint_cache_days: 7
# Maximum file size to analyze (bytes)
# Default: 1048576 (1MB)
# max_file_size: 1048576
# Parallel linter execution
# Default: true
# parallel_linters: true
# Comment format style
# Options: "minimal", "detailed"
# Default: "detailed"
# comment_style: "detailed"