Repository navigation
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
128 lines (119 loc) · 5.23 KB
/
Copy path.coderabbit.yaml
File metadata and controls
128 lines (119 loc) · 5.23 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
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: en-US
tone_instructions: 'Be terse and direct. No praise, no filler, no restating the diff. Comment only on substantive findings and give concrete fixes. Use precise technical language.'
reviews:
profile: chill
request_changes_workflow: false
high_level_summary: true
poem: false
collapse_walkthrough: true
auto_review:
enabled: true
drafts: false
ignore_title_keywords:
- 'WIP'
# We need an explicit list as our default branch is not `main`
base_branches:
- dev
labels:
- '!skip-coderabbit'
pre_merge_checks:
docstrings:
mode: 'off'
description:
mode: 'off'
title:
mode: 'warning'
requirements: 'Conventional commit format "type(scope): subject", e.g. "fix(QBtn): handle loading state". Types: feat, fix, docs, refactor, perf, test, chore. Scope is the affected package, component or area.'
custom_checks:
- name: 'Undocumented breaking change'
mode: 'warning'
instructions: 'Breaking changes to public APIs (component props/events/slots/methods, CLI commands and flags, configuration keys) must carry the "breaking-change" label and be explicitly called out in the PR description.'
path_filters:
# Generated icon sets, ~39MB
- '!extras/exports/**'
- '!pnpm-lock.yaml'
- '!**/dist/**'
- '!**/node_modules/**'
# Static doc assets
- '!docs/public/**'
path_instructions:
- path: 'ui/src/**'
instructions: |
Vue 3 component library built with render functions.
- Flag SSR-unsafe code: bare `window`/`document` access outside client-only guards.
- Flag breaking changes to the public component API (props, events, slots, exposed methods).
- Check accessibility (ARIA attributes, keyboard navigation) and RTL support.
- Flag reactive overhead a platform never uses: computed props, watchers
or listeners created unconditionally but only consumed on desktop or
only on mobile. Their creation should be gated on the platform check.
- path: 'ui/src/{components,directives,plugins}/**'
instructions: |
Components, directives and plugins have sibling JSON API files
(e.g. QBtn.json) that drive the docs and TypeScript types. Flag changes
to props, events, slots or exposed methods that do not update the
corresponding .json API file.
- path: 'ui/src/composables/**'
instructions: |
Composables must clean up listeners, timers and observers on unmount
and stay SSR-safe (no window/document access during server-side setup).
- path: 'ui/lang/**'
instructions: |
Language packs must have exactly the key structure of ui/lang/en-US.js.
Flag missing or extra keys.
- path: 'ui/icon-set/**'
instructions: |
Icon sets must mirror the structure of the existing sets
(e.g. material-icons.js). Flag missing or extra icon definitions.
- path: 'ui/**/*.sass'
instructions: |
Check RTL support for direction-sensitive rules. CSS custom properties
must use the --q-* prefix.
- path: '{app-vite,cli,icongenie}/**'
instructions: |
Node.js CLI tooling.
- Flag path handling that breaks on Windows.
- Watch for ESM/CJS interop issues.
- path: 'app-vite/types/**'
instructions: |
Type declarations must match the runtime implementation in app-vite/lib.
Flag declarations that drift from the corresponding lib code.
- path: 'create-quasar/**'
instructions: |
Project scaffolding kit. Template files contain intentional placeholder
syntax; do not flag it as an error.
- path: 'docs/src/pages/**'
instructions: |
Documentation content. Check technical accuracy and flag references to
deprecated Quasar APIs.
- path: 'docs/src/examples/**'
instructions: |
Runnable documentation examples. Must use current Quasar APIs; flag
deprecated patterns.
- path: '**/*.test.js'
instructions: |
Vitest tests. Check for descriptive test names and coverage of edge
cases and error paths.
- path: '.github/workflows/**'
instructions: |
GitHub Actions workflows.
- Third-party actions must be pinned to a commit SHA.
- Jobs should declare least-privilege permissions.
- Flag pull_request_target usage that checks out or runs PR code.
labeling_instructions:
- label: 'area/ui'
instructions: 'Changes under the ui, extras or vite-plugin packages.'
- label: 'area/cli'
instructions: 'Changes under the app-vite or cli packages.'
- label: 'area/icongenie'
instructions: 'Changes under the icongenie package.'
- label: 'area/mcp'
instructions: 'Changes under the mcp package.'
- label: 'area/create-quasar'
instructions: 'Changes under the create-quasar package.'
- label: 'area/devops'
instructions: 'Changes to GitHub Actions workflows or CI configuration.'
- label: 'breaking-change'
instructions: 'PR introduces a breaking change to a public API: component props/events/slots/methods, CLI commands or flags, or configuration keys.'
chat:
auto_reply: true