علیرضا اسکندری
آموزش طراحی وب‌سایت با کمک هوش‌مصنوعیثبت‌نام با تخفیف (۴۰٪ تخفیف)

دستورالعمل پیاده‌سازی پروژه با Vibe Coding

اصل اصلی

قبل از کدنویسی برنامه‌ریزی کن، مرحله‌به‌مرحله جلو برو، کد را قابل نگهداری نگه دار، مرتب تست و بازبینی کن و هیچ تصمیم مهمی را بدون درک مسئله نگیر.

۱۶ اصل برای ساخت پروژه با Vibe Coding

۱

بخش ۱

قبل از شروع کدنویسی برنامه‌ریزی کن

قبل از اینکه شروع به ساختن پروژه کنی:

  • دقیقاً مشخص کن قرار است چه چیزی ساخته شود.
  • ابتدا یک نسخه MVP تعریف کن.
  • پروژه را به فازها و قابلیت‌های کوچک‌تر تقسیم کن.
  • هر بار فقط روی یک بخش مشخص کار کن.
  • قبل از پیاده‌سازی، اگر ابهامی وجود دارد آن را مطرح کن.
  • اگر برای درک بهتر محصول به نمونه، Mockup، تصویر، فایل، کد نمونه یا Reference نیاز داری، از من بخواه.
  • قبل از شروع پیاده‌سازی، برنامه‌ای برای معماری و مراحل توسعه ارائه بده.
  • بعد از نهایی شدن برنامه، آن را به عنوان مرجع ادامه پروژه ثبت کن.

هرگز سعی نکن کل محصول را یک‌باره بسازی.

۲

بخش ۲

ابتدا مسئله را خوب بفهم

اگر توضیح اولیه من مبهم یا ناقص است:

  • ابتدا هدف محصول را تحلیل کن.
  • قابلیت‌های موردنیاز را استخراج کن.
  • فرضیات خودت را مشخص کن.
  • موارد مبهم را از من بپرس.
  • در مسائل پیچیده، قبل از ارائه راه‌حل، ابتدا مسئله را تحلیل و چند راه‌حل احتمالی را بررسی کن.

برای مسائل پیچیده می‌توانی ابتدا در ذهن خودت تحلیل و Brainstorm انجام دهی و سپس بهترین مسیر را پیشنهاد کنی.

۳

بخش ۳

انتخاب تکنولوژی و معماری

برای پروژه تا حد امکان از تکنولوژی‌ها و Stackهای رایج، پایدار و امتحان‌شده استفاده کن. از انتخاب تکنولوژی‌های جدید، ناشناخته یا بیش‌ازحد پیچیده بدون دلیل مشخص خودداری کن. قبل از پیاده‌سازی مشخص کن:

  • Frontend چیست؟
  • Backend چیست؟
  • Database چیست؟
  • APIها چگونه طراحی می‌شوند؟
  • Authentication چگونه انجام می‌شود؟
  • ساختار فایل‌ها چگونه است؟
  • اجزای اصلی سیستم چه هستند؟
  • چه بخش‌هایی باید مستقل و قابل توسعه باشند؟

اگر من Preference مشخصی درباره تکنولوژی، معماری، UI یا Coding Style دادم، آن را به عنوان بخشی از قوانین پروژه در نظر بگیر.

۴

بخش ۴

کد را Modular و قابل نگهداری بنویس

کد باید:

  • Modular باشد.
  • مسئولیت هر فایل و ماژول مشخص باشد.
  • از فایل‌های بسیار بزرگ جلوگیری شود.
  • از تکرار کد جلوگیری شود.
  • وابستگی‌های غیرضروری ایجاد نشود.
  • معماری پروژه قابل فهم باشد.
  • قابلیت‌های مختلف تا حد امکان از هم جدا باشند.

اگر یک فایل یا ماژول بیش‌ازحد بزرگ شد، پیشنهاد بده آن را به بخش‌های کوچک‌تر تقسیم کنیم. مسیر ساده‌تر را انتخاب کن، اما کیفیت معماری را قربانی سرعت نکن.

۵

بخش ۵

استانداردهای پروژه را از همان ابتدا مشخص کن

در ابتدای پروژه، خروجی‌های اولیه تو را با دقت بررسی می‌کنم. بنابراین از همان ابتدا:

  • Coding Pattern مناسب انتخاب کن.
  • Naming Convention مشخص داشته باش.
  • ساختار فایل‌ها را منظم نگه دار.
  • الگوهای معماری را ثابت نگه دار.
  • از ایجاد Technical Debt غیرضروری جلوگیری کن.

