<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Fauzi Fadhlurrohman</title>
    <description>The latest articles on Forem by Fauzi Fadhlurrohman (@fauzi_fadhlurrohman_a105e).</description>
    <link>https://forem.com/fauzi_fadhlurrohman_a105e</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3481744%2F0cfaff0e-4b63-4725-8085-561a7d2f6287.jpg</url>
      <title>Forem: Fauzi Fadhlurrohman</title>
      <link>https://forem.com/fauzi_fadhlurrohman_a105e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/fauzi_fadhlurrohman_a105e"/>
    <language>en</language>
    <item>
      <title>Vibe Coding tapi masih acak-acakan ? Improve code dengan spec first.</title>
      <dc:creator>Fauzi Fadhlurrohman</dc:creator>
      <pubDate>Tue, 14 Apr 2026 06:18:31 +0000</pubDate>
      <link>https://forem.com/fauzi_fadhlurrohman_a105e/vibe-coding-tapi-masih-acak-acakan-improve-code-dengan-spec-first-222e</link>
      <guid>https://forem.com/fauzi_fadhlurrohman_a105e/vibe-coding-tapi-masih-acak-acakan-improve-code-dengan-spec-first-222e</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8kz7mgq1arg9smgc1zoq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8kz7mgq1arg9smgc1zoq.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vibe Coding Tapi Masih Acak-acakan? Improve Code Lo dengan Spec-First! &lt;br&gt;
Pernah nggak sih lo lagi semangat-semangatnya buka VS Code, buka AI assistant (ChatGPT/Gemini/Claude), terus langsung ngetik prompt: "Bikin komponen navbar lengkap dengan dropdown dan dark mode"?&lt;/p&gt;

&lt;p&gt;Beberapa detik kemudian, boom! Kodenya jalan. Lo ngerasa kayak hacker di film-film. Ini yang sekarang sering disebut sebagai Vibe Coding—ngoding ngikutin flow dan feeling, minta AI buatin semuanya on-the-fly.&lt;/p&gt;

&lt;p&gt;Tapi... ada tapinya nih.&lt;/p&gt;

&lt;p&gt;Setelah projectnya jalan seminggu, lo minta AI nambahin satu fitur kecil. Tiba-tiba, aplikasinya error. Lo minta AI benerin, malah merusak fitur lain yang udah jalan. Akhirnya, lo pusing sendiri ngebaca kode yang di-generate AI. Kenapa bisa gini?&lt;/p&gt;

&lt;p&gt;Kenapa Vibe Coding Sering Bikin Mentok?&lt;br&gt;
Masalah utamanya satu: AI itu nggak punya ingatan jangka panjang (Memory). AI bekerja berdasarkan context window. Saat lo ngoding secara organik (Code-First) lewat puluhan prompt, AI lama-lama bakal "lupa" sama aturan awal, struktur database, atau arsitektur yang udah disepakati di prompt pertama. Kalau lo nggak punya dokumentasi yang jelas dan cuma ngandelin history chat, AI bakal mulai halusinasi dan ngasih solusi yang nabrak sana-sini.&lt;/p&gt;

&lt;p&gt;Hasilnya? Welcome to Spaghetti Code 🍝&lt;br&gt;
Kalau lo memaksakan code-first bareng AI tanpa planning, selamat, lo baru aja menciptakan Spaghetti Code.&lt;/p&gt;

&lt;p&gt;Spaghetti code itu ibarat mie yang kusut; kodenya saling melilit, nggak terstruktur, dan susah banget di-maintain.&lt;br&gt;
Contoh Spaghetti Code: Bayangin lo punya satu file UserDashboard.js yang isinya 1000 baris. Di satu file itu, lo nge-fetch data dari API langsung di dalam render, nge-handle business logic yang kompleks, nyampur CSS inline, dan ada manipulasi state yang berlapis-lapis. Begitu lo mau ubah warna tombol, tiba-tiba query database-nya ikut error. Kusut banget kan?&lt;/p&gt;

&lt;p&gt;Solusinya: Spec-First Development&lt;br&gt;
Biar kode nggak jadi spaghetti dan AI tetap on track, lo harus ubah mindset dari Code-First jadi Spec-First.&lt;/p&gt;

&lt;p&gt;Artinya: Tulis dulu spesifikasinya, aturannya, dan arsitekturnya, baru suruh AI nulis kodenya berdasarkan spesifikasi itu.&lt;/p&gt;

&lt;p&gt;Nah, buat nerapin ini tanpa ribet, gue mau ngenalin satu tool yang gue buat namanya Specter 🔮.&lt;/p&gt;

&lt;p&gt;Kenalan sama Specter 🔮&lt;br&gt;
Specter adalah sebuah framework dokumentasi berbasis CLI yang di-desain khusus buat Spec-driven development dengan dukungan AI.&lt;/p&gt;

