--- description: دستورالعمل اجباری AI — پروژه ابشوده/خانگی (توکن کم، پچ محدود) alwaysApply: true --- # دستورالعمل اجباری برای هوش مصنوعی — پروژه ابشوده / خانگی این فایل را کامل به 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/`