pubnub
Version:
Publish & Subscribe Real-time Messaging with PubNub
107 lines (96 loc) • 3.81 kB
YAML
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: en-US
reviews:
# Enable high-level summary of changes
high_level_summary: false
# Add a poem... just kidding, disable it
poem: false
# Collapse walkthrough to keep PR comments clean
collapse_walkthrough: true
# Auto-review on every push
auto_review:
enabled: true
drafts: true
# Sparse-checkout / review scope: include .github explicitly; exclude generated and vendor paths
path_filters:
- ".github/**"
- "!dist/**"
- "!lib/**"
- "!upload/**"
- "!node_modules/**"
- "!package-lock.json"
- "!.pubnub.yml"
- "!.vscode/**"
# Path-based review instructions
path_instructions:
- path: "src/core/**"
instructions: |
This is the core SDK module. Pay close attention to:
- Backward compatibility of public API changes
- Proper TypeScript typing (strict mode is enabled)
- No platform-specific code (Node.js, Web, React Native specifics belong in their respective platform directories)
- Thread safety considerations for shared state
- path: "src/core/endpoints/**"
instructions: |
These are REST API endpoint implementations. Review for:
- Correct request/response type definitions
- Proper error handling and status code mapping
- Consistent parameter validation
- Adherence to PubNub REST API contracts
- path: "src/core/types/**"
instructions: |
TypeScript type definitions. Ensure:
- Types are precise and not overly permissive (avoid `any`)
- Exported types maintain backward compatibility
- Proper use of generics and utility types
- path: "src/event-engine/**"
instructions: |
State-machine-based subscription management. Review for:
- Correct state transitions and edge cases
- No leaked subscriptions or event listeners
- Proper cleanup on state exit
- path: "src/entities/**"
instructions: |
High-level subscription API (Channel, ChannelGroup, etc.). Review for:
- Proper event handler lifecycle management
- Memory leak prevention (listener cleanup)
- path: "src/transport/**"
instructions: |
Platform-specific HTTP transport implementations. Review for:
- Proper timeout and cancellation handling
- Correct header management
- Error propagation consistency across platforms
- path: "src/node/**"
instructions: "Node.js platform implementation. Ensure no browser/DOM APIs are used."
- path: "src/web/**"
instructions: "Browser platform implementation. Ensure no Node.js-specific APIs (fs, crypto, etc.) are used."
- path: "src/react_native/**"
instructions: "React Native platform implementation. Verify compatibility with RN runtime."
- path: "test/**"
instructions: |
Test files. Review for:
- Adequate coverage of edge cases
- Proper use of mocks/stubs (Sinon + Nock)
- No flaky patterns (hardcoded timeouts, race conditions)
- Tests that actually assert meaningful behavior
- path: ".github/**"
instructions: |
GitHub Actions workflows and repo automation. Review for:
- Valid workflow YAML (triggers, concurrency, job dependencies)
- Safe use of secrets and minimal required permissions
- Reasonable timeouts and matrix coverage; actionlint/YAMLlint findings should be addressed
# Tools configuration
tools:
# Enable GitHub checks integration
github-checks:
enabled: true
timeout_ms: 120000
yamllint:
enabled: true
actionlint:
enabled: true
chat:
auto_reply: true
knowledge_base:
mcp:
usage: enabled