vibes-plug 1.0.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/vibes-plug-core.md +32 -0
- package/.cursor/rules/vibes-plug-core.mdc +51 -0
- package/.cursorrules +42 -0
- package/AGENTS.md +96 -0
- package/BLUEPRINT.md +309 -125
- package/CHANGELOG.md +183 -1
- package/CLAUDE.md +70 -0
- package/LICENSE +1 -1
- package/README.md +641 -263
- package/index.js +19 -0
- package/package.json +61 -25
- package/plugin.json +24 -7
- package/scripts/generate_swarm_gif.py +295 -0
- package/scripts/install.js +201 -0
- package/skills/accessibility-testing-expert/SKILL.md +116 -0
- package/skills/ai-cost-token-optimizer/SKILL.md +82 -0
- package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
- package/skills/ai-llm-integration-expert/SKILL.md +147 -122
- package/skills/ai-media-generation-expert/SKILL.md +172 -0
- package/skills/ai-prompt-engineering-expert/SKILL.md +84 -0
- package/skills/angular-expert/SKILL.md +148 -0
- package/skills/api-design-expert/SKILL.md +316 -309
- package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
- package/skills/app-analyzer-optimizer/SKILL.md +195 -188
- package/skills/apple-ecosystem-expert/SKILL.md +145 -0
- package/skills/{asisten_ramah → asisten-ramah}/SKILL.md +7 -1
- package/skills/astro-framework-expert/SKILL.md +200 -0
- package/skills/async-queue-temporal-expert/SKILL.md +240 -0
- package/skills/authentication-identity-expert/SKILL.md +279 -45
- package/skills/auto-doc-updater/SKILL.md +219 -203
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
- package/skills/autonomous-red-teamer/SKILL.md +203 -0
- package/skills/autonomous-tdd-debugger/SKILL.md +71 -0
- package/skills/background-jobs-queue-expert/SKILL.md +235 -0
- package/skills/biome-linter-formatter-expert/SKILL.md +89 -0
- package/skills/blockchain-web3-expert/SKILL.md +115 -0
- package/skills/bootstrap-to-modern/SKILL.md +93 -86
- package/skills/brainstorming/SKILL.md +381 -353
- package/skills/browser-automation-expert/SKILL.md +222 -0
- package/skills/bun-runtime-expert/SKILL.md +7 -1
- package/skills/chatbot-messaging-expert/SKILL.md +114 -0
- package/skills/ci-cd-devops-architect/SKILL.md +81 -45
- package/skills/cloud-hosting-expert/SKILL.md +249 -243
- package/skills/coderabbit/SKILL.md +197 -191
- package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
- package/skills/cron-scheduler-expert/SKILL.md +304 -0
- package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
- package/skills/data-telemetry-expert/SKILL.md +218 -212
- package/skills/data-visualization-expert/SKILL.md +154 -0
- package/skills/database-migration-versioning-expert/SKILL.md +90 -0
- package/skills/database-orm-expert/SKILL.md +303 -293
- package/skills/dependency-upgrade-migrator/SKILL.md +301 -0
- package/skills/design-system-architect/SKILL.md +278 -242
- package/skills/desktop-electron-expert/SKILL.md +128 -0
- package/skills/documentation-site-expert/SKILL.md +59 -0
- package/skills/doku-mcp-server/SKILL.md +257 -0
- package/skills/doku-payment-gateway/SKILL.md +233 -0
- package/skills/domain-driven-design-expert/SKILL.md +82 -0
- package/skills/e2e-testing-expert/SKILL.md +320 -314
- package/skills/ecommerce-expert/SKILL.md +87 -0
- package/skills/edge-serverless-db-expert/SKILL.md +99 -0
- package/skills/email-notification-expert/SKILL.md +368 -0
- package/skills/error-resilience-expert/SKILL.md +486 -0
- package/skills/event-driven-architect/SKILL.md +86 -80
- package/skills/feature-flag-analytics-expert/SKILL.md +66 -0
- package/skills/file-upload-media-expert/SKILL.md +437 -0
- package/skills/firebase-security-expert/SKILL.md +7 -1
- package/skills/form-validation-expert/SKILL.md +407 -0
- package/skills/fullstack-expert/SKILL.md +260 -201
- package/skills/fullstack-expert/references/api_design_guide.md +466 -466
- package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
- package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
- package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
- package/skills/gemini-agent-booster/SKILL.md +142 -104
- package/skills/geospatial-maps-expert/SKILL.md +80 -0
- package/skills/global-a11y-i18n-expert/SKILL.md +86 -80
- package/skills/glsl-shader-expert/SKILL.md +107 -0
- package/skills/go-programming-expert/SKILL.md +300 -294
- package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
- package/skills/graphql-apollo-expert/SKILL.md +114 -0
- package/skills/headless-cms-expert/SKILL.md +181 -0
- package/skills/hig/SKILL.md +193 -187
- package/skills/js-backend-expert/SKILL.md +218 -191
- package/skills/legacy-code-translator/SKILL.md +71 -0
- package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
- package/skills/logging-error-tracking-expert/SKILL.md +344 -0
- package/skills/mcp-client-orchestrator/SKILL.md +76 -0
- package/skills/mcp-server-architect/SKILL.md +226 -126
- package/skills/micro-frontend-architect/SKILL.md +112 -0
- package/skills/mobile-expo-expert/SKILL.md +191 -185
- package/skills/mobile-push-notification-expert/SKILL.md +71 -0
- package/skills/modern-css-native-expert/SKILL.md +189 -0
- package/skills/monday-design-aesthetic/SKILL.md +72 -66
- package/skills/monorepo-architect/SKILL.md +232 -226
- package/skills/mpa-orchestrator/SKILL.md +120 -101
- package/skills/multi-agent-orchestration/SKILL.md +173 -153
- package/skills/multiple-entry-points/SKILL.md +91 -55
- package/skills/mvc-expert/SKILL.md +237 -231
- package/skills/n8n-automation-expert/SKILL.md +89 -0
- package/skills/nextjs-app-router-expert/SKILL.md +148 -0
- package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
- package/skills/payment-gateway-expert/SKILL.md +129 -45
- package/skills/pdf-document-generation-expert/SKILL.md +91 -0
- package/skills/performance-web-vitals/SKILL.md +337 -331
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
- package/skills/prd-architect/SKILL.md +206 -190
- package/skills/proactive-background-watcher/SKILL.md +68 -0
- package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
- package/skills/production-ready-hardener/SKILL.md +461 -468
- package/skills/production-ready-hardener/references/production_checklist.md +161 -161
- package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
- package/skills/project-context-mapper/SKILL.md +85 -0
- package/skills/pwa-offline-first-expert/SKILL.md +185 -0
- package/skills/python-programming-expert/SKILL.md +407 -270
- package/skills/rate-limit-abuse-prevention/SKILL.md +377 -0
- package/skills/realtime-collaboration-expert/SKILL.md +99 -45
- package/skills/rich-text-editor-expert/SKILL.md +177 -0
- package/skills/rust-programming-expert/SKILL.md +240 -234
- package/skills/saas-billing/SKILL.md +382 -376
- package/skills/saas-multi-tenant/SKILL.md +256 -236
- package/skills/saas-mvp-launcher/SKILL.md +30 -1
- package/skills/saas-transformer/SKILL.md +499 -445
- package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
- package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
- package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
- package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
- package/skills/scalability-clean-code/SKILL.md +234 -228
- package/skills/search-engine-expert/SKILL.md +89 -0
- package/skills/secure-fuzz-testing/SKILL.md +7 -1
- package/skills/self-evolving-memory-graph/SKILL.md +91 -0
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
- package/skills/senior-frontend/SKILL.md +85 -105
- package/skills/seo/SKILL.md +258 -224
- package/skills/session-context-loader/SKILL.md +83 -0
- package/skills/session-handoff-resume/SKILL.md +163 -157
- package/skills/{skill_baru → skill-baru}/SKILL.md +177 -146
- package/skills/solidjs-expert/SKILL.md +80 -0
- package/skills/spa-orchestrator/SKILL.md +306 -287
- package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
- package/skills/state-management-expert/SKILL.md +277 -271
- package/skills/supabase-migration/SKILL.md +47 -1
- package/skills/supabase-security-expert/SKILL.md +248 -242
- package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
- package/skills/svg-animation-motion-expert/SKILL.md +115 -0
- package/skills/tailwind-expert/SKILL.md +139 -187
- package/skills/tanstack-query-expert/SKILL.md +204 -198
- package/skills/tauri-expert/SKILL.md +7 -1
- package/skills/token-saver/SKILL.md +118 -110
- package/skills/typescript-expert/SKILL.md +329 -278
- package/skills/ui-components-expert/SKILL.md +166 -63
- package/skills/ui-ux-pro-max/SKILL.md +221 -200
- package/skills/vector-db-rag-expert/SKILL.md +208 -0
- package/skills/vibe-code-gardener/SKILL.md +180 -172
- package/skills/visual-qa-vision-agent/SKILL.md +71 -0
- package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
- package/skills/vue-frontend-expert/SKILL.md +132 -0
- package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
- package/skills/web-3d-graphics-expert/SKILL.md +137 -0
- package/skills/web-game-engine-expert/SKILL.md +102 -0
- package/skills/web-scraper/SKILL.md +98 -146
- package/skills/website-design-cloner/SKILL.md +180 -0
- package/skills/webxr-ar-vr-expert/SKILL.md +123 -0
- package/skills/wordpress-headless-expert/SKILL.md +144 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +231 -180
- package/skills/zero-trust-secret-vault/SKILL.md +88 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/CONTRIBUTING.md +0 -199
- package/SECURITY.md +0 -21
- package/banner.png +0 -0
- package/skills/senior-fullstack/SKILL.md +0 -167
- package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
- package/skills/senior-fullstack/references/development_workflows.md +0 -222
- package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
- package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
- package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
- package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
- package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
- package/skills/seo-geo/SKILL.md +0 -188
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
- package/skills/ui_ux_expert/SKILL.md +0 -114
|
@@ -1,192 +1,198 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: coderabbit
|
|
3
|
-
description: "AI-powered automated code review, PR summarization, and interactive developer feedback / Review kode otomatis berbasis AI, ringkasan PR, dan umpan balik developer interaktif."
|
|
1
|
+
---
|
|
2
|
+
name: coderabbit
|
|
3
|
+
description: "AI-powered automated code review, PR summarization, and interactive developer feedback / Review kode otomatis berbasis AI, ringkasan PR, dan umpan balik developer interaktif."
|
|
4
4
|
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# CodeRabbit (2026 Edition — CodeRabbit 2.x)
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
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
|
-
- Check for
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
- Check for
|
|
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
|
-
@coderabbitai
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
@coderabbitai
|
|
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
|
-
###
|
|
158
|
-
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
###
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# CodeRabbit (2026 Edition — CodeRabbit 2.x)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Orchestration & Integration
|
|
17
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
|
|
18
|
+
|
|
19
|
+
### Description
|
|
20
|
+
Expert guide for configuring and leveraging **CodeRabbit 2.x** — AI-powered automated code review, pull request summarization, and interactive developer feedback. Covers configuration, custom review rules, integration with CI/CD, and agentic review mode.
|
|
21
|
+
|
|
22
|
+
### Trigger Conditions
|
|
23
|
+
- Setting up CodeRabbit on a GitHub or GitLab repository.
|
|
24
|
+
- Configuring custom review rules for your tech stack.
|
|
25
|
+
- Using CodeRabbit's agentic mode for deep architectural reviews.
|
|
26
|
+
- Integrating CodeRabbit feedback into CI/CD quality gates.
|
|
27
|
+
- Writing CodeRabbit-compatible custom instructions in `.coderabbit.yaml`.
|
|
28
|
+
|
|
29
|
+
### CodeRabbit 2.x Key Features
|
|
30
|
+
|
|
31
|
+
| Feature | Description |
|
|
32
|
+
|---|---|
|
|
33
|
+
| **PR Summary** | Auto-generates structured PR description with walkthrough |
|
|
34
|
+
| **Line-by-line Review** | Inline comments with specific fix suggestions |
|
|
35
|
+
| **Agentic Review** | Deep analysis spanning multiple files for architectural issues |
|
|
36
|
+
| **Learnable Rules** | Learns from review dismissals and approvals over time |
|
|
37
|
+
| **CI Integration** | Blocks PR merge if critical issues found |
|
|
38
|
+
| **Chat Mode** | Ask CodeRabbit questions about the PR in review thread |
|
|
39
|
+
|
|
40
|
+
### Configuration (`.coderabbit.yaml`)
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
# .coderabbit.yaml — place in repository root
|
|
44
|
+
version: "2"
|
|
45
|
+
language: "en-US"
|
|
46
|
+
tone_instructions: "Be concise and direct. Prioritize security and performance issues."
|
|
47
|
+
|
|
48
|
+
reviews:
|
|
49
|
+
auto_review:
|
|
50
|
+
enabled: true
|
|
51
|
+
drafts: false # Don't review draft PRs
|
|
52
|
+
base_branches: ["main", "develop"]
|
|
53
|
+
|
|
54
|
+
profile: "chill" # assertive | chill | default
|
|
55
|
+
request_changes_workflow: false
|
|
56
|
+
high_level_summary: true
|
|
57
|
+
commit_message_instructions: "Use Conventional Commits format: feat/fix/chore/docs"
|
|
58
|
+
|
|
59
|
+
# Ignore paths from review
|
|
60
|
+
path_filters:
|
|
61
|
+
- "!**/*.lock"
|
|
62
|
+
- "!**/migrations/**"
|
|
63
|
+
- "!**/generated/**"
|
|
64
|
+
- "!**/__snapshots__/**"
|
|
65
|
+
|
|
66
|
+
# Stack-specific review instructions
|
|
67
|
+
path_instructions:
|
|
68
|
+
- path: "apps/api/**"
|
|
69
|
+
instructions: |
|
|
70
|
+
- Check for missing input validation (Zod schemas required on all handlers)
|
|
71
|
+
- Flag any database queries without proper RLS consideration
|
|
72
|
+
- Ensure all async functions have try/catch or error boundaries
|
|
73
|
+
- Check for N+1 query patterns (missing .include() or DataLoader usage)
|
|
74
|
+
- path: "apps/web/**"
|
|
75
|
+
instructions: |
|
|
76
|
+
- Check for missing `key` props in .map() renders
|
|
77
|
+
- Flag `useEffect` without proper cleanup functions
|
|
78
|
+
- Check for missing `alt` attributes on images
|
|
79
|
+
- Verify Server Actions are properly validated with Zod
|
|
80
|
+
- path: "apps/admin/**"
|
|
81
|
+
instructions: |
|
|
82
|
+
- All admin routes must verify isSuperAdmin === true
|
|
83
|
+
- Flag any direct DB access without service role client
|
|
84
|
+
- Check for proper audit logging on destructive operations
|
|
85
|
+
|
|
86
|
+
# Custom review rules for the entire codebase
|
|
87
|
+
instructions: |
|
|
88
|
+
Review with these priorities:
|
|
89
|
+
1. SECURITY: SQL injection, XSS, auth bypass, exposed secrets
|
|
90
|
+
2. CORRECTNESS: Logic bugs, off-by-one errors, type unsafety
|
|
91
|
+
3. PERFORMANCE: N+1 queries, unnecessary re-renders, bundle size
|
|
92
|
+
4. MAINTAINABILITY: Code duplication, naming, SOLID violations
|
|
93
|
+
5. STYLE: Only comment if it's a significant clarity issue
|
|
94
|
+
|
|
95
|
+
# PR summary format
|
|
96
|
+
summary:
|
|
97
|
+
auto_title_placeholder: "🤖 AI Title"
|
|
98
|
+
description: |-
|
|
99
|
+
## Summary
|
|
100
|
+
<!-- Concise description of what changed -->
|
|
101
|
+
|
|
102
|
+
## Changes
|
|
103
|
+
<!-- Structured list by area -->
|
|
104
|
+
|
|
105
|
+
## Testing
|
|
106
|
+
<!-- What was tested -->
|
|
107
|
+
|
|
108
|
+
# Enable chat for interactive Q&A
|
|
109
|
+
chat:
|
|
110
|
+
auto_reply: true
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Agentic Review Mode (CodeRabbit 2.x)
|
|
114
|
+
CodeRabbit 2.x introduces **agentic review** — deep analysis that can read multiple files, run tools, and understand architectural context:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
# Trigger agentic review in PR comment:
|
|
118
|
+
@coderabbitai review
|
|
119
|
+
|
|
120
|
+
# Ask specific questions:
|
|
121
|
+
@coderabbitai What is the security impact of changes in apps/api/src/routes/users.ts?
|
|
122
|
+
@coderabbitai Can you generate a test for the createWorkspace function?
|
|
123
|
+
@coderabbitai Is there a N+1 query issue in this PR?
|
|
124
|
+
@coderabbitai Summarize the architecture changes in this PR
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### CI/CD Integration (GitHub Actions)
|
|
128
|
+
```yaml
|
|
129
|
+
# .github/workflows/pr-quality.yml
|
|
130
|
+
name: PR Quality Gate
|
|
131
|
+
|
|
132
|
+
on: [pull_request]
|
|
133
|
+
|
|
134
|
+
jobs:
|
|
135
|
+
coderabbit-review:
|
|
136
|
+
runs-on: ubuntu-latest
|
|
137
|
+
steps:
|
|
138
|
+
- name: Wait for CodeRabbit Review
|
|
139
|
+
uses: coderabbit-ai/wait-for-review@v1
|
|
140
|
+
with:
|
|
141
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
142
|
+
min-approvals: 1
|
|
143
|
+
block-on-critical: true # Block merge if critical issues found
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### CodeRabbit vs Manual Review — Best Practices
|
|
147
|
+
- **CodeRabbit first**: Let it run before human reviewers — catches the obvious issues.
|
|
148
|
+
- **Human focus**: After CodeRabbit, humans focus on business logic, architecture intent, and product decisions.
|
|
149
|
+
- **Teach it**: Dismiss false positives with an explanation — CodeRabbit learns your patterns.
|
|
150
|
+
- **Custom instructions**: Invest time in `path_instructions` for your specific stack — dramatically improves relevance.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
<a name="bahasa-indonesia"></a>
|
|
155
|
+
## Bahasa Indonesia
|
|
156
|
+
|
|
157
|
+
### Integrasi Orkestrasi
|
|
158
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
|
|
159
|
+
|
|
160
|
+
### Deskripsi
|
|
161
|
+
Panduan ahli untuk mengonfigurasi dan memanfaatkan **CodeRabbit 2.x** — review kode otomatis bertenaga AI, ringkasan pull request, dan umpan balik developer interaktif. Mencakup konfigurasi, aturan review kustom, integrasi dengan CI/CD, dan mode review agentik.
|
|
162
|
+
|
|
163
|
+
### Kondisi Pemicu
|
|
164
|
+
- Menyiapkan CodeRabbit di repositori GitHub atau GitLab.
|
|
165
|
+
- Mengonfigurasi aturan review kustom untuk tech stack Anda.
|
|
166
|
+
- Menggunakan mode agentik CodeRabbit untuk review arsitektur mendalam.
|
|
167
|
+
- Mengintegrasikan umpan balik CodeRabbit ke dalam quality gate CI/CD.
|
|
168
|
+
- Menulis instruksi kustom yang kompatibel dengan CodeRabbit di `.coderabbit.yaml`.
|
|
169
|
+
|
|
170
|
+
### Fitur Utama CodeRabbit 2.x
|
|
171
|
+
|
|
172
|
+
| Fitur | Deskripsi |
|
|
173
|
+
|---|---|
|
|
174
|
+
| **Ringkasan PR** | Membuat deskripsi PR terstruktur otomatis dengan walkthrough |
|
|
175
|
+
| **Review Baris per Baris** | Komentar inline dengan saran perbaikan spesifik |
|
|
176
|
+
| **Review Agentik** | Analisis mendalam yang mencakup banyak file untuk masalah arsitektur |
|
|
177
|
+
| **Aturan yang Dapat Dipelajari** | Belajar dari penolakan dan persetujuan review dari waktu ke waktu |
|
|
178
|
+
| **Integrasi CI** | Memblokir merge PR jika masalah kritis ditemukan |
|
|
179
|
+
| **Mode Chat** | Tanyakan pertanyaan kepada CodeRabbit di thread review |
|
|
180
|
+
|
|
181
|
+
### Konfigurasi (`.coderabbit.yaml`)
|
|
182
|
+
Tempatkan `.coderabbit.yaml` di root repositori. Konfigurasi kunci:
|
|
183
|
+
- `reviews.profile`: `assertive` (ketat), `chill` (santai), `default`.
|
|
184
|
+
- `reviews.path_instructions`: Instruksi review kustom per direktori — sangat berguna untuk menerapkan standar spesifik stack.
|
|
185
|
+
- `reviews.path_filters`: Kecualikan file lock, migrasi, kode yang dihasilkan dari review.
|
|
186
|
+
- `reviews.instructions`: Aturan global untuk seluruh codebase dengan prioritas eksplisit.
|
|
187
|
+
|
|
188
|
+
### Mode Review Agentik (CodeRabbit 2.x)
|
|
189
|
+
Mode agentik memungkinkan CodeRabbit membaca banyak file, menjalankan tool, dan memahami konteks arsitektur. Picu dengan `@coderabbitai review` di komentar PR atau ajukan pertanyaan spesifik tentang dampak keamanan, masalah N+1, atau perubahan arsitektur.
|
|
190
|
+
|
|
191
|
+
### Integrasi CI/CD (GitHub Actions)
|
|
192
|
+
Gunakan action `coderabbit-ai/wait-for-review@v1` untuk menunggu review selesai dan memblokir merge jika masalah kritis ditemukan.
|
|
193
|
+
|
|
194
|
+
### CodeRabbit vs Review Manual — Best Practices
|
|
195
|
+
- **CodeRabbit dulu**: Biarkan berjalan sebelum reviewer manusia — menangkap masalah yang jelas.
|
|
196
|
+
- **Fokus manusia**: Setelah CodeRabbit, manusia fokus pada logika bisnis, niat arsitektur, dan keputusan produk.
|
|
197
|
+
- **Ajarkan**: Tolak false positive dengan penjelasan — CodeRabbit belajar pola Anda.
|
|
198
|
+
- **Instruksi kustom**: Investasikan waktu di `path_instructions` untuk stack spesifik Anda — meningkatkan relevansi secara dramatis.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: compliance-gdpr-privacy-expert
|
|
3
|
+
description: "Expert guide for Data Privacy, GDPR, CCPA, and PDPA compliance. Covers consent management, data retention, privacy-by-design, and audit trails / Panduan kepatuhan Privasi Data, GDPR, dan PDPA."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Data Privacy & Compliance Expert
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
A crucial guide for engineering teams building SaaS applications that handle PII (Personally Identifiable Information). Covers technical implementation patterns for privacy regulations like GDPR (Europe), CCPA (California), and PDPA/UU PDP (Indonesia), including data mapping, consent management, Right to be Forgotten (data erasure), and secure audit trails.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- When architecting user database schemas that store PII (names, emails, phone numbers, IP addresses).
|
|
21
|
+
- When implementing cookie consent banners and tracking scripts.
|
|
22
|
+
- When the user asks about "GDPR compliance", "data retention", or "account deletion".
|
|
23
|
+
- When building admin dashboards that require secure audit logging.
|
|
24
|
+
|
|
25
|
+
### Core Architectural Guidelines
|
|
26
|
+
|
|
27
|
+
#### 1. Privacy by Design (Data Minimization)
|
|
28
|
+
Do not collect data you do not explicitly need.
|
|
29
|
+
- **Hashing/Encryption**: Hash sensitive data (like passwords) and encrypt PII at rest (AES-256) and in transit (TLS 1.3).
|
|
30
|
+
- **IP Addresses**: IP addresses are considered PII under GDPR. Anonymize IP logs (e.g., masking the last octet `192.168.1.0`) if used for analytics.
|
|
31
|
+
|
|
32
|
+
#### 2. The Right to be Forgotten (Soft vs Hard Deletion)
|
|
33
|
+
Users must be able to delete their accounts easily.
|
|
34
|
+
- **Soft Deletion**: Flagging a user as `deleted_at = NOW()` is useful for immediate UI removal, but it is **not compliant** with GDPR erasure requests if the data stays indefinitely.
|
|
35
|
+
- **Hard Deletion / Scrubbing**: You must implement a background worker that permanently deletes or fully anonymizes soft-deleted records after a grace period (e.g., 30 days).
|
|
36
|
+
|
|
37
|
+
#### 3. Consent Management
|
|
38
|
+
- **Cookies**: Do not load analytical or marketing scripts (Google Analytics, Meta Pixel) until the user has explicitly clicked "Accept".
|
|
39
|
+
- **Database**: Store the timestamp and version of the Terms of Service/Privacy Policy the user agreed to during registration.
|
|
40
|
+
|
|
41
|
+
#### 4. Audit Trails
|
|
42
|
+
For financial or health data, maintain an append-only audit log of *who* accessed *what* PII and *when*.
|
|
43
|
+
- Never log actual PII in plain text application logs (e.g., avoid `console.log(user)`).
|
|
44
|
+
|
|
45
|
+
## Orchestration & Integration
|
|
46
|
+
- Enhances `database-orm-expert` with schema guidelines for soft-deletion and PII encryption.
|
|
47
|
+
- Works with `logging-error-tracking-expert` to ensure logs are sanitized of PII.
|
|
48
|
+
- Complements `authentication-identity-expert` for secure user lifecycle management.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
<a name="bahasa-indonesia"></a>
|
|
53
|
+
## Bahasa Indonesia
|
|
54
|
+
|
|
55
|
+
### Deskripsi
|
|
56
|
+
Panduan krusial bagi tim engineering yang membangun aplikasi SaaS yang menangani PII (Data Pribadi). Mencakup pola implementasi teknis untuk regulasi privasi seperti GDPR (Eropa) dan UU PDP (Pelindungan Data Pribadi Indonesia). Meliputi manajemen persetujuan (consent), hak untuk dilupakan (penghapusan data), dan rekam jejak audit (audit trails).
|
|
57
|
+
|
|
58
|
+
### Kondisi Pemicu
|
|
59
|
+
- Saat merancang skema database yang menyimpan data pribadi (nama, email, nomor telepon).
|
|
60
|
+
- Saat mengimplementasikan banner persetujuan cookie (cookie consent).
|
|
61
|
+
- Saat merancang fitur penghapusan akun pengguna.
|
|
62
|
+
- Saat melakukan logging data sensitif.
|
|
63
|
+
|
|
64
|
+
### Panduan Arsitektur Inti
|
|
65
|
+
|
|
66
|
+
#### 1. Privasi sejak Desain (Privacy by Design)
|
|
67
|
+
Kumpulkan hanya data yang benar-benar dibutuhkan.
|
|
68
|
+
- **Enkripsi**: Enkripsi PII saat diam (at rest) dan bergerak (in transit).
|
|
69
|
+
- **Alamat IP**: IP adalah data pribadi. Anomimkan log IP jika hanya digunakan untuk analitik umum.
|
|
70
|
+
|
|
71
|
+
#### 2. Hak untuk Dihapus (Right to be Forgotten)
|
|
72
|
+
Pengguna harus memiliki tombol yang mudah diakses untuk menghapus akun mereka.
|
|
73
|
+
- **Soft Delete vs Hard Delete**: Mengubah status menjadi `deleted_at` tidak cukup untuk kepatuhan hukum jika data dibiarkan selamanya. Anda harus membuat *cron job* yang secara permanen menghapus atau menganonimkan data (mengubah nama menjadi "Deleted User") setelah masa tenggang (misal: 30 hari).
|
|
74
|
+
|
|
75
|
+
#### 3. Manajemen Persetujuan (Consent)
|
|
76
|
+
- Jangan memuat skrip pelacakan pihak ketiga (seperti Facebook Pixel atau Google Analytics) sebelum pengguna memberikan izin eksplisit (Opt-In).
|
|
77
|
+
- Simpan rekaman kapan pengguna menyetujui Kebijakan Privasi Anda di database.
|
|
78
|
+
|
|
79
|
+
#### 4. Pembersihan Log (Log Sanitization)
|
|
80
|
+
Pastikan sistem logging aplikasi Anda (Pino, Winston) secara otomatis menyensor (redact) informasi sensitif seperti password, token kartu kredit, dan nomor telepon sebelum mengirimkannya ke sistem agregasi log seperti Datadog atau Sentry.
|
|
81
|
+
|
|
82
|
+
## Integrasi Orkestrasi
|
|
83
|
+
- Memperkuat `database-orm-expert` terkait skema enkripsi dan penghapusan data.
|
|
84
|
+
- Bekerja sama dengan `logging-error-tracking-expert` untuk pedoman sanitasi log.
|
|
85
|
+
- Melengkapi `authentication-identity-expert` dalam manajemen siklus hidup pengguna.
|