forked from asheshgoplani/agent-deck
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
157 lines (144 loc) · 5.65 KB
/
Copy path.coderabbit.yaml
File metadata and controls
157 lines (144 loc) · 5.65 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
146
147
148
149
150
151
152
153
154
155
156
157
# CodeRabbit config — agent-deck (public OSS Go repo)
# Docs: https://docs.coderabbit.ai/reference/configuration
language: en
reviews:
profile: chill # less nitpicky, ship-friendly
request_changes_workflow: false # never block merge with "Request Changes"
high_level_summary: true
poem: false # save tokens; the bunny is cute but eats budget
review_status: true
collapse_walkthrough: true
# Surface the PR scope + scoring up-front
changed_files_summary: true # file-by-file change summary
sequence_diagrams: true # Mermaid diagrams for complex flows (great for refactors)
estimated_code_review_effort: true # review-time estimate badge
assess_linked_issues: true # check PR ↔ issue alignment
related_issues: true # surface related open issues
related_prs: true # surface related open/recent PRs
suggested_labels: true # auto-label proposal
suggested_reviewers: true # nominate reviewers from CODEOWNERS
# Auto-suggest follow-ups: missing docstrings, missing unit tests
finishing_touches:
docstrings:
enabled: true
unit_tests:
enabled: true
# SCORES + quality gates (the "score" you saw on CodeRabbit)
# Each runs the AI quality assessor; thresholds 0-100 block merge if not met.
# Start lenient; tighten over time as we build confidence.
pre_merge_checks:
docstrings:
mode: warning # warn, don't block
threshold: 70
title:
mode: warning
requirements: "Conventional Commits format (feat:, fix:, chore:, etc.)"
description:
mode: warning
requirements: "PR description must explain why + reference issue (Closes #N)"
issue_assessment:
mode: warning # PR must address what linked issue actually asks
threshold: 70
custom_checks:
- name: "remote_parity"
mode: warning
instructions: |
If this PR changes TUI behavior in internal/ui/ or cmd/agent-deck/,
verify it also handles RemoteSession (or has an explicit t.Skip
documenting why). See ~/.agent-deck/skills/pool/agent-deck-tdd-feature/SKILL.md.
- name: "test_coverage_per_surface"
mode: warning
instructions: |
Any new feature must have tests for every applicable surface
(TUI / Web / CLI / remote). Stubs in Web UI are not acceptable for new features.
auto_review:
enabled: true
drafts: false # don't review draft PRs (RFCs etc.)
base_branches:
- main
ignore_title_keywords:
- "[skip ci]"
- "[no-review]"
- "WIP"
# Don't review pure dependency bumps or pure-docs churn (CI tools already cover):
path_filters:
- "!.github/dependabot.yml"
- "!**/*.md"
- "!CHANGELOG.md"
- "!**/testdata/**"
- "!documentation/**" # design docs don't need code review
# Bots that open PRs should NOT trigger reviews or consume seats:
ignore_users:
- dependabot[bot]
- github-actions[bot]
- renovate[bot]
# Path-specific instructions — extra scrutiny on hot paths
path_instructions:
- path: "internal/session/**"
instructions: |
This is the core session lifecycle. Pay extra attention to:
- signal handling (SIGINT, SIGTERM teardown)
- SQLite write atomicity
- RemoteSession vs LocalSession parity
- race conditions (this code runs with -race in CI)
- path: "internal/web/**"
instructions: |
Web backend. Verify:
- new endpoints update tests/web/PARITY_MATRIX.md
- mutator parity with TUI (any state change in TUI must work in Web too)
- handlers have a corresponding _test.go
- path: "internal/tmux/**"
instructions: |
tmux integration. Verify:
- tmux command construction uses slice args (not shell strings)
- controlling-tty assumptions documented (see #1114 for the failure mode)
- path: "cmd/agent-deck/**"
instructions: |
CLI surface. Verify:
- flags follow existing pattern (--listen, --no-tui, etc.)
- --help output reflects the new behavior
- path: ".github/workflows/**"
instructions: |
CI workflows. Verify:
- third-party actions pinned by SHA or major-version tag
- timeouts on every test/build step (we hit a 3hr hang earlier)
- permissions block follows least-privilege
tools:
# Go-specific linters already run in CI; CodeRabbit can summarize their output
golangci-lint:
enabled: true
gosec:
enabled: true
yamllint:
enabled: true
shellcheck:
enabled: true
actionlint: # GitHub Actions linting
enabled: true
hadolint: # if we ever add Dockerfiles
enabled: true
biome: # for the tests/web TypeScript
enabled: true
markdownlint:
enabled: false # noisy on docs-heavy repos
chat:
auto_reply: true # respond to @coderabbitai mentions
integrations:
jira:
usage: auto # if we ever wire jira
linear:
usage: auto
# Code generation suggestions (used when @coderabbitai is asked to write code)
code_generation:
docstrings:
language: en-US
unit_tests:
language: en-US
knowledge_base:
opt_out: false # share learnings (OSS is public anyway)
learnings:
scope: auto # learn this repo's patterns over time
issues:
scope: local # link related issues for context
pull_requests:
scope: local # link related PRs for context