Files
boursecu_landing/AI_TEAM_PROMPT.md
T

8.5 KiB
Raw Blame History

دستورالعمل اجباری برای هوش مصنوعی — پروژه ابشوده / خانگی

این فایل را کامل به AI بده (Project Rules / Custom Instructions / System prompt).
هدف: توکن کمتر، یادگیری پایدار، حل سریع اصل کار، بدون تغییر الکی.


۱) با هر پرامپت کاربر — همین ترتیب

  1. اصل قضیه را یک خط مشخص کن (یک باگ / یک UI / یک فیچر).
  2. مسیر را از نقشه و یادداشت بگیر — کل ریپو را سرچ نکن.
  3. فقط ۱ تا ۳ فایل مربوط را باز/پچ کن.
  4. تمام کن؛ جواب کوتاه بده.
  5. یک خط یادداشت بخش بنویس (پایین ببین) تا دفعهٔ بعد فراموش نشود.
پرامپت → اصل کار → نقشه/یادداشت → Grep فقط همان پوشه → پچ محدود → یادداشت → تمام

ممنوع (سوخت توکن)

  • دوباره پیدا کردن فایلی که در نقشه/یادداشت هست
  • explore / گشت سراسری برای «X کجاست؟»
  • خواندن کل فایل بلند وقتی چند ده خط کافی است
  • refactor یا «درست کردن» فایل‌های هم‌جوار بدون درخواست
  • کپی پچ به سیستم/اپ دیگر «برای کامل بودن»

۲) محدودهٔ تغییر — حساس

  • فقط همان چیزی که کاربر گفته؛ جای بی‌ربط را دست نزن.
  • مبهم بود (هدف، اپ، برنچ، سیستم حسابداری) → بپرس؛ حدس نزن.
  • روی برنچ فعلی بمان؛ checkout/merge به برنچ دیگر بدون اجازه ممنوع.
  • هر زیرپروژه git جدا دارد؛ فقط همان ریپوی مربوط را عوض کن.
کار فقط این ریپو
ادمین khaneghi_admin
API / SQL khaneghi_server
اپ کاربر khaneghi_user + تم + ghatreh_user (هر سه اگر رفتاری است)
سوپرادمین controlpanel_server / controlpanel_user
بورس مس فقط با درخواست صریح

۳) حسابداری — قانون سخت

سیستم‌ها جدا هستند: زرین (zarin) / ته‌حساب (tahesab) / پرگار (pargar).

  1. اگر گفت حسابداری/سند/سینک مشتری و نام نبرد → اول بپرس کدام؟
  2. تا جواب ندادی کد نزن و فایل سیستم دیگر را باز نکن.
  3. پچ یک سیستم را به بقیه کپی نکن مگر در همان پیام صریح بگوید.

۴) یادگیری قوی — یادداشت بخش‌ها

هر کار تمام‌شده را در دفتر پروژه ثبت کن (اگر در این ریپو هست:
.cursor/skills/abshode-domain-lookup/learned-notes.md):

- YYYY-MM-DD | موضوع | مسیر فایل(ها) | نکتهٔ ۱ خطی

قبل از هر Grep سراسری: یادداشت‌ها را بخوان.
اگر مسیر آنجا بود، دوباره سرچ نکن.


۵) نقشهٔ سریع مسیرها

موضوع کجا
تنظیمات ادمین khaneghi_admin/src/pages/menuPages/configuration/
فلگ منو از settings khaneghi_admin/src/utils/config.ts
مشتریان khaneghi_admin/src/pages/menuPages/customers/
همگام ته‌حساب …/accounting/components/TahesabCustomerSync.vue, TahesabWalletBulkSync.vue
کد حساب همکار …/colleagueOrders/components/ColleagueAccountingAccounts.vue
API ته‌حساب (فرانت) khaneghi_admin/src/api/tahesab.ts
تنظیمات سرور / overlay سوپرادمین SuperAdminProgramSettingsOverlay, SettingsController
deploy settings khaneghi_server/database/sql/deploy_settings_const.sql — value موجود را UPDATE نکن
قیمت ویژه مشتری customer_special_pricing + منوی customers/special-price

نقشهٔ کامل‌تر (اگر موجود): .cursor/skills/abshode-domain-lookup/project-map.md


۶) فرانت — زیاد از Ant + UnoCSS + lodash استفاده کن

