vibes-plug 1.0.0 → 2.5.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/workflows/publish.yml +20 -0
- package/AGENTS.md +66 -0
- package/BLUEPRINT.md +152 -60
- package/CHANGELOG.md +50 -0
- package/README.md +346 -194
- package/package.json +25 -25
- package/plugin.json +1 -1
- package/skills/ai-cost-token-optimizer/SKILL.md +52 -0
- package/skills/ai-llm-integration-expert/SKILL.md +180 -162
- package/skills/api-design-expert/SKILL.md +314 -310
- package/skills/app-analyzer-optimizer/SKILL.md +193 -189
- package/skills/apple-ecosystem-expert/SKILL.md +142 -0
- package/skills/async-queue-temporal-expert/SKILL.md +54 -0
- package/skills/authentication-identity-expert/SKILL.md +251 -20
- package/skills/auto-doc-updater/SKILL.md +214 -204
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
- package/skills/autonomous-red-teamer/SKILL.md +59 -0
- package/skills/autonomous-swarm-director/SKILL.md +69 -0
- package/skills/autonomous-tdd-debugger/SKILL.md +65 -0
- package/skills/bootstrap-to-modern/SKILL.md +90 -86
- package/skills/brainstorming/SKILL.md +373 -353
- package/skills/browser-automation-expert/SKILL.md +46 -0
- package/skills/ci-cd-devops-architect/SKILL.md +72 -45
- package/skills/cloud-hosting-expert/SKILL.md +244 -244
- package/skills/coderabbit/SKILL.md +192 -192
- package/skills/cron-scheduler-expert/SKILL.md +298 -0
- package/skills/data-telemetry-expert/SKILL.md +213 -213
- package/skills/database-orm-expert/SKILL.md +294 -294
- package/skills/dependency-upgrade-migrator/SKILL.md +295 -0
- package/skills/design-system-architect/SKILL.md +27 -10
- package/skills/doku-mcp-server/SKILL.md +251 -0
- package/skills/doku-payment-gateway/SKILL.md +227 -0
- package/skills/e2e-testing-expert/SKILL.md +315 -315
- package/skills/edge-serverless-db-expert/SKILL.md +43 -0
- package/skills/email-notification-expert/SKILL.md +362 -0
- package/skills/error-resilience-expert/SKILL.md +480 -0
- package/skills/event-driven-architect/SKILL.md +81 -81
- package/skills/feature-flag-analytics-expert/SKILL.md +46 -0
- package/skills/file-upload-media-expert/SKILL.md +431 -0
- package/skills/form-validation-expert/SKILL.md +401 -0
- package/skills/fullstack-expert/SKILL.md +202 -202
- 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 +135 -135
- package/skills/global-a11y-i18n-expert/SKILL.md +81 -81
- package/skills/glsl-shader-expert/SKILL.md +101 -0
- package/skills/go-programming-expert/SKILL.md +295 -295
- package/skills/graphql-apollo-expert/SKILL.md +108 -0
- package/skills/hig/SKILL.md +188 -188
- package/skills/hyper-context-synthesizer/SKILL.md +55 -0
- package/skills/js-backend-expert/SKILL.md +34 -9
- package/skills/legacy-code-translator/SKILL.md +65 -0
- package/skills/llm-cost-arbitrage-router/SKILL.md +59 -0
- package/skills/logging-error-tracking-expert/SKILL.md +338 -0
- package/skills/mcp-client-orchestrator/SKILL.md +70 -0
- package/skills/mcp-server-architect/SKILL.md +194 -194
- package/skills/micro-frontend-architect/SKILL.md +106 -0
- package/skills/mobile-expo-expert/SKILL.md +186 -186
- package/skills/mobile-push-notification-expert/SKILL.md +51 -0
- package/skills/monday-design-aesthetic/SKILL.md +67 -67
- package/skills/monorepo-architect/SKILL.md +227 -227
- package/skills/mpa-orchestrator/SKILL.md +101 -101
- package/skills/multi-agent-orchestration/SKILL.md +234 -234
- package/skills/multiple-entry-points/SKILL.md +55 -55
- package/skills/mvc-expert/SKILL.md +231 -231
- package/skills/payment-gateway-expert/SKILL.md +45 -45
- package/skills/performance-web-vitals/SKILL.md +332 -332
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
- package/skills/prd-architect/SKILL.md +201 -191
- package/skills/proactive-background-watcher/SKILL.md +62 -0
- package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
- package/skills/production-ready-hardener/SKILL.md +173 -186
- 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 +79 -0
- package/skills/python-programming-expert/SKILL.md +263 -132
- package/skills/rate-limit-abuse-prevention/SKILL.md +371 -0
- package/skills/realtime-collaboration-expert/SKILL.md +45 -45
- package/skills/rust-programming-expert/SKILL.md +235 -235
- package/skills/saas-billing/SKILL.md +377 -377
- package/skills/saas-multi-tenant/SKILL.md +251 -237
- package/skills/saas-mvp-launcher/SKILL.md +10 -0
- package/skills/saas-transformer/SKILL.md +187 -144
- 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 +229 -229
- package/skills/self-evolving-memory-graph/SKILL.md +75 -0
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
- package/skills/senior-frontend/SKILL.md +161 -161
- package/skills/senior-fullstack/SKILL.md +167 -167
- package/skills/seo/SKILL.md +235 -225
- package/skills/seo-geo/SKILL.md +188 -188
- package/skills/session-context-loader/SKILL.md +77 -0
- package/skills/session-handoff-resume/SKILL.md +158 -158
- package/skills/skill_baru/SKILL.md +172 -147
- package/skills/spa-orchestrator/SKILL.md +288 -288
- package/skills/state-management-expert/SKILL.md +272 -272
- package/skills/supabase-security-expert/SKILL.md +243 -243
- package/skills/tailwind-expert/SKILL.md +188 -188
- package/skills/tanstack-query-expert/SKILL.md +199 -199
- package/skills/token-saver/SKILL.md +119 -111
- package/skills/typescript-expert/SKILL.md +324 -279
- package/skills/ui-components-expert/SKILL.md +263 -46
- package/skills/ui-ux-pro-max/SKILL.md +202 -201
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
- package/skills/ui_ux_expert/SKILL.md +17 -6
- package/skills/vector-db-rag-expert/SKILL.md +52 -0
- package/skills/vibe-code-gardener/SKILL.md +181 -173
- package/skills/visual-qa-vision-agent/SKILL.md +65 -0
- package/skills/vue-frontend-expert/SKILL.md +126 -0
- package/skills/web-3d-graphics-expert/SKILL.md +131 -0
- package/skills/web-game-engine-expert/SKILL.md +96 -0
- package/skills/web-scraper/SKILL.md +207 -205
- package/skills/website-design-cloner/SKILL.md +174 -0
- package/skills/webxr-ar-vr-expert/SKILL.md +117 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +206 -180
- package/skills/zero-trust-secret-vault/SKILL.md +40 -0
- package/vibes-swarm-demo.gif +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: self-evolving-memory-graph
|
|
3
|
+
description: "Grants the AI long-term episodic memory. The agent autonomously documents the user's coding preferences, past mistakes to avoid, and architectural decisions into a persistent learning graph."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Self-Evolving Memory Graph (Episodic Memory)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Claude forgets everything once a chat is cleared, and its "Project Knowledge" requires manual human updating. This skill gives Antigravity the "superpower" of continuous, autonomous self-improvement. The agent actively listens for user corrections, stylistic preferences, and hard-learned debugging lessons, writing them into a persistent `LEARNING_GRAPH.md` (or `.agents/LEARNING.md`) file. The agent gets smarter and more aligned with the user over time.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
Activate this skill when:
|
|
21
|
+
- The user corrects your code (e.g., "Don't use `any`, use `unknown`", or "Always use Arrow functions").
|
|
22
|
+
- You just spent a long time fixing a very complex bug.
|
|
23
|
+
- The user says "Remember this for the future."
|
|
24
|
+
|
|
25
|
+
### Core Concepts
|
|
26
|
+
|
|
27
|
+
#### 1. Memory Encoding
|
|
28
|
+
Whenever a hard lesson is learned or a strong user preference is stated, do not just say "I will remember that." You must physically write it down.
|
|
29
|
+
Use the `multi_replace_file_content` or `write_to_file` tool to append the lesson to the memory file.
|
|
30
|
+
|
|
31
|
+
#### 2. Memory Format (`LEARNING_GRAPH.md`)
|
|
32
|
+
```markdown
|
|
33
|
+
# 🧠 Self-Evolving Memory Graph
|
|
34
|
+
|
|
35
|
+
## User Stylistic Preferences
|
|
36
|
+
- [2026-08-12] Always use `Tailwind v4 @theme` variables instead of arbitrary values like `text-[#ff0000]`.
|
|
37
|
+
- [2026-08-12] Prefer functional components with `const` over `function` declarations.
|
|
38
|
+
|
|
39
|
+
## Hard-Learned Lessons (Avoid these mistakes)
|
|
40
|
+
- [2026-08-11] Supabase RLS policies: Never use `auth.uid()` in a `FOR ALL` policy without checking role claims. It caused an infinite recursion bug in `users` table.
|
|
41
|
+
|
|
42
|
+
## Architectural Decisions
|
|
43
|
+
- [2026-08-10] State Management: We exclusively use `Zustand` for global state. Do not suggest Redux.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
#### 3. Memory Retrieval
|
|
47
|
+
Ensure `session-context-loader` is configured to read this memory file at the start of every new chat session.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### Integration with Other Skills (MANDATORY)
|
|
52
|
+
- `session-context-loader` — Essential for loading the `LEARNING_GRAPH.md` when a new session starts.
|
|
53
|
+
- `project-context-mapper` — The context map tracks *where* things are; the memory graph tracks *how* and *why* things are built.
|
|
54
|
+
|
|
55
|
+
### Referenced By Orchestrators (MANDATORY)
|
|
56
|
+
- `brainstorming` — Add to "Discovery & Audit".
|
|
57
|
+
- `zero-to-prod-orchestrator` — Phase 1 (Discovery & Architecture).
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
<a name="bahasa-indonesia"></a>
|
|
62
|
+
## Bahasa Indonesia
|
|
63
|
+
|
|
64
|
+
### Deskripsi
|
|
65
|
+
Claude melupakan segalanya saat sesi chat baru dimulai. Skill ini memberi Anda "kekuatan super" berupa *Ingatan Jangka Panjang* yang berevolusi sendiri. Agen secara aktif mencatat preferensi koding pengguna, pelajaran dari *bug* yang sulit dipecahkan, dan keputusan arsitektur ke dalam file persisten `LEARNING_GRAPH.md`.
|
|
66
|
+
|
|
67
|
+
### Kondisi Pemicu
|
|
68
|
+
- Saat pengguna mengoreksi gaya koding Anda (misal: "Gunakan bahasa Indonesia baku", "Jangan pakai `var`").
|
|
69
|
+
- Setelah Anda berhasil memecahkan *bug* yang menghabiskan waktu lama.
|
|
70
|
+
- Saat pengguna berkata "Ingat ini untuk proyek ke depannya."
|
|
71
|
+
|
|
72
|
+
### Panduan Singkat
|
|
73
|
+
- **Jangan Hanya Berjanji:** Jika pengguna mengoreksi Anda, jangan sekadar menjawab "Baik, saya akan ingat." LLM tidak punya ingatan bawaan antar-sesi. Anda **wajib** menulis koreksi tersebut ke dalam file `LEARNING_GRAPH.md` di folder `.agents/` atau direktori *root*.
|
|
74
|
+
- **Kategorisasi Ingatan:** Pisahkan ingatan menjadi: Preferensi Gaya (*Style*), Pelajaran Berharga (*Lessons Learned*), dan Keputusan Arsitektur (*Decisions*).
|
|
75
|
+
- **Semakin Lama Semakin Pintar:** Dengan membaca file ini di awal setiap percakapan, Anda tidak akan pernah mengulangi kesalahan yang sama dua kali.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: self-healing-cloud-orchestrator
|
|
3
|
+
description: "Real-time log monitoring, crash detection, and auto-hotfixing code without human intervention / Pemantauan log real-time, deteksi kerusakan, dan perbaikan kode hotfix otomatis tanpa intervensi manusia."
|
|
4
|
+
author: vibes-plug-swarm
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Self-Healing Cloud Orchestrator (Code-to-Cloud Auto Remediation)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Bridges the gap between code generation and Cloud Operations (CloudOps). This agent continuously monitors production or staging logs (via Vercel, AWS CloudWatch, Datadog, or Sentry MCP servers). When an anomaly, crash (OOM, Null Pointer), or configuration mismatch occurs, it autonomously downloads the stack trace, identifies the root cause in the source code, writes a patch, validates it locally, and pushes a hotfix deployment without requiring human intervention.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- Post-deployment in Phase 8, running as a persistent background daemon.
|
|
21
|
+
- When an application goes down or experiences a spike in 5xx errors.
|
|
22
|
+
- When `proactive-background-watcher` detects a critical health-check failure.
|
|
23
|
+
|
|
24
|
+
### Operating Protocol
|
|
25
|
+
1. **Telemetry Ingestion**: Listens to structured logs and APM alerts.
|
|
26
|
+
2. **Root Cause Analysis (RCA)**: Parses stack traces and maps them to the local repository's current commit state.
|
|
27
|
+
3. **Autonomous Patching**: Writes the necessary fix (e.g., adding missing env vars, fixing memory leaks, patching unhandled promise rejections).
|
|
28
|
+
4. **Validation & Deploy**: Runs local unit/E2E tests via `autonomous-tdd-debugger` and commits the hotfix to trigger the CI/CD pipeline.
|
|
29
|
+
|
|
30
|
+
## Orchestration & Integration
|
|
31
|
+
- Utilizes `proactive-background-watcher` for continuous daemon execution.
|
|
32
|
+
- Consumes data from `logging-error-tracking-expert` and `data-telemetry-expert`.
|
|
33
|
+
- Delegates to `ci-cd-devops-architect` to push fixes and initiate deployments.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
<a name="bahasa-indonesia"></a>
|
|
38
|
+
## Bahasa Indonesia
|
|
39
|
+
|
|
40
|
+
### Deskripsi
|
|
41
|
+
Menjembatani kesenjangan antara pembuatan kode dan Operasi Cloud (CloudOps). Agen ini secara terus-menerus memantau log produksi atau staging (melalui server MCP Vercel, AWS CloudWatch, Datadog, atau Sentry). Ketika terjadi anomali, kerusakan (OOM, Null Pointer), atau ketidaksesuaian konfigurasi, agen ini secara otonom mengunduh *stack trace*, mengidentifikasi akar masalah pada *source code*, menulis *patch*, memvalidasinya secara lokal, dan meluncurkan *deployment hotfix* tanpa intervensi manusia.
|
|
42
|
+
|
|
43
|
+
### Kondisi Pemicu
|
|
44
|
+
- Pasca-deployment di Fase 8, berjalan sebagai daemon latar belakang yang persisten.
|
|
45
|
+
- Ketika sebuah aplikasi tumbang (*down*) atau mengalami lonjakan *error* 5xx.
|
|
46
|
+
- Ketika `proactive-background-watcher` mendeteksi kegagalan pengecekan kesehatan (*health-check*) yang kritis.
|
|
47
|
+
|
|
48
|
+
### Protokol Operasi
|
|
49
|
+
1. **Penyerapan Telemetri**: Mendengarkan log terstruktur dan peringatan APM.
|
|
50
|
+
2. **Analisis Akar Masalah (RCA)**: Menguraikan *stack trace* dan memetakannya ke status komit repositori lokal saat ini.
|
|
51
|
+
3. **Patching Otonom**: Menulis perbaikan yang diperlukan (misal: menambahkan *environment variable* yang hilang, memperbaiki kebocoran memori, menambal *unhandled promise rejection*).
|
|
52
|
+
4. **Validasi & Deploy**: Menjalankan *unit test/E2E test* lokal melalui `autonomous-tdd-debugger` lalu melakukan komit untuk memicu pipeline CI/CD.
|
|
53
|
+
|
|
54
|
+
## Integrasi Orkestrasi
|
|
55
|
+
- Menggunakan `proactive-background-watcher` untuk eksekusi daemon berkelanjutan.
|
|
56
|
+
- Mengonsumsi data dari `logging-error-tracking-expert` dan `data-telemetry-expert`.
|
|
57
|
+
- Mendelegasikan tugas ke `ci-cd-devops-architect` untuk mendorong perbaikan (*push*) dan memulai deployment.
|
|
@@ -1,161 +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
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
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
|
-
-
|
|
160
|
-
-
|
|
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 & Anime.js)
|
|
98
|
+
- **GSAP (GreenSock)**: Use for complex, timeline-based, and scroll-driven animations (`ScrollTrigger`). In React, always use `@gsap/react` `useGSAP()` hook for automatic cleanup.
|
|
99
|
+
- **Anime.js**: Use as a lightweight, powerful alternative for simpler sequencing, staggering, SVG path animations, and DOM attribute animations. It's often preferred when bundle size is a strict concern and scroll-driven features are not needed.
|
|
100
|
+
- Prefer JS animations (GSAP/Anime.js) over CSS for sequences requiring pausing, reversing, or timeline control.
|
|
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 & Anime.js)
|
|
159
|
+
- **GSAP (GreenSock)**: Gunakan untuk animasi kompleks, berbasis timeline, dan *scroll-driven* (`ScrollTrigger`). Di React, selalu gunakan hook `useGSAP()` dari `@gsap/react` untuk mencegah kebocoran memori.
|
|
160
|
+
- **Anime.js**: Gunakan sebagai alternatif yang lebih ringan namun sangat kuat untuk animasi DOM, properti CSS, SVG, dan *staggering* sederhana. Sangat cocok jika ukuran *bundle* menjadi prioritas utama.
|
|
161
|
+
- Utamakan pustaka JS (GSAP/Anime.js) dibandingkan CSS murni untuk animasi yang membutuhkan kontrol *timeline*, jeda (*pause*), *reverse*, atau *stagger* dinamis.
|