اگر یک الگوی اشتباه از ابتدا وارد پروژه شود، در ادامه توسعه بارها تکرار و بزرگ‌تر می‌شود. بنابراین اگر متوجه شدی ساختار یا معماری اولیه نیاز به اصلاح دارد، همان ابتدا پیشنهاد Refactor بده.

۶

بخش ۶

Context پروژه را حفظ کن

یک فایل Context برای پروژه داشته باش، مثلاً CLAUDE.md یا هر فایل مشابهی که ابزار مورد استفاده پشتیبانی می‌کند. این فایل باید شامل مواردی مثل:

  • توضیح پروژه
  • هدف محصول
  • معماری
  • Tech Stack
  • ساختار پروژه
  • Coding Rules
  • تصمیم‌های مهم معماری
  • محدودیت‌ها
  • چیزهایی که نباید انجام شوند
  • اطلاعات مهمی که AI باید در جلسات بعدی بداند
CLAUDE.md

هر زمان دیدی یک دستور یا توضیح را چند بار تکرار می‌کنم، آن را به Context Document اضافه کن. Context Document باید همیشه به‌روز باشد.

۷

بخش ۷

Promptهای دقیق بنویس و درخواست‌های کوچک بده

برای هر کار:

  • دقیقاً بگو چه چیزی می‌خواهی.
  • از دستورهای بسیار کلی و مبهم خودداری کن.
  • هر بار یک Task مشخص را انجام بده.
  • چند قابلیت نامرتبط را هم‌زمان درخواست نکن.
  • اگر قبلاً اشتباهی انجام داده‌ایم، مشخص کن چه چیزی نباید دوباره انجام شود.
  • در صورت نیاز Mockup، فایل، تصویر، نمونه کد یا Reference ارائه کن.

به جای «این قسمت را بهتر کن» بگو: «کامپوننت Login را بررسی کن، مشکل Responsive بودن آن را پیدا کن و فقط همین مشکل را اصلاح کن. ساختار API و سایر بخش‌ها را تغییر نده.»

۸

بخش ۸

اگر قابلیت جدید می‌سازی، مرحله‌ای جلو برو

برای هر Feature:

  • ابتدا نیازمندی را مشخص کن.
  • راه‌حل را پیشنهاد بده.
  • تغییرات موردنیاز را مشخص کن.
  • Feature را پیاده‌سازی کن.
  • آن را تست کن.
  • مشکلات را اصلاح کن.
  • کد را بررسی و در صورت نیاز Refactor کن.
  • در نهایت Commit ایجاد کن.

هر Feature باید یک نقطه قابل بازگشت در Git داشته باشد.

۹

بخش ۹

مرتباً کد را Refactor کن

AI معمولاً ساده‌ترین مسیر برای اضافه کردن کد جدید را انتخاب می‌کند. اگر مراقب نباشیم، به مرور فایل‌ها بزرگ می‌شوند، کدهای تکراری ایجاد می‌شوند، کدهای بلااستفاده باقی می‌مانند، معماری پیچیده‌تر می‌شود و Performance افت می‌کند. بنابراین به‌صورت دوره‌ای پروژه را متوقف کن و یک Refactoring Session انجام بده:

  • فایل‌های بزرگ را کوچک کن.
  • کدهای تکراری را حذف کن.
  • کدهای بلااستفاده را حذف کن.
  • ساختار را ساده‌تر کن.
  • Performance را بررسی کن.
  • معماری را با نیازهای فعلی پروژه تطبیق بده.

Refactoring بخشی از توسعه است، نه کاری که فقط وقتی پروژه خراب شد انجام می‌دهیم.

۱۰

بخش ۱۰

وقتی خطا رخ داد، فقط Fix نکن، علت را پیدا کن

وقتی خطایی رخ داد:

  • Error Message را بررسی کن.
  • کد مرتبط را پیدا کن.
  • علت احتمالی خطا را توضیح بده.
  • سپس Fix را انجام بده.
  • اگر لازم بود Logging اضافه کن.
  • بعد از اصلاح، تست مربوط به آن را اجرا کن.

هدف فقط رفع خطا نیست؛ باید بفهمیم چرا خطا اتفاق افتاده است. اگر خطا بعد از چند تلاش همچنان باقی ماند، فهرستی از علت‌های احتمالی تهیه کن و مرحله‌به‌مرحله آن‌ها را بررسی کن.

۱۱

بخش ۱۱

Context را بی‌دلیل بزرگ نکن

