vibes-plug 1.0.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/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- package/BLUEPRINT.md +125 -0
- package/CHANGELOG.md +195 -0
- package/CONTRIBUTING.md +199 -0
- package/LICENSE +21 -0
- package/README.md +263 -0
- package/SECURITY.md +21 -0
- package/banner.png +0 -0
- package/package.json +25 -0
- package/plugin.json +8 -0
- package/scripts/update_skills.js +75 -0
- package/skills/ai-llm-integration-expert/SKILL.md +162 -0
- package/skills/api-design-expert/SKILL.md +310 -0
- package/skills/app-analyzer-optimizer/SKILL.md +189 -0
- package/skills/asisten_ramah/SKILL.md +41 -0
- package/skills/authentication-identity-expert/SKILL.md +45 -0
- package/skills/auto-doc-updater/SKILL.md +204 -0
- package/skills/bootstrap-to-modern/SKILL.md +87 -0
- package/skills/brainstorming/SKILL.md +353 -0
- package/skills/bun-runtime-expert/SKILL.md +211 -0
- package/skills/ci-cd-devops-architect/SKILL.md +45 -0
- package/skills/cloud-hosting-expert/SKILL.md +244 -0
- package/skills/coderabbit/SKILL.md +192 -0
- package/skills/data-telemetry-expert/SKILL.md +213 -0
- package/skills/database-orm-expert/SKILL.md +294 -0
- package/skills/design-system-architect/SKILL.md +243 -0
- package/skills/e2e-testing-expert/SKILL.md +315 -0
- package/skills/event-driven-architect/SKILL.md +81 -0
- package/skills/firebase-security-expert/SKILL.md +195 -0
- package/skills/fullstack-expert/SKILL.md +202 -0
- package/skills/fullstack-expert/references/api_design_guide.md +466 -0
- package/skills/fullstack-expert/references/devops_infrastructure.md +477 -0
- package/skills/fullstack-expert/references/multi_language_backend.md +528 -0
- package/skills/fullstack-expert/references/system_design_patterns.md +358 -0
- package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -0
- package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -0
- package/skills/gemini-agent-booster/SKILL.md +135 -0
- package/skills/global-a11y-i18n-expert/SKILL.md +81 -0
- package/skills/go-programming-expert/SKILL.md +295 -0
- package/skills/hig/SKILL.md +188 -0
- package/skills/js-backend-expert/SKILL.md +192 -0
- package/skills/mcp-server-architect/SKILL.md +194 -0
- package/skills/mobile-expo-expert/SKILL.md +186 -0
- package/skills/monday-design-aesthetic/SKILL.md +67 -0
- package/skills/monorepo-architect/SKILL.md +227 -0
- package/skills/mpa-orchestrator/SKILL.md +101 -0
- package/skills/multi-agent-orchestration/SKILL.md +234 -0
- package/skills/multiple-entry-points/SKILL.md +55 -0
- package/skills/mvc-expert/SKILL.md +231 -0
- package/skills/payment-gateway-expert/SKILL.md +45 -0
- package/skills/performance-web-vitals/SKILL.md +332 -0
- package/skills/prd-architect/SKILL.md +191 -0
- package/skills/production-ready-hardener/SKILL.md +469 -0
- package/skills/production-ready-hardener/references/performance_optimization.md +441 -0
- package/skills/production-ready-hardener/references/production_checklist.md +161 -0
- package/skills/production-ready-hardener/references/security_hardening_guide.md +379 -0
- package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +875 -0
- package/skills/python-programming-expert/SKILL.md +271 -0
- package/skills/realtime-collaboration-expert/SKILL.md +45 -0
- package/skills/rust-programming-expert/SKILL.md +235 -0
- package/skills/saas-billing/SKILL.md +377 -0
- package/skills/saas-multi-tenant/SKILL.md +237 -0
- package/skills/saas-mvp-launcher/SKILL.md +231 -0
- package/skills/saas-transformer/SKILL.md +446 -0
- package/skills/saas-transformer/references/billing_integration_guide.md +401 -0
- package/skills/saas-transformer/references/feature_gating_patterns.md +137 -0
- package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -0
- package/skills/saas-transformer/scripts/saas_transformation_scanner.py +254 -0
- package/skills/scalability-clean-code/SKILL.md +229 -0
- package/skills/secure-fuzz-testing/SKILL.md +201 -0
- package/skills/senior-frontend/SKILL.md +161 -0
- package/skills/senior-frontend/references/frontend_best_practices.md +806 -0
- package/skills/senior-frontend/references/nextjs_optimization_guide.md +724 -0
- package/skills/senior-frontend/references/react_patterns.md +746 -0
- package/skills/senior-frontend/scripts/bundle_analyzer.py +407 -0
- package/skills/senior-frontend/scripts/component_generator.py +329 -0
- package/skills/senior-frontend/scripts/frontend_scaffolder.py +1005 -0
- package/skills/senior-fullstack/SKILL.md +167 -0
- package/skills/senior-fullstack/references/architecture_patterns.md +160 -0
- package/skills/senior-fullstack/references/development_workflows.md +222 -0
- package/skills/senior-fullstack/references/tech_stack_guide.md +190 -0
- package/skills/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
- package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
- package/skills/senior-fullstack/scripts/project_scaffolder.py +114 -0
- package/skills/seo/SKILL.md +225 -0
- package/skills/seo/references/cwv-thresholds.md +108 -0
- package/skills/seo/references/eeat-framework.md +214 -0
- package/skills/seo/references/quality-gates.md +155 -0
- package/skills/seo/references/schema-types.md +118 -0
- package/skills/seo-aeo-landing-page-writer/SKILL.md +97 -0
- package/skills/seo-geo/SKILL.md +188 -0
- package/skills/session-handoff-resume/SKILL.md +158 -0
- package/skills/skill_baru/SKILL.md +147 -0
- package/skills/spa-orchestrator/SKILL.md +288 -0
- package/skills/state-management-expert/SKILL.md +272 -0
- package/skills/supabase-migration/SKILL.md +45 -0
- package/skills/supabase-security-expert/SKILL.md +243 -0
- package/skills/tailwind-expert/SKILL.md +188 -0
- package/skills/tanstack-query-expert/SKILL.md +199 -0
- package/skills/tauri-expert/SKILL.md +97 -0
- package/skills/token-saver/SKILL.md +111 -0
- package/skills/typescript-expert/SKILL.md +279 -0
- package/skills/ui-components-expert/SKILL.md +63 -0
- package/skills/ui-ux-pro-max/SKILL.md +201 -0
- package/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- 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-pro-max/scripts/core.py +257 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +493 -0
- package/skills/ui-ux-pro-max/scripts/search.py +81 -0
- package/skills/ui_ux_expert/SKILL.md +114 -0
- package/skills/vibe-code-gardener/SKILL.md +173 -0
- package/skills/web-scraper/SKILL.md +205 -0
- package/skills/web-scraper/references/data-transforms.md +397 -0
- package/skills/web-scraper/references/extraction-patterns.md +475 -0
- package/skills/web-scraper/references/output-templates.md +481 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +180 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: senior-frontend
|
|
3
|
+
description: "Frontend development for React 19, Next.js 15, TypeScript, and Tailwind CSS v4 / Pengembangan frontend dengan React 19, Next.js 15, TypeScript, dan Tailwind CSS v4."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Senior Frontend Specialist (2026 Edition)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Production-grade frontend development patterns, performance optimization, and modern ecosystem integrations for React 19 / Next.js 15 applications with Tailwind CSS v4 and TypeScript. Covers React 19 Compiler, Partial Prerendering (PPR), View Transitions API, and SPA/MPA hybrid strategies.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- Use when scaffolding a new React or Next.js 15 project with TypeScript and Tailwind CSS v4.
|
|
21
|
+
- Use when generating new components, custom hooks, or Server Actions.
|
|
22
|
+
- Use when analyzing and optimizing bundle sizes and Core Web Vitals.
|
|
23
|
+
- Use to implement advanced React 19 patterns (`useActionState`, `useOptimistic`, `use()`).
|
|
24
|
+
- Use when working in SPA mode — coordinate with `spa-orchestrator` for architecture decisions.
|
|
25
|
+
- Use to ensure accessibility compliance (WCAG 2.2) and implement robust testing.
|
|
26
|
+
|
|
27
|
+
### Technical Guidelines & Best Practices
|
|
28
|
+
|
|
29
|
+
#### 1. Next.js 15: Server vs Client Components
|
|
30
|
+
Use **Server Components** by default for performance and SEO. Use `'use client'` only when you need:
|
|
31
|
+
- State (`useState`, `useEffect`), event handlers (`onClick`), browser APIs.
|
|
32
|
+
- Interactive UI that must be hydrated on the client.
|
|
33
|
+
|
|
34
|
+
*Next.js 15 Notes:*
|
|
35
|
+
- `params` and `searchParams` are now `Promise`-based — always `await` them before reading properties.
|
|
36
|
+
- **Partial Prerendering (PPR)**: Wrap dynamic sections in `<Suspense>` — Next.js will statically pre-render the shell and stream dynamic content. Enable with `experimental: { ppr: true }`.
|
|
37
|
+
|
|
38
|
+
#### 2. React 19 — New Hooks & Compiler
|
|
39
|
+
React 19 ships with a **compiler** that auto-applies memoization. You no longer need `useMemo`, `useCallback`, or `React.memo` in most cases — the compiler handles it.
|
|
40
|
+
|
|
41
|
+
**New Hooks:**
|
|
42
|
+
- **`useActionState`**: Manage form state, pending indicators, and action results natively with Server Actions.
|
|
43
|
+
- **`useOptimistic`**: Instantly update UI before server confirms (likes, cart additions).
|
|
44
|
+
- **`useFormStatus`**: Read form submission state inside child components.
|
|
45
|
+
- **`use(promise)`**: Unwrap promises or context inside render — works with Suspense.
|
|
46
|
+
```tsx
|
|
47
|
+
// use() with context
|
|
48
|
+
const theme = use(ThemeContext);
|
|
49
|
+
|
|
50
|
+
// use() with a promise (suspends until resolved)
|
|
51
|
+
const data = use(fetchUserPromise);
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### 3. View Transitions API
|
|
55
|
+
Use the native browser View Transitions API for smooth page transitions without heavy libraries:
|
|
56
|
+
```tsx
|
|
57
|
+
import { unstable_ViewTransition as ViewTransition } from 'react';
|
|
58
|
+
|
|
59
|
+
// Wrap changing elements
|
|
60
|
+
<ViewTransition name="hero-image">
|
|
61
|
+
<img src={image} />
|
|
62
|
+
</ViewTransition>
|
|
63
|
+
```
|
|
64
|
+
Next.js 15 App Router supports View Transitions natively via the `<Link>` component with `viewTransition` prop.
|
|
65
|
+
|
|
66
|
+
#### 4. Tailwind CSS v4 CSS-First Configuration
|
|
67
|
+
Tailwind CSS v4 uses **CSS-first configuration**. Define custom theme tokens using the `@theme` directive in your main CSS file. Use the new `@plugin` directive to register plugins:
|
|
68
|
+
```css
|
|
69
|
+
@import "tailwindcss";
|
|
70
|
+
|
|
71
|
+
@theme {
|
|
72
|
+
--color-brand: oklch(55% 0.2 250);
|
|
73
|
+
--font-sans: "Inter", sans-serif;
|
|
74
|
+
--animate-fade-in: fade-in 0.3s ease-out;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@plugin "@tailwindcss/typography";
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
#### 5. Accessibility (WCAG 2.2) & Testing
|
|
81
|
+
- Use semantic HTML tags (`<button>`, `<nav>`, `<main>`, `<article>`).
|
|
82
|
+
- Ensure full keyboard navigability and proper `aria-*` labels.
|
|
83
|
+
- Write unit tests using **Vitest** and **React Testing Library**.
|
|
84
|
+
- Write E2E tests using **Playwright** (via `e2e-testing-expert` skill).
|
|
85
|
+
|
|
86
|
+
#### 6. SPA Integration (spa-orchestrator)
|
|
87
|
+
When building a decoupled SPA (not Next.js SSR):
|
|
88
|
+
- Coordinate with `spa-orchestrator` for architecture decisions (routing, state, API layer).
|
|
89
|
+
- Use **TanStack Router** for fully type-safe client-side routing (preferred over React Router for new projects).
|
|
90
|
+
- Use **TanStack Query v5** for all server state — never use bare `useEffect` for data fetching.
|
|
91
|
+
|
|
92
|
+
#### 7. Multi-Page Application (MPA) Integration
|
|
93
|
+
When working within a centralized MPA (via `mpa-orchestrator`):
|
|
94
|
+
- Use **Alpine.js** or **HTMX** for micro-interactions without heavy client bundles.
|
|
95
|
+
- Apply **Progressive Enhancement**: ensure forms and links work without JavaScript first.
|
|
96
|
+
|
|
97
|
+
#### 8. Advanced Animations (GSAP)
|
|
98
|
+
- Use **GSAP (GreenSock Animation Platform)** for complex, timeline-based, and scroll-driven animations (`ScrollTrigger`).
|
|
99
|
+
- Prefer GSAP over CSS animations for sequences requiring pausing, reversing, staggering, or timeline control.
|
|
100
|
+
- In React, always use the `@gsap/react` `useGSAP()` hook for automatic cleanup and scope management to prevent memory leaks.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
<a name="bahasa-indonesia"></a>
|
|
105
|
+
## Bahasa Indonesia
|
|
106
|
+
|
|
107
|
+
### Deskripsi
|
|
108
|
+
Pola pengembangan frontend tingkat produksi, optimasi performa, dan integrasi ekosistem modern untuk aplikasi React 19 / Next.js 15 dengan Tailwind CSS v4 dan TypeScript. Mencakup React 19 Compiler, Partial Prerendering (PPR), View Transitions API, dan strategi hybrid SPA/MPA.
|
|
109
|
+
|
|
110
|
+
### Kondisi Pemicu
|
|
111
|
+
- Gunakan saat merancang proyek React atau Next.js 15 baru dengan TypeScript dan Tailwind CSS v4.
|
|
112
|
+
- Gunakan saat membuat komponen baru, custom hooks, atau Server Actions.
|
|
113
|
+
- Gunakan saat menganalisis dan mengoptimalkan bundle dan Core Web Vitals.
|
|
114
|
+
- Gunakan untuk mengimplementasikan pola React 19 lanjutan (`useActionState`, `useOptimistic`, `use()`).
|
|
115
|
+
- Gunakan saat membangun SPA — koordinasikan dengan `spa-orchestrator` untuk keputusan arsitektur.
|
|
116
|
+
- Gunakan untuk memastikan kepatuhan aksesibilitas (WCAG 2.2) dan pengujian otomatis.
|
|
117
|
+
|
|
118
|
+
### Panduan Teknis & Praktik Terbaik
|
|
119
|
+
|
|
120
|
+
#### 1. Next.js 15: Server vs Client Components
|
|
121
|
+
Gunakan **Server Components** secara default untuk performa dan SEO. Gunakan `'use client'` hanya saat dibutuhkan state, event handler, atau API browser.
|
|
122
|
+
|
|
123
|
+
*Catatan Next.js 15:*
|
|
124
|
+
- `params` dan `searchParams` sekarang bertipe `Promise` — lakukan `await` sebelum mengakses nilainya.
|
|
125
|
+
- **Partial Prerendering (PPR)**: Bungkus bagian dinamis dengan `<Suspense>` — Next.js akan men-prerender shell statis dan meng-stream konten dinamis. Aktifkan dengan `experimental: { ppr: true }`.
|
|
126
|
+
|
|
127
|
+
#### 2. React 19 — Hook Baru & Compiler
|
|
128
|
+
React 19 hadir dengan **compiler** yang otomatis menerapkan memoization. Anda tidak lagi perlu `useMemo`, `useCallback`, atau `React.memo` di sebagian besar kasus.
|
|
129
|
+
|
|
130
|
+
**Hook Baru:**
|
|
131
|
+
- **`useActionState`**: Mengelola state form, indikator loading, dan hasil action dengan Server Actions.
|
|
132
|
+
- **`useOptimistic`**: Memperbarui UI secara instan sebelum server mengonfirmasi.
|
|
133
|
+
- **`useFormStatus`**: Membaca status form di dalam komponen anak.
|
|
134
|
+
- **`use(promise)`**: Membuka *promise* atau context langsung di dalam render — bekerja bersama Suspense.
|
|
135
|
+
|
|
136
|
+
#### 3. View Transitions API
|
|
137
|
+
Gunakan View Transitions API bawaan browser untuk transisi halaman yang mulus tanpa library berat. Next.js 15 mendukung ini secara native melalui `<Link viewTransition>`.
|
|
138
|
+
|
|
139
|
+
#### 4. Tailwind CSS v4 CSS-First Configuration
|
|
140
|
+
Konfigurasi kustom tema dilakukan langsung di file CSS menggunakan direktif `@theme`. Gunakan `@plugin` untuk mendaftarkan plugin.
|
|
141
|
+
|
|
142
|
+
#### 5. Aksesibilitas (WCAG 2.2) & Pengujian
|
|
143
|
+
- Gunakan HTML semantik (`<button>`, `<nav>`, `<main>`).
|
|
144
|
+
- Pastikan navigasi keyboard berfungsi penuh dengan label `aria-*` yang tepat.
|
|
145
|
+
- Pengujian unit dengan Vitest + React Testing Library; E2E dengan Playwright.
|
|
146
|
+
|
|
147
|
+
#### 6. Integrasi SPA (spa-orchestrator)
|
|
148
|
+
Saat membangun SPA terpisah (bukan Next.js SSR):
|
|
149
|
+
- Koordinasikan dengan `spa-orchestrator` untuk keputusan routing, state, dan API layer.
|
|
150
|
+
- Gunakan **TanStack Router** untuk routing type-safe di sisi klien.
|
|
151
|
+
- Gunakan **TanStack Query v5** untuk semua server state.
|
|
152
|
+
|
|
153
|
+
#### 7. Integrasi MPA (mpa-orchestrator)
|
|
154
|
+
Saat bekerja dalam arsitektur MPA terpusat:
|
|
155
|
+
- Gunakan Alpine.js atau HTMX untuk interaksi mikro yang ringan.
|
|
156
|
+
- Terapkan Progressive Enhancement: form dan link harus berfungsi tanpa JavaScript terlebih dahulu.
|
|
157
|
+
|
|
158
|
+
#### 8. Animasi Tingkat Lanjut (GSAP)
|
|
159
|
+
- Gunakan **GSAP (GreenSock Animation Platform)** untuk animasi kompleks, berbasis timeline, dan *scroll-driven* (`ScrollTrigger`).
|
|
160
|
+
- Utamakan GSAP dibandingkan CSS untuk animasi yang membutuhkan kontrol *timeline*, jeda (*pause*), *reverse*, atau *stagger*.
|
|
161
|
+
- Di React, selalu gunakan hook `useGSAP()` dari `@gsap/react` untuk *cleanup* otomatis dan manajemen *scope* guna mencegah kebocoran memori (*memory leak*).
|