forked from flexera-public/wstunnel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
145 lines (117 loc) · 3.9 KB
/
.coderabbit.yaml
File metadata and controls
145 lines (117 loc) · 3.9 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# CodeRabbit Configuration for WStunnel
# This configuration aligns with the project's code quality standards and conventions
# Core settings
language: "en-US"
early_access: false
# Tools configuration
reviews:
# Enable relevant tools for Go project
tools:
golangci-lint:
enabled: true
# Enable other relevant tools
languagetool:
enabled: true
shellcheck:
enabled: true
markdownlint:
enabled: true
# AST-based custom rules
ast-grep:
essential_rules: true
# Additional tools specific to this project
github-actions:
enabled: true
osv-scanner:
enabled: true
codeql:
enabled: true
hadolint:
enabled: true
yamllint:
enabled: true
gitleaks:
enabled: true
# Review profile - use chill for balanced reviews
profile: "chill"
# Path filters - exclude certain paths from review
path_filters:
- "!vendor/**"
- "!build/**"
- "!node_modules/**"
- "!**/*.pb.go"
- "!**/generated/**"
- "!coverage.txt"
- "!CLAUDE.md"
- "!.cursor-*"
- "!.aider*"
- "!.continue/**"
# File path instructions for Go-specific guidance
path_instructions:
- path: "**/*.go"
instructions: |
- Ensure code follows gofmt formatting standards
- Check that imports are properly organized (standard library first, third-party after)
- Verify error handling follows the pattern: check immediately, return or log with context
- Ensure logging uses log15 with structured key-value pairs
- Verify naming conventions: PascalCase for exported, camelCase for unexported
- Check for unhandled errors
- Verify proper use of contexts
- path: "tunnel/**/*.go"
instructions: |
- Check WebSocket handling follows established patterns in tunnel/ws.go
- Verify concurrent request handling uses goroutine-per-request pattern
- Check for security issues: no logging of passwords/tokens, proper certificate validation
- Ensure no unused blank identifiers (like `var _ fmt.Formatter`)
- Verify token authentication is properly implemented
- Check for timing attacks in authentication
- Ensure errors don't leak sensitive information
- path: "**/*_test.go"
instructions: |
- Confirm tests follow standard Go testing patterns
- Verify test coverage for edge cases and error conditions
- Prefer table-driven tests
- Test both success and error paths
- Mock external dependencies appropriately
- path: "go.mod"
instructions: |
- Ensure go.mod uses correct format (e.g., `go 1.24` not `go 1.24.0`)
- path: "whois/**"
instructions: |
- This is WHOIS lookup functionality
- Verify proper error handling for network operations
- Check for proper context usage in API calls
# Auto review configuration
auto_review:
drafts: true
ignore_title_keywords:
- "WIP"
- "DO NOT MERGE"
- "DRAFT"
# Review behavior configuration
review_status:
# Auto-resolve outdated comments when code is updated
auto_resolve_conversations: true
# Don't block merges on outdated review comments
block_merge_on_unresolved_conversations: false
# Only block merges for current/active issues
dismiss_stale_reviews: true
# Handle force pushes and amended commits gracefully
handle_force_push: true
# Automatically mark conversations as resolved when the problematic code is removed/fixed
# This is especially useful for amended commits
resolve_on_fix: true
# Don't re-review unchanged files after force push
skip_unchanged_files: true
# Auto-approve configuration
auto_approve:
# Dependency updates from Renovate
- author: "renovate[bot]"
files:
- "go.mod"
- "go.sum"
# Documentation-only changes
- files:
- "**/*.md"
- "docs/**"
require_review_from_owner: false