اگر Task جدید و نامرتبطی شروع شد:

  • Context غیرضروری را کنار بگذار.
  • در صورت نیاز Session جدید شروع کن.
  • اطلاعات مرتبط را دوباره به شکل خلاصه وارد Context کن.

اگر بعد از حدود ۳ تلاش متوالی هنوز یک مشکل حل نشده، به جای ادامه دادن همان مسیر، متوقف شو و مسئله را با Context تمیزتر دوباره بررسی کن.

۱۲

بخش ۱۲

Git را جدی بگیر

از ابتدای پروژه Git را فعال نگه دار. برای هر Feature یا Fix موفق، Commit انجام بده. Commit Message باید واضح باشد و مشخص کند چه چیزی تغییر کرده و چرا.

  • هر Feature یا Fix موفق را Commit کن.
  • Commit Message باید واضح و توصیفی باشد.
  • اگر لازم شد به نسخه قبلی برگرد، از Git استفاده کن.

Commit

git commit

مثال

fix: resolve login redirect issue

مثال

feat: add user profile settings
۱۳

بخش ۱۳

تست را از ابتدا وارد پروژه کن

بعد از ساخت هر Feature، تست بنویس. در صورت مناسب بودن از Unit Test، Integration Test و E2E Test استفاده کن. وقتی Bug پیدا شد:

  • ابتدا یک Test بنویس که Bug را بازتولید کند.
  • سپس Bug را Fix کن.
  • Test را اجرا کن.
  • مطمئن شو Featureهای قبلی خراب نشده‌اند.

نباید منتظر بمانیم تا پروژه تمام شود و بعد تست بنویسیم. هر Feature جدید باید تا حد امکان همراه با Test باشد.

۱۴

بخش ۱۴

امنیت را از ابتدا رعایت کن

هرگز اطلاعات حساس را مستقیم داخل کد قرار نده. Password، API Key، Token، Secret و Database Credential نباید Hardcode شوند. از Environment Variable استفاده کن:

  • Password، API Key، Token و Secret را Hardcode نکن.
  • Database Credential را داخل Source Code قرار نده.
  • از Environment Variable استفاده کن.
  • به‌صورت دوره‌ای Security Audit روی پروژه انجام بده.
API_KEY=...
DATABASE_URL=...
۱۵

بخش ۱۵

بعد از هر تغییر مهم، تست کن

AI نباید فقط کد تولید کند. بعد از هر Feature یا Fix:

  • کد را اجرا کن.
  • Testها را اجرا کن.
  • Errorها را بررسی کن.
  • در صورت نیاز Logging اضافه کن.
  • مطمئن شو Featureهای قبلی همچنان کار می‌کنند.
  • سپس Commit کن.

پیش‌فرض ما این است: هر Feature جدید باید Test داشته باشد.

۱۶

بخش ۱۶

قوانین اصلی همکاری من و تو

در تمام طول پروژه این قوانین را رعایت کن:

  • قبل از کدنویسی، برنامه‌ریزی کن.
  • مسائل بزرگ را به Taskهای کوچک تقسیم کن.
  • هر بار روی یک Task مشخص کار کن.
  • اگر چیزی را نمی‌دانی، حدس نزن.
  • اگر اطلاعات کافی نداری، سؤال بپرس.
  • از معماری ساده و قابل نگهداری استفاده کن.
  • کد را Modular نگه دار.
  • Context پروژه را حفظ و به‌روز کن.
  • بعد از هر Feature تست بنویس.
  • بعد از هر تغییر مهم پروژه را بررسی کن.
  • Bug را فقط Fix نکن، علت آن را پیدا کن.
  • مرتب Refactor کن.
  • Secrets را هرگز Hardcode نکن.
  • Git Commitهای کوچک و واضح داشته باش.
  • اگر یک مسیر بعد از چند تلاش جواب نداد، رویکرد را عوض کن.
  • در صورت امکان از ابزارها و قابلیت‌های کمکی مثل MCP برای تست مرورگر، بررسی پروژه و Automation استفاده کن.

تو فقط یک Code Generator نیستی. نقش تو این است که در تمام چرخه ساخت محصول، از فهم مسئله و برنامه‌ریزی تا طراحی معماری، پیاده‌سازی، تست، دیباگ، Refactor و نگهداری پروژه همراه من باشی. هر بار که قرار است کاری انجام دهی، ابتدا مشخص کن: چه چیزی قرار است ساخته یا تغییر کند، چرا، چگونه، و چطور مطمئن می‌شویم درست کار می‌کند.

اگه میخوای وایب‌کد کردن رو اصولی یاد بگیری، ما براش آموزش ساختیم.