اولویت:

  1. BasicPacks پروژه (دکمه/آیکون/اینپوت/مدال) اگر هست
  2. Ant Design Vue (a-button, a-input, a-table, a-spin, a-form, …)
  3. UnoCSS برای layout و فاصله (flex, grid, gap-*, w-full, min-w-0, sm:)
  4. lodash برای داده (get, debounce, cloneDeep, isEmpty, …) — helper تکراری ننویس
  5. CSS/<style> فقط وقتی utility کافی نیست (توکن تم، انیمیشن خاص)
❌ button خام + CSS بزرگ برای layout
✅ Ant/Basic + کلاس‌های Uno روی تمپلیت + lodash برای منطق داده
  • BasicButton را با :deep برای عوض کردن layout داخلی خراب نکن.
  • رنگ: توکن تم؛ از bg-primary/10 روی CSS variable پرهیز کن (اغلب می‌شکند).

۷) UI حرفه‌ای — عینک گرافیک‌کار

  • هر بلوک جدید: عنوان + یک خط راهنما (این کار چیست / دکمه کی زده شود).
  • باکس‌بندی خوب است؛ فضای مرده بد است — کارت عریض با محتوا فقط در یک گوشه ممنوع.
    • یا sm:grid-cols-2 / flex تا پر شود، یا عرض باکس را محدود کن.
  • موبایل: اکشن زیر توضیح (flex-col).
  • دسکتاپ: کنار یا ستون دوم پر (sm:flex-row / sm:grid).
  • نسبت سرچ و دکمه:
    • موبایل: سرچ w-full؛ بعد دکمه‌ها با عرض مساوی (grid / 1fr).
    • اینپوت باریک کنار دکمهٔ پهن در یک ردیف wrap = زشت → ممنوع.
  • بنر گرادیان جیغ و دکمهٔ block تمام‌عرض الکی ممنوع مگر اکشن اصلی صفحه باشد.
  • فشرده باش: p-2.5 / gap-2؛ عدد و padding غول‌پیکر نگذار.

۸) مهندسی بک‌اند / فرانت — بدون باگ الکی

  • یک مسئولیت در هر کامپوننت / متد / سرویس؛ خدا-فایل نساز.
  • UI نازک؛ منطق سنگین در composable یا Service.
  • Controller نازک → Service؛ SQL و business را قاطی نکن.
  • خطا، خالی، timeout، دوبار کلیک / race را طراحی کن (running قفل، early return).
  • الگوی همان پوشه را کپی کن؛ اختراع ساختار جدید نکن مگر لازم باشد.
  • نام‌گذاری گویا؛ قرارداد API فرانت و بک یکی باشد.

۹) سوپرادمین / تنظیمات دسترسی

  • کلیدهای دسترسی مشتری (customer_special_pricing, has_page_*, …) مال سوپرادمین‌اند؛ در پنل خانگی معمولاً فقط‌خواندنی.
  • منوی وابسته به فلگ باید از get_settings / overlay زنده بیاید؛ کش کهنه برای این کلیدها مطلوب نیست.
  • دکمهٔ بروزرسانی تنظیمات پیشرفته باید همگام زنده از سوپرادمین را هم بزند اگر فلگ منو می‌خواهد عوض شود.

۱۰) چک قبل از اتمام

  • diff فقط به درخواست مربوط است؟
  • سیستم حسابداری / اپ / برنچ اشتباه درگیر نشده؟
  • اگر مبهم بود سؤال شد؟
  • یادداشت یک‌خطی نوشته شد؟
  • UI: راهنما + بدون فضای مرده + نسبت سرچ/دکمه درست؟
  • Ant / Uno / lodash به‌جای reinvent؟
  • جواب کوتاه است؛ توضیح اضافه نداری؟

۱۱) نمونهٔ رفتار درست / غلط

❌ «همگام‌سازی مشتری خراب» → هر سه زرین/ته‌حساب/پرگار را عوض کند
✅ بپرسد کدام؟ بعد فقط همان

❌ UI یک کارت → کل صفحه accounting را redesign کند
✅ فقط همان کارت / همان فایل

❌ هر بار از صفر Grep مونوریپو
✅ learned-notes + project-map → مستقیم فایل

❌ CSS سفارشی ۵۰ خط برای flex ساده
✅ class="flex flex-col gap-2 sm:grid sm:grid-cols-2"

پایان. این سند را به‌روز نگه دار؛ نکات جدید حساس را همین‌جا یا در learned-notes.md اضافه کن.