-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
75 lines (75 loc) · 3.68 KB
/
Copy path.coderabbit.yaml
File metadata and controls
75 lines (75 loc) · 3.68 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
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "en-US"
early_access: false
reviews:
profile: "assertive"
request_changes_workflow: false
high_level_summary: true
high_level_summary_placeholder: "@coderabbitai summary"
auto_title_placeholder: "@coderabbitai"
review_status: true
commit_status: true
collapse_walkthrough: false
changed_files_summary: true
sequence_diagrams: true
assess_linked_issues: true
related_issues: true
related_prs: true
suggested_labels: true
auto_apply_labels: false
suggested_reviewers: false
poem: false
abort_on_close: true
auto_review:
enabled: true
auto_incremental_review: true
drafts: false
finishing_touches:
docstrings:
enabled: true
tools:
rubocop:
enabled: true
markdownlint:
enabled: true
gitleaks:
enabled: true
github-checks:
enabled: true
timeout_ms: 90000
yamllint:
enabled: true
languagetool:
enabled: true
level: default
actionlint:
enabled: true
semgrep:
enabled: true
path_instructions:
- path: "**/*.rb"
instructions: "Apply Ruby best practices. Flag: missing frozen_string_literal: true magic comment; unhandled HTTParty response error paths; Law of Demeter violations. This gem must stay free of vendor-specific knowledge (API tokens, endpoint paths, resource classes) -- flag any such addition as out of scope."
- path: "lib/ruby_api_pack_core/connection/base.rb"
instructions: "This is the shared template-method connection class every ruby_api_pack_* gem subclasses. Verify it stays vendor-agnostic (no hardcoded auth scheme beyond the #auth_headers abstract hook), JSON parsing failures are handled distinctly from non-2xx responses, and no request or response body is logged directly. Flag any public method name change as breaking -- every consuming gem depends on api_get/api_post/api_put/api_delete."
- path: "lib/ruby_api_pack_core/handlers/response_validator.rb"
instructions: "Verify validate_response's expected_type contract (:any/:array/:hash) stays stable, since every ruby_api_pack_* gem's resource classes call it directly. Flag any signature change as breaking."
- path: "lib/ruby_api_pack_core/configurable.rb"
instructions: "Verify the configure/configuration singleton pattern stays consistent with how RubyApiPackActiveCampaign, RubyApiPackCloudways, and RubyApiPackWordpress already use it. Flag any signature change as breaking."
- path: "spec/**"
instructions: "Enforce RSpec best practices: descriptive describe/context/it blocks, let over instance variables, and expectations that verify behavior rather than internal state. All specs must exercise a dummy subclass or dummy module -- never a real vendor API. Flag any fixture containing realistic-looking API tokens or credentials."
- path: "Gemfile"
instructions: "Flag overly permissive version constraints (>= x with no upper bound). Ensure test and development gems are in the correct group. Verify no gems with known CVEs are being introduced."
- path: "*.gemspec"
instructions: "Verify required_ruby_version is set, runtime dependencies are actually used in lib/ (no orphaned dependencies), summary and description are informative, and version follows semver."
- path: "CHANGELOG.md"
instructions: "Verify entries follow Keep a Changelog format with correct categorization (Added/Changed/Fixed/Removed) and link to a version tag. Breaking changes must note the required follow-up in the three consuming gems."
chat:
auto_reply: true
knowledge_base:
opt_out: false
learnings:
scope: auto
issues:
scope: auto
pull_requests:
scope: auto