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.
Files changed (183) hide show
  1. package/.claude/rules/vibes-plug-core.md +32 -0
  2. package/.cursor/rules/vibes-plug-core.mdc +51 -0
  3. package/.cursorrules +42 -0
  4. package/AGENTS.md +96 -0
  5. package/BLUEPRINT.md +309 -125
  6. package/CHANGELOG.md +183 -1
  7. package/CLAUDE.md +70 -0
  8. package/LICENSE +1 -1
  9. package/README.md +641 -263
  10. package/index.js +19 -0
  11. package/package.json +61 -25
  12. package/plugin.json +24 -7
  13. package/scripts/generate_swarm_gif.py +295 -0
  14. package/scripts/install.js +201 -0
  15. package/skills/accessibility-testing-expert/SKILL.md +116 -0
  16. package/skills/ai-cost-token-optimizer/SKILL.md +82 -0
  17. package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
  18. package/skills/ai-llm-integration-expert/SKILL.md +147 -122
  19. package/skills/ai-media-generation-expert/SKILL.md +172 -0
  20. package/skills/ai-prompt-engineering-expert/SKILL.md +84 -0
  21. package/skills/angular-expert/SKILL.md +148 -0
  22. package/skills/api-design-expert/SKILL.md +316 -309
  23. package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
  24. package/skills/app-analyzer-optimizer/SKILL.md +195 -188
  25. package/skills/apple-ecosystem-expert/SKILL.md +145 -0
  26. package/skills/{asisten_ramah → asisten-ramah}/SKILL.md +7 -1
  27. package/skills/astro-framework-expert/SKILL.md +200 -0
  28. package/skills/async-queue-temporal-expert/SKILL.md +240 -0
  29. package/skills/authentication-identity-expert/SKILL.md +279 -45
  30. package/skills/auto-doc-updater/SKILL.md +219 -203
  31. package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
  32. package/skills/autonomous-red-teamer/SKILL.md +203 -0
  33. package/skills/autonomous-tdd-debugger/SKILL.md +71 -0
  34. package/skills/background-jobs-queue-expert/SKILL.md +235 -0
  35. package/skills/biome-linter-formatter-expert/SKILL.md +89 -0
  36. package/skills/blockchain-web3-expert/SKILL.md +115 -0
  37. package/skills/bootstrap-to-modern/SKILL.md +93 -86
  38. package/skills/brainstorming/SKILL.md +381 -353
  39. package/skills/browser-automation-expert/SKILL.md +222 -0
  40. package/skills/bun-runtime-expert/SKILL.md +7 -1
  41. package/skills/chatbot-messaging-expert/SKILL.md +114 -0
  42. package/skills/ci-cd-devops-architect/SKILL.md +81 -45
  43. package/skills/cloud-hosting-expert/SKILL.md +249 -243
  44. package/skills/coderabbit/SKILL.md +197 -191
  45. package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
  46. package/skills/cron-scheduler-expert/SKILL.md +304 -0
  47. package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
  48. package/skills/data-telemetry-expert/SKILL.md +218 -212
  49. package/skills/data-visualization-expert/SKILL.md +154 -0
  50. package/skills/database-migration-versioning-expert/SKILL.md +90 -0
  51. package/skills/database-orm-expert/SKILL.md +303 -293
  52. package/skills/dependency-upgrade-migrator/SKILL.md +301 -0
  53. package/skills/design-system-architect/SKILL.md +278 -242
  54. package/skills/desktop-electron-expert/SKILL.md +128 -0
  55. package/skills/documentation-site-expert/SKILL.md +59 -0
  56. package/skills/doku-mcp-server/SKILL.md +257 -0
  57. package/skills/doku-payment-gateway/SKILL.md +233 -0
  58. package/skills/domain-driven-design-expert/SKILL.md +82 -0
  59. package/skills/e2e-testing-expert/SKILL.md +320 -314
  60. package/skills/ecommerce-expert/SKILL.md +87 -0
  61. package/skills/edge-serverless-db-expert/SKILL.md +99 -0
  62. package/skills/email-notification-expert/SKILL.md +368 -0
  63. package/skills/error-resilience-expert/SKILL.md +486 -0
  64. package/skills/event-driven-architect/SKILL.md +86 -80
  65. package/skills/feature-flag-analytics-expert/SKILL.md +66 -0
  66. package/skills/file-upload-media-expert/SKILL.md +437 -0
  67. package/skills/firebase-security-expert/SKILL.md +7 -1
  68. package/skills/form-validation-expert/SKILL.md +407 -0
  69. package/skills/fullstack-expert/SKILL.md +260 -201
  70. package/skills/fullstack-expert/references/api_design_guide.md +466 -466
  71. package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
  72. package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
  73. package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
  74. package/skills/gemini-agent-booster/SKILL.md +142 -104
  75. package/skills/geospatial-maps-expert/SKILL.md +80 -0
  76. package/skills/global-a11y-i18n-expert/SKILL.md +86 -80
  77. package/skills/glsl-shader-expert/SKILL.md +107 -0
  78. package/skills/go-programming-expert/SKILL.md +300 -294
  79. package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
  80. package/skills/graphql-apollo-expert/SKILL.md +114 -0
  81. package/skills/headless-cms-expert/SKILL.md +181 -0
  82. package/skills/hig/SKILL.md +193 -187
  83. package/skills/js-backend-expert/SKILL.md +218 -191
  84. package/skills/legacy-code-translator/SKILL.md +71 -0
  85. package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
  86. package/skills/logging-error-tracking-expert/SKILL.md +344 -0
  87. package/skills/mcp-client-orchestrator/SKILL.md +76 -0
  88. package/skills/mcp-server-architect/SKILL.md +226 -126
  89. package/skills/micro-frontend-architect/SKILL.md +112 -0
  90. package/skills/mobile-expo-expert/SKILL.md +191 -185
  91. package/skills/mobile-push-notification-expert/SKILL.md +71 -0
  92. package/skills/modern-css-native-expert/SKILL.md +189 -0
  93. package/skills/monday-design-aesthetic/SKILL.md +72 -66
  94. package/skills/monorepo-architect/SKILL.md +232 -226
  95. package/skills/mpa-orchestrator/SKILL.md +120 -101
  96. package/skills/multi-agent-orchestration/SKILL.md +173 -153
  97. package/skills/multiple-entry-points/SKILL.md +91 -55
  98. package/skills/mvc-expert/SKILL.md +237 -231
  99. package/skills/n8n-automation-expert/SKILL.md +89 -0
  100. package/skills/nextjs-app-router-expert/SKILL.md +148 -0
  101. package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
  102. package/skills/payment-gateway-expert/SKILL.md +129 -45
  103. package/skills/pdf-document-generation-expert/SKILL.md +91 -0
  104. package/skills/performance-web-vitals/SKILL.md +337 -331
  105. package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
  106. package/skills/prd-architect/SKILL.md +206 -190
  107. package/skills/proactive-background-watcher/SKILL.md +68 -0
  108. package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
  109. package/skills/production-ready-hardener/SKILL.md +461 -468
  110. package/skills/production-ready-hardener/references/production_checklist.md +161 -161
  111. package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
  112. package/skills/project-context-mapper/SKILL.md +85 -0
  113. package/skills/pwa-offline-first-expert/SKILL.md +185 -0
  114. package/skills/python-programming-expert/SKILL.md +407 -270
  115. package/skills/rate-limit-abuse-prevention/SKILL.md +377 -0
  116. package/skills/realtime-collaboration-expert/SKILL.md +99 -45
  117. package/skills/rich-text-editor-expert/SKILL.md +177 -0
  118. package/skills/rust-programming-expert/SKILL.md +240 -234
  119. package/skills/saas-billing/SKILL.md +382 -376
  120. package/skills/saas-multi-tenant/SKILL.md +256 -236
  121. package/skills/saas-mvp-launcher/SKILL.md +30 -1
  122. package/skills/saas-transformer/SKILL.md +499 -445
  123. package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
  124. package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
  125. package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
  126. package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
  127. package/skills/scalability-clean-code/SKILL.md +234 -228
  128. package/skills/search-engine-expert/SKILL.md +89 -0
  129. package/skills/secure-fuzz-testing/SKILL.md +7 -1
  130. package/skills/self-evolving-memory-graph/SKILL.md +91 -0
  131. package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
  132. package/skills/senior-frontend/SKILL.md +85 -105
  133. package/skills/seo/SKILL.md +258 -224
  134. package/skills/session-context-loader/SKILL.md +83 -0
  135. package/skills/session-handoff-resume/SKILL.md +163 -157
  136. package/skills/{skill_baru → skill-baru}/SKILL.md +177 -146
  137. package/skills/solidjs-expert/SKILL.md +80 -0
  138. package/skills/spa-orchestrator/SKILL.md +306 -287
  139. package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
  140. package/skills/state-management-expert/SKILL.md +277 -271
  141. package/skills/supabase-migration/SKILL.md +47 -1
  142. package/skills/supabase-security-expert/SKILL.md +248 -242
  143. package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
  144. package/skills/svg-animation-motion-expert/SKILL.md +115 -0
  145. package/skills/tailwind-expert/SKILL.md +139 -187
  146. package/skills/tanstack-query-expert/SKILL.md +204 -198
  147. package/skills/tauri-expert/SKILL.md +7 -1
  148. package/skills/token-saver/SKILL.md +118 -110
  149. package/skills/typescript-expert/SKILL.md +329 -278
  150. package/skills/ui-components-expert/SKILL.md +166 -63
  151. package/skills/ui-ux-pro-max/SKILL.md +221 -200
  152. package/skills/vector-db-rag-expert/SKILL.md +208 -0
  153. package/skills/vibe-code-gardener/SKILL.md +180 -172
  154. package/skills/visual-qa-vision-agent/SKILL.md +71 -0
  155. package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
  156. package/skills/vue-frontend-expert/SKILL.md +132 -0
  157. package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
  158. package/skills/web-3d-graphics-expert/SKILL.md +137 -0
  159. package/skills/web-game-engine-expert/SKILL.md +102 -0
  160. package/skills/web-scraper/SKILL.md +98 -146
  161. package/skills/website-design-cloner/SKILL.md +180 -0
  162. package/skills/webxr-ar-vr-expert/SKILL.md +123 -0
  163. package/skills/wordpress-headless-expert/SKILL.md +144 -0
  164. package/skills/zero-to-prod-orchestrator/SKILL.md +231 -180
  165. package/skills/zero-trust-secret-vault/SKILL.md +88 -0
  166. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  167. package/CONTRIBUTING.md +0 -199
  168. package/SECURITY.md +0 -21
  169. package/banner.png +0 -0
  170. package/skills/senior-fullstack/SKILL.md +0 -167
  171. package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
  172. package/skills/senior-fullstack/references/development_workflows.md +0 -222
  173. package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
  174. package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  175. package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  176. package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
  177. package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
  178. package/skills/seo-geo/SKILL.md +0 -188
  179. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  180. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  181. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
  182. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  183. package/skills/ui_ux_expert/SKILL.md +0 -114
