inheritance: true reviews: request_changes_workflow: true high_level_summary_instructions: Short and simple, keep it cohesive, no complex wording, assume everyone including the PR reviewer is new to the project or to code in general - simple english so even non-english native speakers understand everything just fine. high_level_summary_in_walkthrough: true in_progress_fortune: false slop_detection: label: slop suggested_labels: true auto_apply_labels: true labeling_instructions: - label: 'complexity: easy' instructions: Apply this label if the PR makes a clearly scoped change in one isolated component or package. - label: 'complexity: expert' instructions: Apply this label if the PR changes fundamental architecture, core APIs, or collaboration behavior. - label: 'complexity: hard' instructions: Apply this label if the PR changes Y.js document synchronization, awareness protocol, or WebSocket provider internals. - label: 'complexity: medium' instructions: Apply this label if the PR changes multiple components or the Y.js/Hocuspocus integration with a clear implementation path. - label: 'complexity: trivial' instructions: Apply this label if the PR is an obvious change under 10 lines, such as a documentation typo or missing type check. - label: good first issue instructions: Apply this label if the PR is a small, self-contained change that is easy for a first-time contributor to understand. - label: 'impact: critical' instructions: Apply this label if the PR fixes data loss, a security vulnerability, broken core functionality, or a problem affecting nearly all users of a feature. - label: 'impact: high' instructions: Apply this label if the PR fixes behavior affecting a large portion of users or a common workflow. - label: 'impact: low' instructions: Apply this label if the PR fixes an obscure edge case, a specific browser condition, or a rarely used feature. - label: 'impact: medium' instructions: Apply this label if the PR fixes a common feature usage or a workflow shared by a group of users. auto_review: ignore_usernames: - github-actions[bot] issue_enrichment: auto_enrich: enabled: true labeling: auto_apply_labels: true labeling_instructions: - label: 'complexity: easy' instructions: 'clearly described, affects one isolated component, fix localized to a single package' - label: 'complexity: expert' instructions: 'fundamental architecture conflict, core API changes affecting all extensions, or concurrent/collaboration behavior' - label: 'complexity: hard' instructions: 'requires deep understanding of Y.js document sync, awareness protocol, or WebSocket provider internals; no obvious solution' - label: 'complexity: medium' instructions: 'touches multiple components or requires understanding Y.js/Hocuspocus interaction, but solution path is clear' - label: 'complexity: trivial' instructions: 'typo in docs, missing type check, obvious fix in <10 lines' - label: good first issue instructions: Apply this label if the issue is a good ticket to pick up as a first-time contributor or beginner at Hocuspocus or Y.js. Good candidates are well-scoped bugs with clear reproduction steps, documentation improvements, or small feature requests with a clear implementation path. - label: 'impact: critical' instructions: 'data loss, security vulnerability, completely broken core functionality, or affects nearly everyone using a specific feature' - label: 'impact: high' instructions: 'affects a large portion of users, blocks a common use case, or causes noticeable UX problem many will run into' - label: 'impact: low' instructions: 'obscure edge case, specific browser under specific conditions, or feature request very few would use' - label: 'impact: medium' instructions: 'affects a common usage of a feature (e.g. specific extension combination) or handful of users with similar workflows'