Apa Itu Vibe Coding?
Vibe coding adalah metodologi development di mana kamu mendeskripsikan apa yang ingin dibangun dalam bahasa natural, AI men-generate kodenya, lalu kamu me-review, me-refine, dan meng-iterate hasilnya sampai siap produksi. Istilah ini dicetuskan oleh Andrej Karpathy (ex-Tesla AI Director) pada 2025, dan kini menjadi Collins Dictionary Word of the Year.
Tapi vibe coding bukan "ketik prompt โ jadi aplikasi." Workflow profesional membutuhkan struktur: spesifikasi yang jelas, desain UI, struktur file yang terencana, testing terorganisir, dan pipeline deployment yang solid. Panduan ini membongkar setiap fase secara detail.
Ideation & PRD (Product Requirements Document)
Fondasi yang menentukan segalanya
Ini adalah fase yang paling sering dilewatkan pemula โ dan yang paling krusial. Tanpa PRD, AI akan membuat keputusan yang "masuk akal" di setiap langkah, tapi perlahan menyimpang dari yang kamu inginkan. PRD adalah instruksi manual untuk AI-mu.
File yang Harus Dibuat
โโโ prd.md # Product Requirements Document
โโโ user-personas.md # Siapa pengguna kamu
โโโ user-flows.md # Alur interaksi pengguna
โโโ scope.md # Apa yang IN dan OUT of scope
Isi PRD yang Efektif
Checklist PRD
- Product Vision โ 1-2 kalimat tentang apa yang dibangun dan kenapa
- Target Users โ Persona pengguna dengan pain points
- Functional Requirements โ Daftar fitur spesifik per halaman
- Non-Functional Requirements โ Performa, keamanan, kompatibilitas
- Tech Stack โ Framework, bahasa, database, hosting
- File & Folder Structure โ Konvensi yang harus diikuti AI
- Acceptance Criteria โ Definisi "selesai" yang bisa diuji
- Out of Scope โ Fitur yang TIDAK dibuat (mencegah scope creep)
- User login (email/password + Google OAuth)
- CRUD task dengan status pending/in-progress/done
- Filter dan sort berdasarkan tanggal, status, prioritas
- Dashboard dengan chart statistik penyelesaian
Tech stack: Next.js 15 + TypeScript + Supabase + Tailwind.
Sertakan: user personas, user flows, acceptance criteria,
folder structure, dan daftar out-of-scope items.
Tools untuk Fase Ini
ChatGPT / Claude Free Tier
Generate dan iterate PRD melalui percakapan multi-round.
Notion / Google Docs Free
Simpan dan kolaborasi PRD sebagai living document.
GitHub Spec-Kit Free
Template CLI untuk spec โ plan โ tasks otomatis.
Whimsical / FigJam Freemium
Visualisasi user flows dan mind mapping.
UI/UX Design & Wireframing
Merancang pengalaman sebelum menulis kode
Wireframe berfungsi sebagai "draft kasar" โ UI pasti akan berubah selama build, tapi ini membantu kamu masuk ke perspektif pengguna. Di era vibe coding, wireframe juga berfungsi sebagai visual prompt โ kamu bisa meng-upload screenshot ke AI dan berkata "buat seperti ini."
File yang Harus Dibuat
โโโ wireframes/ # Lo-fi wireframes per halaman
โโโ mockups/ # Hi-fi mockups (opsional)
โโโ design-system.md # Warna, font, spacing, komponen
โโโ component-library.md # Daftar komponen UI yang dibutuhkan
โโโ responsive-spec.md # Breakpoints & behavior mobile/desktop
Design System Essentials
Checklist Design
- Color palette โ Primary, secondary, accent, semantic (error, success, warning)
- Typography โ Font family, scale (h1-h6, body, caption), weights
- Spacing system โ Base unit (4px/8px grid), padding/margin konvensi
- Component inventory โ Button, input, card, modal, navbar, table, toast
- Responsive breakpoints โ Mobile (375px), Tablet (768px), Desktop (1280px)
- Dark/Light mode โ Variabel CSS untuk theming
- Accessibility โ Kontras minimum WCAG 2.1 AA, focus states, alt text
Tools untuk Fase Ini
v0.dev (Vercel) Free
Generate komponen React/Next.js dari prompt teks atau screenshot.
Figma + AI Plugins Freemium
Wireframing profesional dengan MCP bridge ke Cursor.
Lovable $20/bln
Generate UI berkualitas tinggi langsung dari prompt โ kuat di estetika.
Tempo Labs Beta
Visual builder yang generate React code + breakdown struktur otomatis.
Struktur File & Arsitektur Proyek
Menentukan fondasi teknis sebelum AI menulis kode
Tanpa struktur file yang didefinisikan, AI akan mengarang konvensi sendiri โ dan setiap prompt bisa menghasilkan konvensi yang berbeda. Tentukan ini di awal agar AI konsisten.
Contoh Struktur Full-Stack (Next.js + Supabase)
โโโ .cursorrules # Aturan untuk Cursor AI
โโโ .env.example # Template environment variables
โโโ AGENTS.md # Instruksi untuk AI agents (Kilo/Cline)
โโโ prd.md # PRD sebagai referensi AI
โโโ package.json
โโโ tsconfig.json # TypeScript strict mode
โโโ tailwind.config.ts
โโโ next.config.ts
โโโ ๐ src/
โ โโโ ๐ app/ # Next.js App Router pages
โ โ โโโ layout.tsx
โ โ โโโ page.tsx
โ โ โโโ ๐ dashboard/
โ โ โโโ ๐ auth/
โ โ โโโ ๐ api/ # API routes
โ โโโ ๐ components/ # Komponen UI reusable
โ โ โโโ ๐ ui/ # Primitives (button, input, card)
โ โ โโโ ๐ features/ # Feature-specific components
โ โโโ ๐ lib/ # Utilities, helpers, configs
โ โโโ ๐ hooks/ # Custom React hooks
โ โโโ ๐ types/ # TypeScript type definitions
โ โโโ ๐ styles/ # Global styles
โโโ ๐ tests/ # Unit & integration tests
โโโ ๐ e2e/ # End-to-end tests (Playwright)
โโโ ๐ supabase/ # Migrations & seed data
โโโ Dockerfile
โโโ .github/workflows/ci.yml # CI/CD pipeline
.cursorrules atau AGENTS.md yang berisi aturan coding kamu: "Gunakan TypeScript strict mode. Semua function harus punya JSDoc. Gunakan Tailwind, bukan CSS inline. Komponen dalam PascalCase." โ Ini akan menjaga konsistensi output AI.
Coding dengan AI โ Iterasi Terfokus
Core loop: Prompt โ Generate โ Review โ Refine
Ini adalah inti vibe coding. Aturan emasnya: satu fitur per prompt, satu prompt per iterasi. Jangan coba bangun seluruh aplikasi dalam satu perintah.
Workflow per Fitur (Vertical Slice)
Langkah Coding per Fitur
- Referensikan PRD โ "Berdasarkan PRD section 3.2, implementasikan..."
- Scope kecil โ Satu komponen/endpoint per prompt
- Review diff โ Baca setiap perubahan sebelum accept
- Test manual โ Jalankan, klik, lihat hasilnya di browser
- Commit โ Git commit setelah setiap fitur yang berjalan
- Lanjut ke fitur berikutnya โ Ulangi siklus
1. API route POST /api/tasks di src/app/api/tasks/route.ts
2. Validasi: title (required, string), status (enum: pending|done)
3. Insert ke Supabase table "tasks"
4. Return 201 dengan task yang dibuat
5. Handle error 400 untuk validasi gagal
Ikuti konvensi di .cursorrules. Gunakan Zod untuk validasi.
Tools untuk Coding
Cursor $20/bln
IDE AI-first terbaik. Composer untuk multi-file edit, Tab autocomplete.
Cline Free (BYOK)
Agen otonom di VS Code. Plan/Act mode, browser automation, checkpoints.
Claude Code API
Terminal agent paling powerful. Full codebase awareness, git management.
Kilo Code Free (BYOK)
500+ model, Orchestrator mode untuk koordinasi multi-agen.
Testing โ Jangan Skip Ini!
AI sering melewatkan edge cases, testing menangkapnya
Kode AI sering terlihat benar tapi gagal di edge cases. Testing bukan opsional โ ini safety net kamu. Kabar baiknya: AI juga bisa menulis test.
Jenis Test yang Dibutuhkan
| Jenis Test | Apa yang Diuji | Tool | Kapan |
|---|---|---|---|
| Unit Test | Fungsi individual, utilities, helpers | Jest / Vitest | Setiap fitur baru |
| Integration Test | API endpoints, database queries | Jest + Supertest | Setiap endpoint |
| Component Test | Render, interaksi, state UI | Testing Library | Komponen kritis |
| E2E Test | User flow lengkap (login โ action โ result) | Playwright / Cypress | Happy paths |
| Security Scan | Dependencies vulnerability, secrets leak | npm audit / Snyk | Sebelum deploy |
โโโ ๐ unit/
โ โโโ taskValidation.test.ts
โ โโโ dateUtils.test.ts
โโโ ๐ integration/
โ โโโ api/tasks.test.ts
โ โโโ api/auth.test.ts
โโโ ๐ components/
โโโ TaskCard.test.tsx
โโโ Dashboard.test.tsx
๐ e2e/
โโโ auth-flow.spec.ts
โโโ task-crud.spec.ts
โโโ dashboard.spec.ts
Test cases yang harus dicakup:
- Title valid (string, 1-200 karakter) โ return true
- Title kosong โ throw ValidationError
- Title > 200 karakter โ throw ValidationError
- Status valid (pending/done) โ return true
- Status invalid โ throw ValidationError
- Input tanpa title field โ throw ValidationError
Gunakan Vitest. File output: tests/unit/taskValidation.test.ts
Code Review & Quality Assurance
Mata manusia tetap diperlukan
Aturan utama vibe coding: jangan pernah ship kode yang tidak bisa kamu jelaskan. Review setiap diff, pahami setiap fungsi. AI bisa membuat kode yang "berjalan" tapi memiliki security hole, performance leak, atau logic error yang subtle.
Checklist Code Review
- Baca setiap diff sebelum accept โ jangan "Accept All" untuk produksi
- Cek error handling โ Apakah semua edge case tertangkap?
- Cek security โ API keys terekspos? SQL injection? XSS?
- Cek performance โ N+1 queries? Memory leak? Bundle size?
- Cek accessibility โ Alt text? ARIA labels? Keyboard navigation?
- Cek naming โ Variabel dan fungsi deskriptif dan konsisten?
- Jalankan linter โ ESLint + Prettier harus pass tanpa error
- Jalankan TypeScript compiler โ tsc --noEmit harus bersih
Tools untuk Code Review
Cursor Bugbot $40/bln
AI review otomatis pada setiap PR di GitHub.
ESLint + Prettier Free
Linting dan formatting otomatis. Tangkap kesalahan AI secara programatik.
SonarQube / Snyk Freemium
Security scanning dan code quality analysis otomatis.
GitHub PR Review Free
Peer review manual โ mata manusia tetap paling penting.
CI/CD Pipeline
Otomatisasi build, test, dan validasi sebelum deploy
Pipeline CI/CD adalah gatekeeper terakhir sebelum kode mencapai produksi. Setup ini sekali, lindungi selamanya.
File Pipeline
โโโ ci.yml # Lint + TypeScript + Unit Test + Build
โโโ e2e.yml # E2E test dengan Playwright
โโโ deploy.yml # Deploy ke staging/production
Dockerfile # Multi-stage build
docker-compose.yml # Local development
on: [push, pull_request]
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npm run lint # ESLint
- run: npx tsc --noEmit # TypeScript check
- run: npm test # Unit + Integration
- run: npm audit # Security scan
- run: npm run build # Build validation
Deployment & Monitoring
Dari staging ke production โ dan memastikan tetap berjalan
Selalu deploy ke staging dulu sebelum production. Beberapa menit testing di staging bisa menghemat berjam-jam debugging di production.
Pilihan Platform Deployment
| Platform | Tipe | Cocok Untuk | Harga |
|---|---|---|---|
| Vercel | Serverless | Next.js, React, frontend-heavy | Free tier tersedia |
| Netlify | JAMstack | Static sites, SSG, edge functions | Free tier tersedia |
| Railway | Container | Full-stack, databases, backend | $5/bulan+ |
| Supabase | BaaS | Database, auth, storage, realtime | Free tier tersedia |
| AWS / GCP | Cloud IaaS | Enterprise, scaling, full control | Pay-as-you-go |
| Docker + VPS | Container | Full control, self-hosted | $5-20/bulan VPS |
Checklist Pre-Deployment
- Semua test CI/CD hijau (pass)
- Environment variables sudah di-set di platform hosting
- Database migrations sudah dijalankan
- HTTPS aktif dan domain terkonfigurasi
- Error monitoring terpasang (Sentry / LogRocket)
- Analytics terpasang (Vercel Analytics / PostHog)
- Backup database terjadwal
- Rate limiting aktif untuk API endpoints
Ringkasan: Tool Stack per Fase
| Fase | Tool Utama | Output |
|---|---|---|
| 1. PRD | ChatGPT/Claude + Notion | prd.md, user-flows.md, scope.md |
| 2. UI/UX | Figma, v0.dev, Lovable | Wireframes, design system, mockups |
| 3. Struktur | Manual + .cursorrules | Folder structure, config files |
| 4. Coding | Cursor / Cline / Claude Code | Source code (TypeScript + React) |
| 5. Testing | Vitest, Playwright, npm audit | Unit, integration, E2E, security tests |
| 6. Review | ESLint, Bugbot, Peer review | Clean, reviewed code |
| 7. CI/CD | GitHub Actions | Automated pipeline |
| 8. Deploy | Vercel / Railway + Sentry | Live production app |
Vibe Coding = Struktur + AI + Review
Vibe coding bukan magic โ ini adalah workflow terstruktur di mana AI menjadi builder dan kamu menjadi arsitek. Semakin jelas instruksimu, semakin presisi hasilnya. Mulai dari PRD, bukan dari prompt.
Mulai dari Fase 1 โ