&lt;p&gt;Intinya, Specter bakal bikinin struktur folder dokumentasi yang rapi di dalam project lo. Jadi, setiap kali lo mau nge-prompt AI, lo tinggal ngasih file spesifikasi dari Specter sebagai konteksnya. AI-nya jadi lebih pinter dan terarah!&lt;/p&gt;

&lt;p&gt;Fitur Andalan Specter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Organized Structure: Bikin folder docs yang super komprehensif buat misahin spek, rencana, sampai progress.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI-Ready: Format dokumentasinya udah dioptimasi biar gampang dibaca dan dipahami sama AI (ChatGPT/Gemini/Cursor, dll).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Spec-Driven: Memaksa kita buat mikir spesifikasi dulu sebelum nulis kode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easy Setup: Cukup satu command, beres!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cara Install &amp;amp; Quick Start&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lo bisa install Specter secara global pakai npm:&lt;br&gt;
&lt;code&gt;npm install -g specter&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Atau kalau mau langsung sikat pakai npx:&lt;/p&gt;

&lt;h1&gt;
  
  
  Initialize di folder saat ini
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;npx specter init&lt;/code&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Atau initialize di spesifik direktori
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;npx specter init ./my-project&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Nanti, Specter bakal otomatis nge-generate project configuration .specterrc yang isinya metadata project lo kayak gini:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{&lt;br&gt;
  "version": "1.0.0",&lt;br&gt;
  "projectName": "My Project",&lt;br&gt;
  "createdAt": "2026-04-14T12:00:00.000Z",&lt;br&gt;
  "specDriven": true,&lt;br&gt;
  "aiEnabled": true&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Dan yang paling penting, Specter bakal buatin struktur folder dewa ini:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docs/&lt;br&gt;
├── specs/        # Buat naruh spesifikasi fitur, API, dan business rules&lt;br&gt;
├── plans/        # Roadmap, milestone, dan sprint planning&lt;br&gt;
├── tasks/        # Todo list dan task dependencies&lt;br&gt;
├── techstacks/   # Dokumentasi tech stack &amp;amp; instruksi setup&lt;br&gt;
└── progress/     # Tracking progress dan blocker&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Gimana Cara Pakainya Biar "Vibe Coding" Tetep Rapi?&lt;br&gt;
Biar lo kebayang, ini contoh workflow mantep gabungin Specter sama AI:&lt;/p&gt;

&lt;p&gt;Skenario: Mau bikin fitur "User Authentication"&lt;/p&gt;

&lt;p&gt;Bikin Spek Dulu: Jangan langsung nyuruh AI ngoding. Lo masuk ke folder docs/specs/ dan bikin file auth-spec.md. Tulis di situ: "Kita pakai JWT, expirynya 24 jam, password harus di-hash pakai bcrypt."&lt;/p&gt;

&lt;p&gt;Bikin Task: Masuk ke docs/tasks/auth-tasks.md, pecah jadi kerjaan kecil: (1) Bikin UI Login, (2) Bikin Endpoint API, (3) Setup Middleware.&lt;/p&gt;

&lt;p&gt;Prompting ke AI: Nah, sekarang waktunya vibe coding! Lo tinggal copy-paste (atau attach file) auth-spec.md ke AI dan bilang: "Tolong buatin Endpoint API berdasarkan spesifikasi di file ini."&lt;/p&gt;

&lt;p&gt;Update Progress: Kalau udah kelar, catet di folder docs/progress/.&lt;/p&gt;

&lt;p&gt;Hasilnya? Kode lo bakal jauh lebih modular, nggak ada lagi cerita AI lupa context, dan nggak ada lagi yang namanya spaghetti code.&lt;/p&gt;

&lt;p&gt;Penutup&lt;br&gt;
Vibe coding pakai AI itu emang seru banget dan bikin kita produktif parah. Tapi tanpa struktur yang jelas, project lo cuma tinggal nunggu waktu buat runtuh.&lt;/p&gt;

&lt;p&gt;Dengan metode Spec-First pakai Specter, lo bisa tetep ngoding cepet bareng AI, tapi dengan kualitas engineering yang solid dan terstruktur.&lt;/p&gt;

&lt;p&gt;Tertarik cobain? Langsung aja meluncur ke reponya:&lt;/p&gt;

&lt;p&gt;Jangan lupa support dengan kasih ⭐ di repository-nya ya! Built with 💚 for spec-driven development.&lt;/p&gt;

&lt;p&gt;Gimana menurut kalian soal Spec-First development vs Code-First? Yuk diskusi di kolom komentar! 👇&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>claude</category>
      <category>spec</category>
      <category>sdd</category>
    </item>
  </channel>
</rss>