@@ -0,0 +1,177 @@
1
+ ---
2
+ name: rich-text-editor-expert
3
+ description: "Expert guide for rich text editor integration (Tiptap, Lexical, ProseMirror), collaborative editing, and custom extensions / Panduan ahli integrasi editor rich text (Tiptap, Lexical, ProseMirror), editing kolaboratif, dan ekstensi kustom."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Rich Text Editor Expert (2026 Edition)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Orchestration & Integration
17
+ - **`realtime-collaboration-expert`**: Yjs/Automerge CRDTs for collaborative editing.
18
+ - **`form-validation-expert`**: Form integration patterns for editor content.
19
+ - **`headless-cms-expert`**: CMS schema integration for rich text fields.
20
+ - **`file-upload-media-expert`**: Image/video embedding within editor content.
21
+ - **`senior-frontend`**: React component patterns for editor wrappers.
22
+
23
+ ### Description
24
+ Expert guide for integrating production-quality rich text editors into web applications. Covers Tiptap v2 (ProseMirror-based, extensible), Lexical (Meta's framework, high-performance), and ProseMirror (low-level, maximum control). Includes custom node/mark creation, collaborative editing with Yjs, slash commands, mention systems, image/video embedding, Portable Text output, and accessibility compliance.
25
+
26
+ ### Trigger Conditions
27
+ - Adding a WYSIWYG or rich text editor to an application.
28
+ - Building collaborative document editing features.
29
+ - Creating custom editor extensions (mentions, slash commands, embeds).
30
+ - Choosing between Tiptap, Lexical, or ProseMirror.
31
+ - Implementing content serialization (HTML, JSON, Markdown, Portable Text).
32
+
33
+ ---
34
+
35
+ ### Editor Selection Guide
36
+
37
+ | Criteria | Tiptap v2 | Lexical (Meta) | ProseMirror |
38
+ |----------|-----------|----------------|-------------|
39
+ | Abstraction Level | High | Medium | Low |
40
+ | Framework | React, Vue, vanilla | React (primary) | Vanilla JS |
41
+ | Extension Ecosystem | ★★★★★ (50+ extensions) | ★★★ (growing) | ★★★★ (community) |
42
+ | Collaboration | Yjs built-in | Yjs plugin | Yjs via prosemirror-collab |
43
+ | Performance | ★★★★ | ★★★★★ | ★★★★ |
44
+ | Learning Curve | Low-Medium | Medium-High | High |
45
+ | **Best For** | Most apps, CMS | High-scale, messaging | Custom editors |
46
+
47
+ **Recommendation:** Use **Tiptap v2** for 90% of use cases. Use **Lexical** for high-performance messaging apps. Use **ProseMirror** only when you need full low-level control.
48
+
49
+ ### Core Patterns
50
+
51
+ #### 1. Tiptap v2 Setup (React)
52
+
53
+ ```tsx
54
+ import { useEditor, EditorContent } from '@tiptap/react';
55
+ import StarterKit from '@tiptap/starter-kit';
56
+ import Placeholder from '@tiptap/extension-placeholder';
57
+ import Image from '@tiptap/extension-image';
58
+ import Link from '@tiptap/extension-link';
59
+ import Collaboration from '@tiptap/extension-collaboration';
60
+ import * as Y from 'yjs';
61
+
62
+ const ydoc = new Y.Doc();
63
+
64
+ function RichEditor({ onUpdate }: { onUpdate: (json: object) => void }) {
65
+ const editor = useEditor({
66
+ extensions: [
67
+ StarterKit.configure({ history: false }), // Disable history for collab
68
+ Placeholder.configure({ placeholder: 'Start writing...' }),
69
+ Image.configure({ inline: true, allowBase64: false }),
70
+ Link.configure({ openOnClick: false, autolink: true }),
71
+ Collaboration.configure({ document: ydoc }),
72
+ ],
73
+ onUpdate: ({ editor }) => onUpdate(editor.getJSON()),
74
+ });
75
+
76
+ return (
77
+ <div className="editor-wrapper">
78
+ <MenuBar editor={editor} />
79
+ <EditorContent editor={editor} className="prose max-w-none" />
80
+ </div>
81
+ );
82
+ }
83
+ ```
84
+
85
+ #### 2. Custom Slash Command Extension (Tiptap)
86
+
87
+ ```typescript
88
+ import { Extension } from '@tiptap/core';
89
+ import Suggestion from '@tiptap/suggestion';
90
+
91
+ export const SlashCommands = Extension.create({
92
+ name: 'slashCommands',
93
+ addOptions() {
94
+ return {
95
+ suggestion: {
96
+ char: '/',
97
+ items: ({ query }) => [
98
+ { title: 'Heading 1', command: ({ editor }) => editor.chain().focus().toggleHeading({ level: 1 }).run() },
99
+ { title: 'Bullet List', command: ({ editor }) => editor.chain().focus().toggleBulletList().run() },
100
+ { title: 'Code Block', command: ({ editor }) => editor.chain().focus().toggleCodeBlock().run() },
101
+ { title: 'Image', command: ({ editor }) => { /* open upload dialog */ } },
102
+ ].filter((item) => item.title.toLowerCase().includes(query.toLowerCase())),
103
+ },
104
+ };
105
+ },
106
+ addProseMirrorPlugins() {
107
+ return [Suggestion({ editor: this.editor, ...this.options.suggestion })];
108
+ },
109
+ });
110
+ ```
111
+
112
+ #### 3. Lexical Setup (React)
113
+
114
+ ```tsx
115
+ import { LexicalComposer } from '@lexical/react/LexicalComposer';
116
+ import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';
117
+ import { ContentEditable } from '@lexical/react/LexicalContentEditable';
118
+ import { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin';
119
+ import { AutoFocusPlugin } from '@lexical/react/LexicalAutoFocusPlugin';
120
+ import { HeadingNode, QuoteNode } from '@lexical/rich-text';
121
+ import { ListNode, ListItemNode } from '@lexical/list';
122
+ import { CodeNode } from '@lexical/code';
123
+
124
+ const editorConfig = {
125
+ namespace: 'MyEditor',
126
+ nodes: [HeadingNode, QuoteNode, ListNode, ListItemNode, CodeNode],
127
+ onError: (error: Error) => console.error(error),
128
+ theme: { /* custom theme classes */ },
129
+ };
130
+
131
+ function LexicalEditor() {
132
+ return (
133
+ <LexicalComposer initialConfig={editorConfig}>
134
+ <RichTextPlugin
135
+ contentEditable={<ContentEditable className="prose" />}
136
+ placeholder={<div className="text-gray-400">Start writing...</div>}
137
+ ErrorBoundary={LexicalErrorBoundary}
138
+ />
139
+ <HistoryPlugin />
140
+ <AutoFocusPlugin />
141
+ </LexicalComposer>
142
+ );
143
+ }
144
+ ```
145
+
146
+ #### 4. Content Serialization Patterns
147
+ - **JSON** (Tiptap/Lexical): Store editor state as JSON for exact restoration.
148
+ - **HTML**: Use `editor.getHTML()` for rendering in non-editor contexts.
149
+ - **Markdown**: Convert with `@tiptap/extension-markdown` for developer-facing content.
150
+ - **Portable Text** (Sanity): Map Tiptap nodes to Portable Text blocks for CMS storage.
151
+
152
+ ### Production Checklist
153
+ - [ ] Content sanitization (DOMPurify) before rendering user HTML.
154
+ - [ ] Image upload with presigned URLs (not base64 in content).
155
+ - [ ] Keyboard shortcuts documented and accessible.
156
+ - [ ] Mobile-responsive toolbar (sticky or floating).
157
+ - [ ] Autosave with debounce (500ms) and conflict resolution.
158
+ - [ ] Max content length validation.
159
+
160
+ ---
161
+
162
+ <a name="bahasa-indonesia"></a>
163
+ ## Bahasa Indonesia
164
+
165
+ ### Integrasi Orkestrasi
166
+ - **`realtime-collaboration-expert`**: CRDT Yjs/Automerge untuk editing kolaboratif.
167
+ - **`form-validation-expert`**: Pola integrasi form untuk konten editor.
168
+ - **`headless-cms-expert`**: Integrasi skema CMS untuk field rich text.
169
+
170
+ ### Deskripsi
171
+ Panduan ahli untuk mengintegrasikan editor rich text berkualitas produksi ke dalam aplikasi web. Mencakup Tiptap v2, Lexical (Meta), dan ProseMirror. Termasuk pembuatan node/mark kustom, editing kolaboratif dengan Yjs, slash commands, sistem mention, embedding gambar/video, dan output Portable Text.
172
+
173
+ ### Kondisi Pemicu
174
+ - Menambahkan editor WYSIWYG atau rich text ke aplikasi.
175
+ - Membangun fitur editing dokumen kolaboratif.
176
+ - Membuat ekstensi editor kustom (mention, slash commands, embed).
177
+ - Memilih antara Tiptap, Lexical, atau ProseMirror.