# مشخصات درس‌نامه: اتوماسیون نگهداری و توسعه؛ از تریاژ خودکار ایشیوها تا اسکریپت‌های خودترمیم - **شناسه در سیلابس:** `L15.8` - **فصل:** فصل ۱۵: تکامل محصول با AI (Ch 15) - **نوع محتوا:** 📘 درس‌نامه متنی - **زمان تقریبی مطالعه:** ۱۶ دقیقه - **پیش‌نیازهای مستقیم:** `L15.7` (ساخت گردش‌کارهای ایجنتیک خودکار) --- ## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy) دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند: - [ ] **درک کند (Understand):** مفهوم اتوماسیون نگهداری و توسعه (DevOps & Maintenance Automation) را شرح دهد و بداند چگونه کارهای روزمره و خسته‌کننده (تریاژ باگ‌ها، پاک‌سازی لاگ‌ها، ممیزی کدهای جدید) را به ربات‌های خودکار بسپارد. - [ ] **تحلیل/ارزیابی کند (Evaluate):** کاربرد اکشن‌های گیت‌هاب (GitHub Actions) و ادغام مدل‌های زبانی را در بررسی خودکار کدهای Pull Request (AI Code Reviewer) و برچسب‌گذاری ایشیوها ارزیابی کند. - [ ] **به‌کار ببندد (Apply):** یک کرون جاب (Cron Job) زمان‌بندی‌شده سرورلس برای پاک‌سازی خودکار رکوردهای موقت منقضی‌شده (کدهای پیامکی قدیمی، لاگ‌های بی‌استفاده) در Supabase پیاده نماید. - [ ] **ایجاد کند (Create):** یک اسکریپت نظارت بر تست‌های خودکار بسازد که در صورت شکست تست‌ها، خطای مربوطه را تحلیل و پیش‌نویس اصلاحیه کد را تولید کند. --- ## ۲. محدوده و مرزهای محتوا (Scope & Boundaries) ### آنچه باید پوشش داده شود (In-Scope): 1. **استعاره ربات‌های جاروبرقی هوشمند در خانه:** * شما در خواب هستید، اما ربات به طور خودکار کف خانه را جارو می‌کند، زباله‌ها را پاک می‌کند و شارژ می‌شود. 2. **اتوماسیون مخزن گیت‌هاب با اکشن‌های هوش مصنوعی (AI GitHub Actions):** * تریاژ خودکار ایشیوها (Automated Issue Triage): وقتی کاربری در گیت‌هاب ایشیو می‌زند، مدل محتوا را می‌خواند، برچسب‌های `bug` یا `enhancement` می‌زند و در صورت ناقص بودن اطلاعات، کامنت راهنما می‌گذارد. * بازبین خودکار کدها (AI Pull Request Reviewer): ربات هوشمندی که تغییرات PR را با قوانین `.cursorrules` مقایسه کرده و در صورت وجود کلید هاردکد شده یا توابع ناامن، هشدار درون‌خطی ثبت می‌کند. 3. **وظایف دوره‌ای پاک‌سازی پایگاه داده (Database Scheduled Maintenance):** * راه‌اندازی توابع زمان‌بندی‌شده ابری (Cron Triggers): - حذف رکوردهای منقضی‌شده OTP بعد از ۲۴ ساعت. - پاک‌سازی لاگ‌های قدیمی و جلوگیری از پر شدن حجم رایگان دیتابیس Supabase. 4. **اسکریپت‌های تست خودترمیم (Self-Healing Tests):** * سناریویی که در آن شکست تست به دلیل تغییر ساده نام یک کلاس Tailwind یا متن دکمه، توسط ایجنت شناسایی و فایل تست به صورت خودکار با برنچ جدید آپدیت می‌شود. 5. **ارسال گزارش خلاصه هفتگی سلامت به تلگرام سازنده:** * گزارش خودکار هفتگی: «پورتفولیو در هفته گذشته ۱۰۰٪ آپتایم داشت، ۱۲ پیام ثبت شد و ۵۰ رکورد منقضی پاک‌سازی گردید.» 6. **کال‌اوت‌های آموزشی و هشدار کوئرا:** * کال‌اوت بنفش (`
`): مفهوم کرون جاب در معماری بدون سرور با اندپوینت‌های ایمن‌شده با توکن (`CRON_SECRET`). * کال‌اوت سبز (`
`): حس شگفت‌انگیز باز کردن گیت‌هاب و دیدن کامنت‌های دقیق ربات بازبین روی کدهای جدید. * کال‌اوت قرمز (`
`): مرز باریک اتوماسیون؛ هرگز اجازه ادغام خودکار (Auto-Merge) کدهای تغییریافته به شاخه اصلی پروداکشن را به ربات‌ها ندهید. ### آنچه نباید وارد آن شویم (Out-of-Scope): - پایپ‌لاین‌های پیچیده چندمرحله‌ای کلاود AWS CodePipeline. - نوشتن افزونه‌های اختصاصی سیستم‌های مدیریت کانتینر داکر سوآرم. --- ## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms) | اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده | | :--- | :--- | :--- | | Maintenance Automation | خودکارسازی فرآیندهای نگهداری | برنامه‌ریزی سیستم‌ها برای انجام منظم کارهای اصلاحی و پاک‌سازی بدون دخالت دست انسان | | Issue Triaging | تریاژ و اولویت‌بندی ایشیوها | فرآیند دسته‌بندی، ارزیابی فوریت و تعیین تکلیف گزارش‌های باگ دریافت شده از کاربران | | Cron Job | وظیفه زمان‌بندی‌شده | فرآیندی که در ساعت‌ها یا روزهای معین به صورت خودکار در پس‌زمینه سرور اجرا می‌شود | | Self-Healing System | سیستم خودترمیم | سامانه‌ای که پس از مواجهه با خطاهای سطحی، می‌تواند به صورت خودکار اقدامات اصلاحی اولیه را انجام دهد | | PR Review Bot | ربات بازبین پول ریکوئست | ابزار هوش مصنوعی که پیش از ادغام کدهای جدید، آن‌ها را از نظر کیفیت و امنیت نقد می‌کند | --- ## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders) > **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` ذخیره شده و در جدول تک‌خانه‌ای وسط‌چین درج شوند: 1. **تصویر کاور درس:** `images/cover.png` * **موضوع:** ربات دستیار مکانیک نئونی با ابزارهای دیجیتال در حال آچارکشی خودکار کدهای یک سرور ابری در طول شب. 2. **جریان کار ربات بازبین هوش مصنوعی در گیت‌هاب:** `images/ai-pr-reviewer-flow.png` * **موضوع:** دیاگرام فرآیند: ارسال PR جدید $\rightarrow$ وب‌هوک گیت‌هاب اکشن $\rightarrow$ تحلیل تغییرات با پرامپت قوانین $\rightarrow$ ثبت کامنت‌های بازبینی هوشمند روی خطوط کد. 3. **نمونه کامنت ربات هوش مصنوعی روی پول ریکوئست:** `images/github-ai-bot-comment-preview.png` * **موضوع:** اسکرین‌شات از گیت‌هاب با کامنت ربات: «نکته امنیتی: به نظر می‌رسد این متغیر نباید NEXT_PUBLIC_ باشد» و تایید سایر خطوط. 4. **گزارش تلگرامی کرون جاب پاک‌سازی دوره‌ای:** `images/telegram-cron-health-report.png` * **موضوع:** اسکرین‌شات از پیام ربات تلگرام با خلاصه اقدامات نگهداری نیمه‌شب و وضعیت پایدار دیتابیس. --- ## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`) 1. **تیتر اصلی:** `# اتوماسیون نگهداری و توسعه؛ از تریاژ خودکار ایشیوها تا اسکریپت‌های خودترمیم` 2. **مقدمه:** چگونه کاری کنیم که پروژه حتی زمانی که ما در تعطیلات هستیم، خودش را تمیز کند، باگ‌هایش را گزارش دهد و کدهای جدید را بازرسی نماید؟ 3. **جدول کاور درس** 4. **استعاره سرایدار شبانه‌روزی هوشمند ساختمان:** * چک کردن شیرهای آب، بیرون گذاشتن زباله‌ها و ثبت ترددها بدون بیدار کردن ساکنان. 5. **ساخت ربات بازبین کد (AI Code Reviewer) با GitHub Actions:** * نوشتن یک فایل YAML ساده در `.github/workflows/ai-review.yml`. * ارسال کدهای تغییریافته به مدل زبانی و دریافت بازخورد خودکار. 6. **تریاژ خودکار گزارش‌های باگ در گیت‌هاب:** * تشخیص نوع ایشیو و افزودن خودکار برچسب‌های رنگی. 7. **پاک‌سازی دوره‌ای دیتابیس با وظایف زمان‌بندی‌شده (Cron Jobs):** * ساخت روت امن `/api/cron/cleanup` در Next.js با احراز هویت توکن `CRON_SECRET`. * حذف خودکار رکوردهای باطله و حفظ سلامت جداول. 8. **جعبه پرامپت طلایی: طراحی ورک‌فلو گیت‌هاب اکشن برای بازبینی خودکار کد با ایجنت:** * پرامپت دقیق: > «من می‌خواهم یک GitHub Action بنویسم که در هنگام ثبت هر Pull Request جدید، تفاوت کدها (Git Diff) را به API هوش مصنوعی بفرستد و بر اساس راهنمای سبک کدنویسی من، کامنت‌های بهبود ساختار و هشدارهای امنیتی را مستقیماً روی PR ثبت کند. فایل کامل YAML و اسکریپت مربوطه را برایم بساز.» 9. **باکس نکته Quera (`
`):** استفاده از سرویس‌های رایگان کرون مانند cron-job.org برای فراخوانی منظم روت‌های پاک‌سازی سرورلس. 10. **باکس هشدار Quera (`
`):** هرگز کلیدهای اکشن گیت‌هاب را بدون ماسک در فایل YAML ننویسید؛ همیشه از GitHub Secrets استفاده کنید. 11. **باکس رضایت‌بخش Quera (`
`):** ایجاد یک PR آزمایشی و شگفت‌زده شدن از دیدن کامنت‌های فنی و موشکافانه ربات در کمتر از ۳۰ ثانیه. 12. **جمع‌بندی درس‌نامه:** تسلط بر اتوماسیون وظایف روزمره؛ ورود به دنیای استخراج بینش عمیق از داده‌های محصول با هوش مصنوعی در درس بعدی. --- ## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) - [ ] اصول و مزایای اتوماسیون نگهداری در عصر وایب کدینگ تبیین شود. - [ ] نحوه پیاده‌سازی ربات بازبین کد در GitHub Actions آموزش داده شود. - [ ] طراحی روت‌های زمان‌بندی‌شده (Cron Jobs) برای پاک‌سازی دیتابیس ارائه گردد. - [ ] نمونه کدهای امنیتی برای محافظت از اندپوینت‌های کرون در متن درس گنجانده شود.