feat: add chapter 03-workspace-setup specs
This commit is contained in:
80
chapters/03-workspace-setup/00-lesson-chapter-goals/spec.md
Normal file
80
chapters/03-workspace-setup/00-lesson-chapter-goals/spec.md
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# مشخصات درسنامه: اهداف فصل سوم (Chapter Goals)
|
||||||
|
- **شناسه در سیلابس:** `L3.1`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📘 درسنامه متنی
|
||||||
|
- **زمان تقریبی مطالعه:** ۵ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** `L2.7` و آزمون `Q2.1`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||||
|
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||||
|
- [ ] **درک کند (Understand):** چرا راهاندازی یک محیط کار حرفهای و آماده، تفاوت میان توسعهدهنده سردرگم و وایب کدر توانمند و پرسرعت را رقم میزند.
|
||||||
|
- [ ] **درک کند (Understand):** نقشه راه ۸ درسنامه کاربردی این فصل (از ابزارهای پایه و ادیتورها تا ایجنتهای ترمینال، ابزارهای وب، Git، پروتکل MCP و آناتومی پروژه) چگونه چیده شده است.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** شیوه استفاده از راهنماهای چندسکویی (Cross-Platform) دوره را بشناسد و بر اساس سیستمعامل خود (ویندوز، مک یا لینوکس) دستورالعملهای کشویی اختصاصی را دنبال کند.
|
||||||
|
- [ ] **درک کند (Understand):** ساختار آزمون تستی ۱۰۰ امتیازی پایانی فصل (`Q3.1`) که تسلط عملی او بر ابزارها را میسنجد چیست.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||||
|
|
||||||
|
### آنچه باید پوشش داده شود (In-Scope):
|
||||||
|
1. **خوشآمدگویی به فاز عملیاتی دوره:** گذر از تئوریهای فصل ۲ به آمادهسازی واقعی کامپیوتر برای خلق نرمافزار.
|
||||||
|
2. **مرور سرفصلهای فصل ۳:**
|
||||||
|
* درس ۳.۲: آمادهسازی سیستم، مرورگر مدرن، Node.js، اکانتها و رفع موانع اتصال.
|
||||||
|
* درس ۳.۳: ویرایشگرهای هوشمند دسکتاپ (Cursor، Antigravity و اپهای دسکتاپ).
|
||||||
|
* درس ۳.۴: ایجنتهای پیشرو ترمینال (Claude Code، Codex CLI و ابزارهای خط فرمان).
|
||||||
|
* درس ۳.۵: ابزارهای وب و مرورگری بدون نیاز به نصب (Lovable و Bolt).
|
||||||
|
* درس ۳.۶: سیستم کنترل نسخه Git و گیتهاب به زبان ساده (ماشین زمان کدها).
|
||||||
|
* درس ۳.۷: اتصال سوپرپاورها به هوش مصنوعی با Skillها و پروتکل فراگیر MCP.
|
||||||
|
* درس ۳.۸: کالبدشکافی ساختار فایلها و پوشههای یک پروژه نرمافزاری مدرن.
|
||||||
|
3. **قاعده استاندارد چندسکویی (Cross-Platform Rule):**
|
||||||
|
* توضیح اینکه تمام آموزشهای نصب و اجرای دستورات در سراسر این فصل در قالب زبانههای کشویی مجزا (`<details>`) برای سه سیستمعامل Windows، macOS و Linux ارائه شده است.
|
||||||
|
4. **معرفی آزمون تستی فصل (`Q3.1`):** آزمون تستی ۱۰ سوالی ۱۰۰ امتیازی برای تثبیت مهارتهای محیط کار.
|
||||||
|
5. **کالاوت نکته کوئرا (`<details class="green">`):** لزوم انجام عملی تکتک مراحل همزمان با مطالعه درسنامهها.
|
||||||
|
|
||||||
|
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||||
|
- ورود به جزئیات نصب ابزارهای خاص در این درس مقدماتی (در درسهای ۳.۲ تا ۳.۷ ارائه میشود).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||||
|
|
||||||
|
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| Workspace / Environment | محیط کار توسعه | مجموعه نرمافزارها، ابزارها و ترمینال نصبشده روی رایانه برای ساخت پروژه |
|
||||||
|
| Cross-Platform | چندسکویی | سازگاری نرمافزارها و دستورالعملها با سیستمعاملهای مختلف (ویندوز، مک، لینوکس) |
|
||||||
|
| CLI (Command Line Interface) | رابط خط فرمان | محیط متنی ترمینال برای اجرای مستقیم دستورات سیستمی |
|
||||||
|
| MCP (Model Context Protocol) | پروتکل کانتکست مدل | استاندارد اتصال مدل هوش مصنوعی به منابع داده و ابزارهای بیرونی |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
|
||||||
|
|
||||||
|
1. **تصویر کاور درس:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور مدرن با تم تیره که میز کار توسعهدهنده مدرن را با مانیتورهای فعال، محیطهای کدنویسی هوشمند و ابزارهای متصل نشان میدهد.
|
||||||
|
2. **نقشه راه فصل ۳:** `images/chapter-3-roadmap.png`
|
||||||
|
* **موضوع:** اینفوگرافیک گامبهگام از آمادهسازی سیستم $\rightarrow$ ادیتورهای دسکتاپ $\rightarrow$ ایجنتهای ترمینال $\rightarrow$ ابزارهای وب $\rightarrow$ گیت $\rightarrow$ MCP $\rightarrow$ آناتومی پروژه $\rightarrow$ آزمون تستی ۱۰۰ امتیازی.
|
||||||
|
3. **جعبهابزار نهایی دانشجو در پایان فصل:** `images/final-workspace-stack.png`
|
||||||
|
* **موضوع:** نمایش هماهنگ و یکپارچه ابزارهایی که تا پایان فصل روی سیستم کاربر آماده به کار خواهند بود.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||||
|
|
||||||
|
1. **تیتر اصلی:** `# اهداف فصل سوم: راهاندازی محیط کار`
|
||||||
|
2. **مقدمه کوتاه:** چرا داشتن یک جعبهابزار مهیا، کلید روانی و سرعت بالای وایب کدینگ است؟
|
||||||
|
3. **جدول کاور درس**
|
||||||
|
4. **سرفصلهای فصل سوم در یک نگاه:** معرفی کوتاه ابزارها و مفاهیم پیش رو.
|
||||||
|
5. **جدول نقشه راه فصل**
|
||||||
|
6. **راهنمای سیستمعاملها (Cross-Platform Guide):** توضیح شیوه دسترسی به دستورات مخصوص ویندوز، مک و لینوکس با منوهای کشویی.
|
||||||
|
7. **آزمون تستی ۱۰۰ امتیازی فصل:** یادآوری هدفگذاری برای کسب حداکثر امتیاز.
|
||||||
|
8. **کالاوت کوئرا (`<details class="green">`):** ثبت دکمه «خواندم» و آغاز تجهیز سیستم.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] لحن متن پرانرژی، راهنما و شفاف باشد.
|
||||||
|
- [ ] راهنمای ساختار چندسکویی (پشتیبانی از ویندوز، مک و لینوکس با کشوهای اختصاصی) تاکید شده باشد.
|
||||||
|
- [ ] مسیر تمام درسهای فصل به همراه آزمون پایانی با وضوح بیان شده باشد.
|
||||||
101
chapters/03-workspace-setup/01-lesson-system-prep/spec.md
Normal file
101
chapters/03-workspace-setup/01-lesson-system-prep/spec.md
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# مشخصات درسنامه: آمادهسازی سیستم (System Preparation)
|
||||||
|
- **شناسه در سیلابس:** `L3.2`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📘 درسنامه متنی
|
||||||
|
- **زمان تقریبی مطالعه:** ۱۵ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** `L3.1` (اهداف فصل سوم)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||||
|
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||||
|
- [ ] **بهکار ببندد (Apply):** ابزارهای پایه موتور اجرایی وب (Node.js نسخه پایدار LTS و مدیر پکیج npm) را روی سیستمعامل خود (ویندوز، مک یا لینوکس) با استفاده از راهنمای اختصاصی کشویی نصب و بررسی کند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** ترمینال مدرن و بهینهسازیشده را روی سیستم خود راهاندازی کند و فرمانهای پایهای بررسی نسخه (`node -v` و `npm -v`) را به درستی اجرا نماید.
|
||||||
|
- [ ] **تحلیل/ارزیابی کند (Evaluate):** خطای متداول محدودیت اجرای اسکریپتها در پاورشل ویندوز (PowerShell Execution Policy) را شناسایی و با دستور مجاز رفع کند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** حسابهای کاربری ضروری توسعه (GitHub، سرویسهای هوش مصنوعی و پلتفرمهای ابری) را با رعایت نکات پایداری آیپی و ایمن ایجاد کند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** مرورگر استاندارد توسعه وب (گوگل کروم یا بریو) را برای بازرسی و مشاهده زنده پروژهها آماده سازد.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||||
|
|
||||||
|
### آنچه باید پوشش داده شود (In-Scope):
|
||||||
|
1. **چکلیست نیازمندیهای پایه سیستم:**
|
||||||
|
* سیستمعامل بهروز (ویندوز ۱۰/۱۱، مکاواس یا توزیعهای لینوکس).
|
||||||
|
* حداقل حافظه رم پیشنهادی (۸ گیگابایت به بالا) و اتصال اینترنت پایدار.
|
||||||
|
2. **نصب Node.js (موتور اجرای جاوااسکریپت و وب مدرن):**
|
||||||
|
* انتخاب نسخه پایدار (LTS - Long Term Support) و چرایی پرهیز از نسخه Current برای نوآموزان.
|
||||||
|
* **راهنمای نصب چندسکویی در قالب ۳ منوی کشویی مجزا:**
|
||||||
|
* `<details><summary>راهنمای نصب در ویندوز (Windows)</summary> ... </details>`: دانلود اینستالر رسمی MSI و تنظیم پیشفرضها.
|
||||||
|
* `<details><summary>راهنمای نصب در مکاواس (macOS)</summary> ... </details>`: استفاده از پکیج رسمی یا دستور Homebrew (`brew install node`).
|
||||||
|
* `<details><summary>راهنمای نصب در لینوکس (Linux - Ubuntu/Debian)</summary> ... </details>`: استفاده از مخازن NodeSource یا دستور `apt install nodejs npm`.
|
||||||
|
3. **تست و بررسی درستی نصب در ترمینال:**
|
||||||
|
* ارائه دستورات بررسی سلامت با منوهای کشویی متناظر سیستمعاملها (`node -v` و `npm -v`).
|
||||||
|
4. **تنظیمات حیاتی ترمینال در ویندوز (رفع خطای اسکریپت):**
|
||||||
|
* حل خطای معروف `PSSecurityException` و `running scripts is disabled` با اجرای دستور ایمن:
|
||||||
|
`Set-ExecutionPolicy RemoteSigned -Scope CurrentUser`
|
||||||
|
5. **مرورگر وب مدرن برای توسعهدهندگان:**
|
||||||
|
* نصب Google Chrome یا Brave و آشنایی بسیار اولیه با کلید `F12` یا راستکلیک و گزینه `Inspect` (ابزار بازرسی عناصر).
|
||||||
|
6. **ساخت حسابهای کاربری حیاتی:**
|
||||||
|
* ثبتنام در **GitHub** (خانه پروژههای نرمافزاری).
|
||||||
|
* ساخت حساب در پلتفرمهای هوش مصنوعی (Anthropic Claude یا OpenAI / OpenRouter).
|
||||||
|
7. **کالاوتهای Quera:**
|
||||||
|
* `<details class="red">`: حل خطای دسترسی اسکریپت در ویندوز (رفع باگ PowerShell).
|
||||||
|
* `<details class="violet">`: پایداری آیپی حین ساخت اکانتهای خارجی جهت جلوگیری از بلاک شدن خودکار.
|
||||||
|
|
||||||
|
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||||
|
- نصب ادیتور Cursor (در درس ۳.۳ پوشش داده میشود).
|
||||||
|
- نصب ایجنتهای ترمینال مثل Claude Code (در درس ۳.۴ ارائه میشود).
|
||||||
|
- آموزش تخصصی دستورات گیت (درس ۳.۶).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||||
|
|
||||||
|
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| Node.js LTS | نسخه پایدار نود جیاس | محیط اجرای جاوااسکریپت در خارج از مرورگر با حداکثر سازگاری و کمترین باگ |
|
||||||
|
| npm (Node Package Manager) | مدیر بستههای نود | مخزن و ابزار دانلود و مدیریت ابزارها و کتابخانههای نرمافزاری |
|
||||||
|
| Execution Policy | سیاست اجرای اسکریپت | لایه امنیتی ویندوز برای کنترل امکان اجرای اسکریپتهای خط فرمان |
|
||||||
|
| DevTools / Inspect | ابزارهای توسعه مرورگر | پنل داخلی مرورگر برای دیدن ظاهر، کدهای صفحه و خطاهای بصری وب |
|
||||||
|
| Single IP Consistency | ثبات آدرس اینترنتی | استفاده از لوکیشن مشخص جهت پیشگیری از هشدارهای تقلب سرویسهای خارجی |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
|
||||||
|
|
||||||
|
1. **تصویر کاور درس:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور با تم تیره و لوگوهای Node.js، GitHub، ترمینال و ویندوز/مک که آمادهسازی موتور محرک سیستم را تداعی میکند.
|
||||||
|
2. **چکلیست آمادهسازی سیستم:** `images/system-prep-checklist.png`
|
||||||
|
* **موضوع:** اینفوگرافیک ۴ تیک سبز طلایی: ۱. مرورگر بهینه $\rightarrow$ ۲. Node.js LTS $\rightarrow$ ۳. اکانت GitHub $\rightarrow$ ۴. محیط ترمینال سالم.
|
||||||
|
3. **تست سلامت نود و npm در ترمینال:** `images/terminal-version-check.png`
|
||||||
|
* **موضوع:** اسکرینشات تمیز از خروجی دستورات `node -v` و `npm -v` با کادر تایید سبز.
|
||||||
|
4. **حل خطای PowerShell در ویندوز:** `images/powershell-execution-fix.png`
|
||||||
|
* **موضوع:** اسکرینشات قبل و بعد: خطای قرمزرنگ اسکریپت در برابر حل آن با دستور `Set-ExecutionPolicy`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||||
|
|
||||||
|
1. **تیتر اصلی:** `# آمادهسازی سیستم: گام اول تجهیز محیط کار`
|
||||||
|
2. **مقدمه:** چرا به این ابزارهای پیشنیاز احتیاج داریم؟
|
||||||
|
3. **جدول کاور درس**
|
||||||
|
4. **چکلیست پیشنیازهای سختافزاری و نرمافزاری:** مشخصات حداقلی و ایدهآل سیستم.
|
||||||
|
5. **نصب Node.js (نسخه LTS):**
|
||||||
|
* چرایی اهمیت Node.js در توسعه مدرن.
|
||||||
|
* ۳ زبانه کشویی برای Windows، macOS و Linux.
|
||||||
|
6. **بررسی صحت نصب در ترمینال:** تست نسخهها با منوهای کشویی سیستمعاملها.
|
||||||
|
7. **باکس هشدار و رفع خطای Quera (`<details class="red">`):** تنظیم Execution Policy در PowerShell ویندوز.
|
||||||
|
8. **مرورگر استاندارد توسعه و نگاهی به DevTools:** معرفی Chrome/Brave و پنجره Inspect.
|
||||||
|
9. **ساخت حسابهای کاربری ضروری (GitHub و سرویسهای AI):** گامهای عضویت امن.
|
||||||
|
10. **باکس نکته Quera (`<details class="violet">`):** نکات پایداری آیپی حین ساخت حسابها.
|
||||||
|
11. **جمعبندی درسنامه:** اعلام سبز شدن تمام چراغهای پایه سیستم برای ورود به ابزارهای هوش مصنوعی.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] برای تمامی مراحل نصب و بررسی، منوهای کشویی جداگانه برای Windows، macOS و Linux وجود داشته باشد.
|
||||||
|
- [ ] راهکار حل خطای اسکریپت در PowerShell ویندوز با دستور دقیق و امن ارائه شده باشد.
|
||||||
|
- [ ] نسخه پیشنهادی Node.js حتماً LTS باشد و دلیل پرهیز از نسخه آزمایشی ذکر شده باشد.
|
||||||
|
- [ ] راهنمای ساخت حسابهای GitHub با لحن تشویقی و صریح همراه با نکات احتیاطی پوشش داده شود.
|
||||||
98
chapters/03-workspace-setup/02-lesson-desktop-apps/spec.md
Normal file
98
chapters/03-workspace-setup/02-lesson-desktop-apps/spec.md
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
# مشخصات درسنامه: ابزارهای دسکتاپ (Cursor، Antigravity و اپهای دسکتاپ AI)
|
||||||
|
- **شناسه در سیلابس:** `L3.3`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📘 درسنامه متنی
|
||||||
|
- **زمان تقریبی مطالعه:** ۱۵ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** `L3.2` (آمادهسازی سیستم)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||||
|
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||||
|
- [ ] **بهکار ببندد (Apply):** ویرایشگر هوشمند Cursor را روی سیستمعامل خود (ویندوز، مک، لینوکس) با استفاده از راهنمای کشویی دانلود و نصب کند.
|
||||||
|
- [ ] **درک کند (Understand):** آناتومی و بخشهای اصلی رابط کاربری Cursor شامل: درخت فایلها (File Tree)، پنجره چت هوش مصنوعی (`Ctrl+L`) و حالت کامپوزر یا ایجنت چندفایلی (`Ctrl+I`) چگونه کار میکنند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** مدلهای هوش مصنوعی مورد نظر (Claude 3.5 Sonnet و GPT-4o) را در تنظیمات ادیتور انتخاب و آماده به کار سازد.
|
||||||
|
- [ ] **درک کند (Understand):** جایگاه سایر ابزارهای دسکتاپ مانند Antigravity IDE و اپلیکیشنهای کمکی رومیزی (ChatGPT Desktop و Claude Desktop) در چرخه توسعه محصول چیست.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** کلیدهای میانبر اصلی کار با هوش مصنوعی در ادیتور دسکتاپ را به حافظه بسپارد و اولین تعامل تستی را اجرا کند.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||||
|
|
||||||
|
### آنچه باید پوشش داده شود (In-Scope):
|
||||||
|
1. **معرفی Cursor به عنوان خانه اصلی کدنویسی در این دوره:**
|
||||||
|
* چرا Cursor بر پایه VS Code ساخته شده و چرا تجربه کاربری آن برای کار با ایجنتهای هوش مصنوعی ایدهآل است.
|
||||||
|
2. **راهنمای نصب چندسکویی Cursor (با منوهای کشویی جداگانه):**
|
||||||
|
* `<details><summary>راهنمای نصب در ویندوز (Windows)</summary> ... </details>`: دانلود اینستالر، نصب و تنظیم در منوی راستکلیک.
|
||||||
|
* `<details><summary>راهنمای نصب در مکاواس (macOS)</summary> ... </details>`: دانلود پکیج dmg یا یونیورسال، انتقال به Applications و فعالسازی فرمان `code`/`cursor` در ترمینال.
|
||||||
|
* `<details><summary>راهنمای نصب در لینوکس (Linux - AppImage / Deb)</summary> ... </details>`: شیوه اجرای پکیج با دسترسی اجرایی (`chmod +x`).
|
||||||
|
3. **تور تصویری رابط کاربری Cursor (Interface Tour):**
|
||||||
|
* سایدبار و نوار فایلها (File Explorer).
|
||||||
|
* تب ویرایشگر اصلی و پیشنمایش.
|
||||||
|
* پنل چت هوشمند (`Ctrl+L` / `Cmd+L`) برای سوالات و توضیحات کد.
|
||||||
|
* حالت کامپوزر / ایجنت (`Ctrl+I` / `Cmd+I`) برای ایجاد و ویرایش همزمان چندین فایل در پروژه.
|
||||||
|
4. **انتخاب و جابجایی مدلها (Model Selection):**
|
||||||
|
* نحوه سوئیچ بین Claude 3.5 Sonnet، GPT-4o و مدلهای بهینه دیگر در تنظیمات.
|
||||||
|
5. **معرفی ابزارهای تکمیلی دسکتاپ (Antigravity و همراهان هوشمند):**
|
||||||
|
* معرفی **Antigravity IDE** و ویژگیهای مدرن ارکستراسیون ایجنتها.
|
||||||
|
* اپلیکیشنهای دسکتاپ ChatGPT و Claude Desktop برای اشتراکگذاری سریع صفحه و چت فرادادهای.
|
||||||
|
6. **کالاوتهای Quera:**
|
||||||
|
* `<details class="violet">`: کلیدهای میانبر جادویی Cursor که هر وایب کدری باید مثل موم در دست داشته باشد.
|
||||||
|
* `<details class="green">`: انتقال تنظیمات و افزونهها از VS Code به Cursor تنها با یک کلیک در نخستین ورود (One-Click Migration).
|
||||||
|
|
||||||
|
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||||
|
- راهاندازی ایجنتهای خط فرمان و ترمینال مثل Claude Code (در درس ۳.۴).
|
||||||
|
- پیکربندی عمیق سرورهای MCP (در درس ۳.۷).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||||
|
|
||||||
|
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| Cursor IDE | محیط توسعه کرسر | ویرایشگر پیشرفته بر پایه VS Code با هوش مصنوعی بومیسازیشده در هسته |
|
||||||
|
| Composer / Agent Mode | حالت کامپوزر / ایجنت | قابلیت ویرایش، ساخت و اصلاح خودکار همزمان چندین فایل با یک پرامپت در ادیتور |
|
||||||
|
| In-line Editing | ویرایش درونخطی | درخواست اصلاح یا بازنویسی بخشی از یک فایل مشخص با کلید میانبر `Ctrl+K` |
|
||||||
|
| Context Indexing | نمایهسازی کانتکست کدبیس | فرآیند اسکن خودکار تمام فایلهای پروژه توسط ادیتور برای فهم بهتر روابط کدها |
|
||||||
|
| One-Click Migration | مهاجرت با یک کلیک | انتقال فوری تمامی تمها، کلیدها و افزونهها از VS Code به محیط Cursor |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
|
||||||
|
|
||||||
|
1. **تصویر کاور درس:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور مدرن نمایشدهنده رابط نرمافزار Cursor با کدهای رنگی و پنجرههای تعاملی کامپوزر در فضای کار تاریک.
|
||||||
|
2. **تور رابط کاربری کرسر:** `images/cursor-interface-tour.png`
|
||||||
|
* **موضوع:** اسکرینشات برچسبگذاریشده از نمای اصلی Cursor شامل نوار ابزار، بخش کاوشگر فایل، ادیتور کد و پنل چت هوش مصنوعی.
|
||||||
|
3. **قدرت کامپوزر چندفایلی در عمل:** `images/composer-mode-demo.png`
|
||||||
|
* **موضوع:** نمایش تصویری پنجره Composer در حال تغییر همزمان ۳ فایل با تیکهای سبز تایید تغییرات.
|
||||||
|
4. **انتخاب مدلهای هوش مصنوعی در تنظیمات:** `images/cursor-models-settings.png`
|
||||||
|
* **موضوع:** اسکرینشات راهنمای بخش منوی انتخاب مدلها (Claude 3.5 Sonnet / GPT-4o) در تنظیمات Cursor.
|
||||||
|
5. **اکوسیستم اپهای دسکتاپ:** `images/desktop-apps-ecosystem.png`
|
||||||
|
* **موضوع:** تصویر شماتیک چهارگانه: Cursor + Antigravity + Claude Desktop + ChatGPT Desktop.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||||
|
|
||||||
|
1. **تیتر اصلی:** `# ابزارهای دسکتاپ: ورود به دنیای ویرایشگرهای هوشمند`
|
||||||
|
2. **مقدمه:** چرا یک ویرایشگر متصل به هوش مصنوعی صدها برابر کارآمدتر از تبهای مرورگر است؟
|
||||||
|
3. **جدول کاور درس**
|
||||||
|
4. **دانلود و نصب Cursor:**
|
||||||
|
* ۳ زبانه کشویی اختصاصی برای Windows، macOS و Linux.
|
||||||
|
5. **باکس نکته Quera (`<details class="green">`):** انتقال آنی اکستنشنها و تنظیمات از VS Code به Cursor.
|
||||||
|
6. **کالبدشکافی رابط کاربری Cursor (تور تصویری):** شرح فایلها، ادیتور و تبها.
|
||||||
|
7. **دو ستون اصلی تعامل: چت (`Ctrl+L`) در برابر کامپوزر (`Ctrl+I`):** تفاوت پرسش ساده با ایجنت چندفایلی.
|
||||||
|
8. **تنظیم مدلهای هوش مصنوعی:** انتخاب مدل ایدهآل برای پروژه.
|
||||||
|
9. **باکس کلیدهای میانبر جادویی Quera (`<details class="violet">`):** فهرست کلیدهای پرکاربرد روزمره.
|
||||||
|
10. **آشنایی با Antigravity IDE و اپهای همراه دسکتاپ:** پنجرهای رو به آینده ابزارهای پیشرفته.
|
||||||
|
11. **جمعبندی درسنامه:** اجرای اولین دستور آزمایشی در Cursor و آماده شدن برای ابزارهای خط فرمان.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] دستورالعملهای نصب برای سه سیستمعامل در منوهای کشویی جداگانه قرار داشته باشند.
|
||||||
|
- [ ] تور تصویری بخشهای مختلف Cursor (چت، کامپوزر و سایدبار) به دقت توصیف شده باشد.
|
||||||
|
- [ ] کلیدهای میانبر اصلی در هر دو حالت کیبورد ویندوز (`Ctrl`) و مک (`Cmd`) ذکر شده باشند.
|
||||||
|
- [ ] اشاره به Antigravity IDE و اپهای دسکتاپ تکمیلکننده در بخش مناسب لحاظ شده باشد.
|
||||||
106
chapters/03-workspace-setup/03-lesson-terminal-agents/spec.md
Normal file
106
chapters/03-workspace-setup/03-lesson-terminal-agents/spec.md
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# مشخصات درسنامه: ابزارهای خط فرمان و ایجنتهای ترمینال (Terminal Agents: Claude Code & Codex CLI)
|
||||||
|
- **شناسه در سیلابس:** `L3.4`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📘 درسنامه متنی
|
||||||
|
- **زمان تقریبی مطالعه:** ۱۵ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** `L3.3` (ابزارهای دسکتاپ)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||||
|
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||||
|
- [ ] **درک کند (Understand):** ایجنتهای خط فرمان (CLI Agents) نظیر Claude Code و Codex CLI چگونه با دسترسی مستقیم به شل، فایلها و دستورات سیستمی، کارهای فراتر از ادیتور معمولی انجام میدهند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** ابزار Claude Code را با استفاده از npm روی سیستمعامل خود (ویندوز، مک یا لینوکس) با راهنماهای کشویی مجزا نصب کند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** فرایند احراز هویت اولیه و اجرای نخستین فرمان در محیط ترمینال را با موفقیت پشت سر بگذارد.
|
||||||
|
- [ ] **تحلیل/ارزیابی کند (Evaluate):** خطرات و مرزهای امنیتی اجرای دستورات شل توسط هوش مصنوعی را بشناسد و فرآیند تایید انسانی (Approval Prompts) را مدیریت کند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** دستورات کلیدی کنترل سشن ترمینال (توقف اضطراری با `Ctrl+C`، فشردهسازی بافت چت با `/compact` و خروج با `/exit`) را به کار گیرد.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||||
|
|
||||||
|
### آنچه باید پوشش داده شود (In-Scope):
|
||||||
|
1. **چرایی قدرت خارقالعاده ایجنتهای ترمینال:**
|
||||||
|
* ایجنت ترمینال تنها یک پیشنهاددهنده کد نیست؛ خودش میتواند تستها را اجرا کند، خطاهای خروجی را بخواند، پکیجهای گمشده را نصب نماید و تغییرات را مستقیماً کامیت کند.
|
||||||
|
2. **معرفی دو غول اصلی حوزه ایجنتهای خط فرمان:**
|
||||||
|
* **Claude Code (ساخت شرکت Anthropic):** ایجنت پیشرو مبتنی بر مدلهای قدرتمند خانواده Claude با درک عمیق از کل ساختار پروژه.
|
||||||
|
* **Codex CLI / GitHub Copilot CLI:** ابزارهای تعاملی خط فرمان برای تولید و اجرای دستورات ترمینال به زبان طبیعی.
|
||||||
|
* اشاره کوتاه به سایر ابزارهای متنباز این حوزه مانند Aider و OpenCode.
|
||||||
|
3. **مراحل گامبهگام نصب Claude Code در سراسر سیستمعاملها (در قالب منوهای کشویی جداگانه):**
|
||||||
|
* `<details><summary>راهنمای نصب و اجرا در ویندوز (Windows PowerShell / Terminal)</summary> ... </details>`:
|
||||||
|
دستور `npm install -g @anthropic-ai/claude-code` و نحوه حل هشدارهای احتمالی مسیر (Path).
|
||||||
|
* `<details><summary>راهنمای نصب و اجرا در مکاواس (macOS Terminal / iTerm2)</summary> ... </details>`:
|
||||||
|
دستور نصب npm و تنظیم پرمیژنهای احتمالی.
|
||||||
|
* `<details><summary>راهنمای نصب و اجرا در لینوکس (Linux Bash / Zsh)</summary> ... </details>`:
|
||||||
|
دستور نصب سراسری و مجوزهای کاربری بدون نیاز به sudo بیمورد.
|
||||||
|
4. **احراز هویت و اولین ورود (Authentication & First Run):**
|
||||||
|
* تایپ دستور `claude` در ترمینال.
|
||||||
|
* ورود به حساب Anthropic و تایید توکن دسترسی.
|
||||||
|
5. **جریان کاری استاندارد یک ایجنت ترمینال (The CLI Loop):**
|
||||||
|
* کاربر مسئله را میگوید $\rightarrow$ ایجنت فایلها را بررسی میکند $\rightarrow$ پیشنهاد ادیت میدهد $\rightarrow$ کاربر تایید میکند $\rightarrow$ ایجنت تست یا بیلد را اجرا میکند.
|
||||||
|
6. **امنیت در خط فرمان و کنترل کاربر:**
|
||||||
|
* چرا هوش مصنوعی برای اجرای دستورات شل (مانند حذف، جابجایی یا نصب) از شما اجازه (Prompt Approval) میخواهد؟
|
||||||
|
* پرهیز جدی از فلگهای خودکارساز خطرناک مانند رد کردن تایید دستورات، به ویژه در کارهای پرخطر.
|
||||||
|
7. **کالاوتهای Quera:**
|
||||||
|
* `<details class="red">`: هشدار بسیار جدی: خطرات دستورات تخریبی در شل (`rm -rf` یا پاک کردن فایلها) و الزام بررسی دستور پیش از فشردن Enter.
|
||||||
|
* `<details class="violet">`: کلیدهای کنترل و نجات در ترمینال (`Ctrl+C` برای توقف آنی هوش مصنوعی و دستور `/compact` برای سبکسازی حافظه سشن).
|
||||||
|
|
||||||
|
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||||
|
- توسعه اسکریپتهای پیچیده بش یا اتوماسیون CI/CD با خط فرمان (مربوط به فصول انتهایی).
|
||||||
|
- بررسی تئوریک مدلهای زبانی (که در فصل ۲ تدریس شده است).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||||
|
|
||||||
|
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| CLI Agent | ایجنت خط فرمان | هوش مصنوعی که در محیط ترمینال اجرا شده و توانایی ویرایش فایل و اجرای دستورات سیستمی را دارد |
|
||||||
|
| Claude Code | کلود کد | ابزار خط فرمان رسمی آنتروپیک برای هدایت هوشمند کارهای توسعه در سطح کل ریپازیتوری |
|
||||||
|
| Command Execution Loop | چرخه اجرای دستورات | فرایند پیوسته خواندن، ویرایش، اجرا در ترمینال و ارزیابی نتیجه توسط ایجنت |
|
||||||
|
| Approval Prompt | تاییدیه اجرای دستور | سوال امنیتی ایجنت از کاربر پیش از اعمال تغییرات حساس یا اجرای دستورات شل |
|
||||||
|
| Compact Command | دستور فشردهسازی سشن | دستوری مانند `/compact` در ایجنتهای ترمینال برای خلاصه کردن تاریخچه و باز کردن فضا در پنجره بافت |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
|
||||||
|
|
||||||
|
1. **تصویر کاور درس:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور مدرن نمایشدهنده پنجره سیاه ترمینال با تایپوگرافی سبز/نئونی و لوگوی Claude Code در حال اجرای خودکار وظایف سیستمی.
|
||||||
|
2. **چرخه کاری ایجنت در ترمینال:** `images/terminal-agent-loop.png`
|
||||||
|
* **موضوع:** اینفوگرافیک گامبهگام: دریافت پرامپت $\rightarrow$ خواندن کدبیس $\rightarrow$ ایجاد تغییرات $\rightarrow$ اجرای کامند در ترمینال $\rightarrow$ بررسی خروجی $\rightarrow$ گزارش به کاربر.
|
||||||
|
3. **اجرای واقعی Claude Code در ترمینال:** `images/claude-code-demo.png`
|
||||||
|
* **موضوع:** اسکرینشات تمیز از محیط واقعی اجرای Claude Code، شامل درخواست بررسی یک خطا و پاسخ با جزئیات رنگی.
|
||||||
|
4. **مرزهای امنیتی و پنل تایید کاربر:** `images/cli-safety-approval.png`
|
||||||
|
* **موضوع:** تصویر درخواست تایید ایجنت برای اجرای یک دستور شل به همراه دکمههای تایید (Yes) یا رد (No) توسط توسعهدهنده.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||||
|
|
||||||
|
1. **تیتر اصلی:** `# ابزارهای خط فرمان: قدرت خارقالعاده ایجنتهای ترمینال`
|
||||||
|
2. **مقدمه ملموس:** چرا ترمینال میدان اصلی بازی برای توسعهدهندگان قدرتمند هوش مصنوعی است؟
|
||||||
|
3. **جدول کاور درس**
|
||||||
|
4. **تفاوت ایجنت ترمینال با ادیتور گرافیکی:** استقلال عمل، اجرای دستورات و دیباگ خودکار.
|
||||||
|
5. **معرفی Claude Code و Codex CLI:** پرچمداران دستیاران ترمینالی در جهان.
|
||||||
|
6. **نصب گامبهگام ابزارها با منوهای کشویی سیستمعاملها:**
|
||||||
|
* منوی کشویی ویندوز (PowerShell).
|
||||||
|
* منوی کشویی مکاواس (Terminal / Zsh).
|
||||||
|
* منوی کشویی لینوکس (Bash).
|
||||||
|
7. **احراز هویت و نخستین مکالمه در ترمینال:** راهاندازی سشن اول با دستور `claude`.
|
||||||
|
8. **باکس هشدار امنیتی Quera (`<details class="red">`):** مراقبت در تایید دستورات ترمینال و پرهیز از دستورات مخرب.
|
||||||
|
9. **کلیدهای طلایی کنترل سشن در خط فرمان:**
|
||||||
|
* توقف فوری با `Ctrl+C`.
|
||||||
|
* سبکسازی بافت با `/compact`.
|
||||||
|
* خروج تمیز با `/exit`.
|
||||||
|
10. **باکس نکته پیشرفته Quera (`<details class="violet">`):** چه زمان از Cursor استفاده کنیم و چه زمان به ترمینال برویم؟
|
||||||
|
11. **جمعبندی درسنامه:** تسلط بر دو بال اصلی محیط کار: ادیتور محلی و ایجنت خط فرمان.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] مراحل نصب با `npm` و دستورات بررسی برای ویندوز، مک و لینوکس در منوهای کشویی مجزا درج شده باشد.
|
||||||
|
- [ ] مفهوم ایجنت ترمینال و تفاوت آن با چتباتهای متنی به روشنی تفهیم شده باشد.
|
||||||
|
- [ ] جنبههای امنیتی تایید دستورات شل و هشدارهای مربوط به خطرات فایلهای حساس مورد تاکید قرار گیرد.
|
||||||
|
- [ ] دستورات میانبر و کنترلی (`Ctrl+C`، `/compact`) به درستی آموزش داده شوند.
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
# مشخصات درسنامه: ابزارهای مرورگری (Lovable و Bolt) (Browser-Based Builders)
|
||||||
|
- **شناسه در سیلابس:** `L3.5`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📘 درسنامه متنی
|
||||||
|
- **زمان تقریبی مطالعه:** ۱۲ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** `L3.4` (ابزارهای خط فرمان و ایجنتهای ترمینال)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||||
|
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||||
|
- [ ] **درک کند (Understand):** ابزارهای سازنده مبتنی بر مرورگر (مانند Lovable.dev و Bolt.new و v0.dev) چگونه بدون نیاز به هیچگونه نصب یا پیکربندی محلی، نرمافزارهای کامل را مستقیماً درون مرورگر اجرا میکنند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** حساب کاربری رایگان در پلتفرم Lovable یا Bolt ایجاد کرده و تور رابط کاربری (باکس پرامپت، پیشنمایش زنده و ادیتور داخلی) را بشناسد.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** پل ارتباطی «انتقال به گیتهاب (Export to GitHub)» را پیاده کند؛ یاد بگیرد چگونه کد ساختهشده در مرورگر را به ریپازیتوری شخصی خود منتقل کرده و برای ادامه مهندسی در Cursor محلی فراخوانی (Clone) کند.
|
||||||
|
- [ ] **تحلیل/ارزیابی کند (Evaluate):** محدودیتهای سهمیههای رایگان ابزارهای ابری و زمان خروج مناسب از مرورگر به سمت ابزارهای محلی را ارزیابی کند.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||||
|
|
||||||
|
### آنچه باید پوشش داده شود (In-Scope):
|
||||||
|
1. **انقلاب سازندههای ابری تحت وب:**
|
||||||
|
* چرا این ابزارها برای تست سریع ایدهها، ساخت پروتوتایپهای اولیه و ارائه به مشتری یا سرمایهگذار در کمتر از ۱۵ دقیقه بیرقیب هستند.
|
||||||
|
2. **معرفی دو پلتفرم پیشتاز:**
|
||||||
|
* **Lovable.dev:** تمرکز بر ساخت وباپلیکیشنهای کامل با طراحی فوقالعاده زیبا، اتصال آسان به دیتابیس Supabase و هماهنگی کمنظیر با گیتهاب.
|
||||||
|
* **Bolt.new:** بر پایه فناوری نوآورانه WebContainers (اجرای کامل محیط Node.js درون تب مرورگر شما بدون نیاز به سرور واسط).
|
||||||
|
* اشاره کوتاه به **v0.dev** (ساخت شرکت Vercel، متخصص کامپوننتهای فرانتاند شیک).
|
||||||
|
3. **تور رابط کاربری یک سازنده ابری:**
|
||||||
|
* نوار ورودی پرامپت (چت با ایجنت).
|
||||||
|
* پنجره پیشنمایش زنده (Live Preview) که بلافاصله تغییرات را شبیهسازی میکند.
|
||||||
|
* پنل دسترسی به کدهای تولیدشده و تاریخچه نسخهها.
|
||||||
|
4. **پل استراتژی دو مسیره: از وب به محیط کار محلی (The Export Bridge):**
|
||||||
|
* آموزش گامبهگام اتصال اکانت GitHub به پلتفرم Lovable یا Bolt.
|
||||||
|
* زدن دکمه Sync / Export to GitHub و ایجاد یک ریپازیتوری جدید با یک کلیک.
|
||||||
|
* راهنمای چندسکویی کلون کردن پروژه روی سیستم شخصی در ۳ منوی کشویی جداگانه:
|
||||||
|
* `<details><summary>دستور فراخوانی در ویندوز (Windows)</summary> ... </details>`: `git clone [آدرس ریپازیتوری]` و باز کردن در Cursor.
|
||||||
|
* `<details><summary>دستور فراخوانی در مکاواس (macOS)</summary> ... </details>`: دستورات ترمینال و ورود به پوشه.
|
||||||
|
* `<details><summary>دستور فراخوانی در لینوکس (Linux)</summary> ... </details>`: اجرای کلون و بازگشایی.
|
||||||
|
5. **کالاوتهای Quera:**
|
||||||
|
* `<details class="violet">`: سازوکار پشت پرده فناوری WebContainers؛ چطور یک سیستمعامل کوچک در دل مرورگر شما جا میگیرد؟
|
||||||
|
* `<details class="green">`: پل فرار از زندانی شدن در ابر؛ با کلیک دکمه Export to GitHub، صاحب ۱۰۰٪ تمام کدهای تولیدشده در سیستم خود هستید.
|
||||||
|
|
||||||
|
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||||
|
- مبانی تفصیلی دستورات گیت (کامیت، برنچ، مرج و ...) که درس بعدی ۳.۶ به آن اختصاص دارد.
|
||||||
|
- اتصال واقعی به دیتابیس خارجی یا درگاه پرداخت (در فصول ۷ و ۱۰ آموزش داده خواهد شد).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||||
|
|
||||||
|
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| In-Browser Builder | سازنده تحت مرورگر | پلتفرمی که به شما امکان نوشتن پرامپت، تولید کد و دیدن نتیجه را در یک تب مرورگر میدهد |
|
||||||
|
| Live Preview | پیشنمایش زنده | پنجره تعاملی درون وبسایت که خروجی کار را مانند یک وبسایت واقعی همزمان نشان میدهد |
|
||||||
|
| WebContainers | کانتینرهای تحت وب | فناوری اجرای موتور Node.js و خط فرمان به طور مستقیم درون تب مرورگر کاربر |
|
||||||
|
| Export to GitHub | انتقال به گیتهاب | قابلیت فرستادن کل پروژه ساختهشده در پلتفرم ابری به حساب گیتهاب شخصی جهت کنترل کامل |
|
||||||
|
| Git Clone | فراخوانی / همگامسازی مخزن | دانلود کدهای پروژه از گیتهاب روی هارد سیستم کاربر برای کار در ادیتور محلی |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
|
||||||
|
|
||||||
|
1. **تصویر کاور درس:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور با تم تیره و لوگوهای جذاب Lovable و Bolt که از یک پنجره مدرن مرورگر با پیشنمایش زنده بیرون تابیدهاند.
|
||||||
|
2. **کالبدشکافی رابط کاربری ابزارهای مرورگری:** `images/browser-builder-ui.png`
|
||||||
|
* **موضوع:** اسکرینشات تمیز از محیط Lovable یا Bolt شامل نوار پرامپت، پنل فایلها و قاب پیشنمایش اپلیکیشن زنده.
|
||||||
|
3. **پل انتقال پروژه از وب به ادیتور محلی:** `images/export-bridge-diagram.png`
|
||||||
|
* **موضوع:** اینفوگرافیک گامبهگام: ایده در Lovable $\rightarrow$ دکمه Export to GitHub $\rightarrow$ ریپازیتوری گیتهاب $\rightarrow$ باز کردن و توسعه در Cursor روی سیستم کاربر.
|
||||||
|
4. **مقایسه Lovable در برابر Bolt و v0:** `images/cloud-builders-matrix.png`
|
||||||
|
* **موضوع:** جدول شماتیک مقایسه ۳ سرویس در سرعت اولیه، کیفیت کد، اتصال به دیتابیس و مدیریت سهمیه ماهانه.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||||
|
|
||||||
|
1. **تیتر اصلی:** `# ابزارهای مرورگری: ساخت نرمافزار در چند دقیقه با Lovable و Bolt`
|
||||||
|
2. **مقدمه:** تجربه جادویی ساخت نسخه اولیه یک نرمافزار بدون حتی یک خط نصب روی سیستم.
|
||||||
|
3. **جدول کاور درس**
|
||||||
|
4. **جادوی سازندههای ابری تحت وب:** معرفی پلتفرمهای Lovable.dev، Bolt.new و v0.dev.
|
||||||
|
5. **تور کاربری Lovable و ساخت اولین صفحه:** نحوه نگارش پرامپت و مشاهده خروجی زنده در مرورگر.
|
||||||
|
6. **باکس نکته فنی Quera (`<details class="violet">`):** فناوری WebContainers چگونه بدون سرور کار میکند؟
|
||||||
|
7. **شاهکلید استراتژی دوره: پل ارتباطی با GitHub:**
|
||||||
|
* چرا نباید پروژه را برای همیشه در یک پلتفرم ابری حبس کنیم؟
|
||||||
|
* مراحل اکسپورت با یک کلیک.
|
||||||
|
8. **فراخوانی پروژه در سیستم محلی (دستورات چندسکویی):**
|
||||||
|
* منوی کشویی ویندوز.
|
||||||
|
* منوی کشویی مکاواس.
|
||||||
|
* منوی کشویی لینوکس.
|
||||||
|
9. **باکس آرامشبخش Quera (`<details class="green">`):** مالکیت کامل کدها با گیتهاب و ادیتور محلی.
|
||||||
|
10. **جمعبندی درسنامه:** تکمیل زنجیره ابزارهای تولید سریع و آمادگی برای یادگیری زبان مشترک برنامهنویسان (Git).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] نحوه کارکرد پلتفرمهای Lovable و Bolt به همراه قابلیتهای کلیدی آنها تشریح شده باشد.
|
||||||
|
- [ ] آموزش انتقال پروژه به GitHub به عنوان پل پیوند دهنده استراتژی Dual-Track گامبهگام توضیح داده شود.
|
||||||
|
- [ ] برای دستورات کلون و باز کردن در ادیتور، منوهای کشویی جداگانه برای Windows، macOS و Linux تعبیه شده باشد.
|
||||||
|
- [ ] مزایا و محدودیتهای تکیه صرف بر ابزارهای ابری به شکلی منصفانه بیان شده باشد.
|
||||||
106
chapters/03-workspace-setup/05-lesson-git-and-github/spec.md
Normal file
106
chapters/03-workspace-setup/05-lesson-git-and-github/spec.md
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# مشخصات درسنامه: آشنایی با Git و GitHub به زبان ساده (Git & GitHub: The Code Time Machine)
|
||||||
|
- **شناسه در سیلابس:** `L3.6`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📘 درسنامه متنی
|
||||||
|
- **زمان تقریبی مطالعه:** ۱۵ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** `L3.5` (ابزارهای مرورگری)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||||
|
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||||
|
- [ ] **درک کند (Understand):** تفاوت بنیادین Git (سیستم محلی کنترل نسخه و ماشین زمان کدها) با GitHub (سرویس ابری نگهداری و اشتراکگذاری مخازن) چیست.
|
||||||
|
- [ ] **درک کند (Understand):** استعاره «چکپوینت بازی» (Save Game) در گیت چگونه ترس از دست رفتن یا خراب شدن کدها توسط هوش مصنوعی را برای همیشه از بین میبرد.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** چرخه اساسی سهمرحلهای ذخیره تغییرات را اجرا کند: **بررسی تغییرات (`git status`) $\rightarrow$ بستهبندی و ثبت چکپوینت (`git add` و `git commit`) $\rightarrow$ فرستادن به ابر (`git push`)**.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** ابزار کنترل نسخه گرافیکی (Source Control GUI) موجود در محیط Cursor را بدون نیاز به حفظ دستورات طولانی ترمینال به کار گیرد.
|
||||||
|
- [ ] **تحلیل/ارزیابی کند (Evaluate):** ضرورت و نقش حیاتی فایل `.gitignore` در جلوگیری از ارسال پوشههای سنگین (`node_modules`) و فایلهای حاوی رمزهای خصوصی (`.env`) به گیتهاب را تحلیل کند.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||||
|
|
||||||
|
### آنچه باید پوشش داده شود (In-Scope):
|
||||||
|
1. **استعاره ماشین زمان (Git as a Time Machine):**
|
||||||
|
* در وایب کدینگ، ایجنت هوش مصنوعی ممکن است کدهایی بنویسد که کار نکنند یا ظاهر پروژه را به هم بریزند. با Git، در کسری از ثانیه میتوانید به ۱۰ دقیقه قبل (آخرین وضعیت سالم) بازگردید.
|
||||||
|
2. **تفاوت شفاف Git و GitHub:**
|
||||||
|
* **Git:** نرمافزاری که روی سیستم شما نصب میشود و تغییرات فایلها را خطبهخط رصد میکند.
|
||||||
|
* **GitHub:** سایتی اینترنتی که کدهای شما را به شکل امن آنلاین نگه میدارد و امکان استقرار و اشتراکگذاری را فراهم میسازد.
|
||||||
|
3. **راهنمای نصب و پیکربندی اولیه Git با منوهای کشویی سیستمعاملها:**
|
||||||
|
* `<details><summary>راهنمای نصب و تنظیم در ویندوز (Windows)</summary> ... </details>`: دانلود اینستالر رسمی Git for Windows، تنظیم نام و ایمیل (`git config --global user.name` و `user.email`).
|
||||||
|
* `<details><summary>راهنمای نصب و تنظیم در مکاواس (macOS)</summary> ... </details>`: نصب از طریق ابزار Xcode Command Line یا Homebrew و تنظیمات هویت.
|
||||||
|
* `<details><summary>راهنمای نصب و تنظیم در لینوکس (Linux)</summary> ... </details>`: دستور `sudo apt install git` و تنظیمات نام کاربری.
|
||||||
|
4. **سه فرمان جادویی برای زندگی روزمره با Git:**
|
||||||
|
* `git status`: وضعیت فایلهای تغییر یافته را نشان میدهد.
|
||||||
|
* `git add .` و `git commit -m "پیام ثبت"`: ثبت یک نقطه بازیابی سالم (Save Point).
|
||||||
|
* `git push`: فرستادن چکپوینتها به گیتهاب.
|
||||||
|
* ارائه این دستورات در تبهای کشویی متناظر با سیستمعاملها.
|
||||||
|
5. **استفاده از پنل گرافیکی Git در ادیتور Cursor:**
|
||||||
|
* آموزش دیدن فایلهای تغییریافته با رنگهای سبز (فایل جدید) و زرد (فایل ویرایششده)، زدن دکمه `+` و فشردن دکمه Commit بدون تایپ دستورات.
|
||||||
|
6. **مفهوم شاخهها (Branches) — جهانهای موازی:**
|
||||||
|
* ساخت یک شاخه تستی برای پرامپتهای پرریسک؛ اگر خراب شد پاکش میکنیم، اگر عالی بود به شاخه اصلی (main) ملحق میکنیم.
|
||||||
|
7. **فایل جادویی `.gitignore`:**
|
||||||
|
* چیست و چرا باید پوشه غولپیکر `node_modules` و فایلهای محرمانه `.env` را در آن بنویسیم تا به سرورهای گیتهاب ارسال نشوند.
|
||||||
|
8. **کالاوتهای Quera:**
|
||||||
|
* `<details class="violet">`: قانون طلایی وایب کدینگ: پیش از هر پرامپت بزرگ و تحولآفرین، حتماً یک چکپوینت (Commit) ثبت کنید!
|
||||||
|
* `<details class="red">`: هرگز فایلهای حاوی رمز یا توکنهای مالی را بدون ثبت در `.gitignore` روی گیتهاب پابلیک پوش نکنید.
|
||||||
|
|
||||||
|
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||||
|
- حل کانفلیکتهای فوقپیشرفته گیت (Merge Conflicts) در تیمهای چندنفره (این موضوع در فصل ۹ و دیباگ بررسی خواهد شد).
|
||||||
|
- دستورات پیچیدهای نظیر `git rebase -i`، `cherry-pick` یا `git bisect`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||||
|
|
||||||
|
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| Version Control System (VCS) | سیستم کنترل نسخه | ابزاری که تاریخچه تکتک تغییرات فایلهای پروژه را به صورت زمانی ثبت و حفظ میکند |
|
||||||
|
| Repository (Repo) | مخزن پروژه | پوشه نگهداری کدها و تاریخچه تغییرات یک پروژه در سیستم یا روی گیتهاب |
|
||||||
|
| Commit | ثبت تغییرات / چکپوینت | ثبت یک وضعیت پایدار و عکسبرداریشده از فایلهای پروژه به همراه پیام توضیحی |
|
||||||
|
| Branch | شاخه موازی | مسیری مجزا برای توسعه و آزمایش ویژگیهای جدید بدون به خطر انداختن کد اصلی |
|
||||||
|
| .gitignore | فایل نادیدهگیری | فایلی متنی که تعیین میکند چه پوشهها یا اطلاعات محرمانهای نباید ذخیره یا آپلود شوند |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
|
||||||
|
|
||||||
|
1. **تصویر کاور درس:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور با تم تیره و لوگوی رسمی Git و GitHub در هیئت یک ماشین زمان دیجیتال با چرخدندههای نئونی و مسیرهای زمانی.
|
||||||
|
2. **گیت به عنوان ماشین زمان:** `images/git-time-machine-timeline.png`
|
||||||
|
* **موضوع:** خط زمانی تصویری که زنجیره کامیتهای سالم را نشان میدهد و فلش بازگشت به عقب در صورت خرابکاری ایجنت در یک مرحله.
|
||||||
|
3. **تفاوت Git در کامپیوتر شما با GitHub در ابر:** `images/git-vs-github-diagram.png`
|
||||||
|
* **موضوع:** تصویر شماتیک لپتاپ کاربر (Git محلی) که با کابل امنیتی ابری به سرورهای GitHub متصل است.
|
||||||
|
4. **شاخهها به عنوان جهانهای موازی:** `images/git-branches-concept.png`
|
||||||
|
* **موضوع:** انشعاب شاخه آزمایشی (feature/experiment) از شاخه پایدار (main) و ادغام موفقیتآمیز آن پس از تایید تست.
|
||||||
|
5. **پنل گرافیکی گیت در Cursor:** `images/cursor-git-gui.png`
|
||||||
|
* **موضوع:** اسکرینشات تمیز از تب Source Control در ادیتور Cursor با بخش Staged Changes و کادر تایپ پیام کامیت.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||||
|
|
||||||
|
1. **تیتر اصلی:** `# آشنایی با Git و GitHub به زبان ساده: ماشین زمان کدهای شما`
|
||||||
|
2. **مقدمه ملموس:** چرا گیت بهترین دوست و شبکه نجات یک وایب کدر در برابر خرابکاریهای هوش مصنوعی است؟
|
||||||
|
3. **جدول کاور درس**
|
||||||
|
4. **استعاره ماشین زمان و سیو گیم (Save Point):** رفع هراس از خطاهای کد.
|
||||||
|
5. **تفاوت اساسی Git با GitHub:** سیستم محلی در برابر فضای ابری.
|
||||||
|
6. **نصب و معرفی هویت شما به Git:**
|
||||||
|
* منوی کشویی ویندوز (Windows).
|
||||||
|
* منوی کشویی مکاواس (macOS).
|
||||||
|
* منوی کشویی لینوکس (Linux).
|
||||||
|
7. **چرخه روزمره ۳ گام اصلی: وضعیت، ثبت و ارسال:** تشریح `status`، `commit` و `push`.
|
||||||
|
8. **باکس نکته طلایی Quera (`<details class="violet">`):** ثبت کامیت قبل از ارسال پرامپتهای سنگین به ایجنت.
|
||||||
|
9. **کنترل نسخه بدون تایپ دستور: کار با تب گیت در Cursor:** استفاده از پنل دیداری و دکمههای ساده.
|
||||||
|
10. **شاخهها (Branches): بازی در زمین امن موازی:** چگونه بدون ترس ایدههای دیوانهوار را بیازماییم؟
|
||||||
|
11. **فایل نگهبان `.gitignore`:** جلوگیری از ارسال پوشههای غولپیکر و دادههای حساس به اینترنت.
|
||||||
|
12. **باکس هشدار امنیتی Quera (`<details class="red">`):** عدم انتشار فایلهای کلید محرمانه (`.env`).
|
||||||
|
13. **جمعبندی درسنامه:** تسلط بر امنیت پروژه و آماده شدن برای اضافه کردن سوپرپاورها به ایجنت.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] مفاهیم انتزاعی گیت با استعارههای ملموس (ماشین زمان، چکپوینت بازی) به زبان ساده برای غیربرنامهنویسان تبیین شده باشد.
|
||||||
|
- [ ] دستورالعملهای نصب و تنظیم در ۳ منوی کشویی مجزا برای سیستمعاملها پیادهسازی شده باشد.
|
||||||
|
- [ ] کار با پنل گرافیکی Source Control ادیتور Cursor به صورت تصویری شرح داده شود.
|
||||||
|
- [ ] اهمیت فایل `.gitignore` و حفظ امنیت کلیدها صریحاً هشدار داده شود.
|
||||||
105
chapters/03-workspace-setup/06-lesson-skills-and-mcps/spec.md
Normal file
105
chapters/03-workspace-setup/06-lesson-skills-and-mcps/spec.md
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
# مشخصات درسنامه: استفاده از Skillها و MCPها (Skills & Model Context Protocol)
|
||||||
|
- **شناسه در سیلابس:** `L3.7`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📘 درسنامه متنی
|
||||||
|
- **زمان تقریبی مطالعه:** ۱۵ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** `L3.6` (آشنایی با Git و GitHub)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||||
|
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||||
|
- [ ] **درک کند (Understand):** تفاوت بنیادین میان یک مهارت پرامپتی (Skill یا فایلهای راهنما نظیر `.cursorrules`) و یک ابزار اجرایی تحت پروتکل MCP چیست.
|
||||||
|
- [ ] **درک کند (Understand):** پروتکل کانتکست مدل (Model Context Protocol - MCP) چگونه به عنوان استاندارد جهانی پورت USB-C برای اتصال هوش مصنوعی به دیتابیسها، وب و ابزارهای بیرونی عمل میکند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** یک فایل قوانین اختصاصی پروژه (`.cursorrules`) بسازد تا ایجنت هوش مصنوعی بدون نیاز به تکرار دستورات در هر پرامپت، استانداردهای کدنویسی و پاسخگویی را رعایت کند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** یک سرور ساده MCP (مانند سرور دریافت اطلاعات وب یا دسترسی به فایل) را در ادیتور Cursor یا ابزار Claude Code با استفاده از راهنماهای کشویی سیستمعاملها راهاندازی کند.
|
||||||
|
- [ ] **تحلیل/ارزیابی کند (Evaluate):** چه زمانی اضافه کردن یک مهارت یا سرور MCP جدید به ایجنت ضرورت دارد و چگونه از سنگین شدن بیمورد حافظه مدل جلوگیری شود.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||||
|
|
||||||
|
### آنچه باید پوشش داده شود (In-Scope):
|
||||||
|
1. **گذار از مدل منفعل به ایجنت مجهز به ابزار:**
|
||||||
|
* هوش مصنوعی معمولی فقط متن تولید میکند؛ هوش مصنوعی مجهز به MCP و Skill میتواند مستندات زنده اینترنت را بخواند، دادهها را از دیتابیس استعلام کند یا با ابزارهای سیستم شما تعامل داشته باشد.
|
||||||
|
2. **پروتکل فراگیر MCP چیست؟ (استعاره کابل USB-C جهانی):**
|
||||||
|
* چرا قبل از MCP، هر ابزاری روش اختصاصی و ناسازگاری برای اتصال به مدلها داشت.
|
||||||
|
* استاندارد باز توسعهدادهشده توسط Anthropic که اجازه میدهد یک سرور ابزار ساخته شود و تمام ایجنتها (Cursor، Claude Code، Antigravity) بتوانند با یک کلیک از آن استفاده کنند.
|
||||||
|
3. **تفاوت مهارتها (Skills / Rules) با پروتکل MCP:**
|
||||||
|
* **مهارتها (Skills):** تزریق دانش و شیوه انجام کار (Mental Workflow & Rules) در قالب اسناد متنی؛ مثل یاد دادن سبک پاسخگویی یا قوانین معماری پروژه.
|
||||||
|
* **سرورهای MCP (Tools):** دستها و چشمان زنده مدل؛ دسترسی به APIها، مرورگر، دیتابیس یا فایلهای سیستمی.
|
||||||
|
4. **پیادهسازی گامبهگام ۱: فایل قوانین پروژه (`.cursorrules`):**
|
||||||
|
* ساخت فایلی به نام `.cursorrules` در ریشه پروژه.
|
||||||
|
* قرار دادن قوانین طلایی: «کدها را همیشه با TypeScript بنویس»، «توضیحات را به زبان فارسی روان بده»، «قبل از تغییر فایلهای بزرگ تاییدیه بگیر».
|
||||||
|
5. **پیادهسازی گامبهگام ۲: راهاندازی یک سرور ساده MCP در ادیتور:**
|
||||||
|
* ورود به بخش Settings $\rightarrow$ Features $\rightarrow$ MCP در ادیتور Cursor یا فایل کانفیگ در Claude Code.
|
||||||
|
* افزودن یک سرور کاربردی ساده (مانند سرور خواندن وب `fetch` یا سرور جستجو).
|
||||||
|
* **مسیر فایلهای کانفیگ چندسکویی در ۳ منوی کشویی جداگانه:**
|
||||||
|
* `<details><summary>مسیر کانفیگ در ویندوز (Windows)</summary> ... </details>`: مسیر `%APPDATA%\...` و نحوه اضافه کردن کانفیگ JSON.
|
||||||
|
* `<details><summary>مسیر کانفیگ در مکاواس (macOS)</summary> ... </details>`: مسیر `~/Library/Application Support/...`.
|
||||||
|
* `<details><summary>مسیر کانفیگ در لینوکس (Linux)</summary> ... </details>`: مسیر `~/.config/...`.
|
||||||
|
6. **مشاهده چراغ سبز ابزار در عمل:**
|
||||||
|
* تست پرسیدن یک سوال زنده از هوش مصنوعی و دیدن اینکه ایجنت چگونه ابزار متصل به MCP را فرامیخواند.
|
||||||
|
7. **کالاوتهای Quera:**
|
||||||
|
* `<details class="violet">`: چرا پروتکل MCP در سالهای ۲۰۲۵ و ۲۰۲۶ استانداردی شد که کل صنعت فناوری از جمله مایکروسافت، گوگل و استارتاپها روی آن اجماع کردند؟
|
||||||
|
* `<details class="green">`: قدرت صرفهجویی فایل `.cursorrules`: با یک بار تعریف این فایل، دیگر نیاز نیست در هر پیام به هوش مصنوعی تذکر دهید چه سبکی کد بنویسد.
|
||||||
|
|
||||||
|
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||||
|
- برنامهنویسی و کدنویسی یک سرور اختصاصی MCP از صفر با پایتون یا تایپاسکریپت (مبحث پیشرفته مربوط به فصلهای آخر).
|
||||||
|
- اتصال همزمان دهها سرور سنگین که باعث اشغال پنجره بافت شود.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||||
|
|
||||||
|
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| Model Context Protocol (MCP) | پروتکل کانتکست مدل | استاندارد متنباز برای اتصال مستقیم و امن مدلهای هوش مصنوعی به ابزارها و منابع داده بیرونی |
|
||||||
|
| Skill / Project Rule | مهارت / قانون پروژه | راهنما و دستورالعمل دائمی ذخیرهشده در پروژه برای تنظیم سبک رفتار و خروجی ایجنت |
|
||||||
|
| .cursorrules | فایل قوانین کرسر | فایلی در ریشه پروژه که دستورات زمینه و سلیقه کدنویسی تیم را به هوش مصنوعی دیکته میکند |
|
||||||
|
| Tool Call / Tool Use | فراخوانی ابزار | توانایی مدل هوش مصنوعی در اجرای یک فرمان بیرونی و خواندن نتیجه آن برای حل مسئله کاربر |
|
||||||
|
| MCP Host & Client | میزبان و کلاینت MCP | ادیتور یا برنامهای (مانند Cursor یا Claude) که سرورهای MCP را مدیریت و به مدل متصل میکند |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
|
||||||
|
|
||||||
|
1. **تصویر کاور درس:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور مدرن با تم تیره و نماد سوکت کابل نئونی USB-C که مغز هوش مصنوعی را به آیکونهای دیتابیس، گیتهاب، اینترنت و فایلها متصل میکند.
|
||||||
|
2. **استعاره کابل USB-C در پروتکل MCP:** `images/mcp-usb-analogy.png`
|
||||||
|
* **موضوع:** دیاگرام مفهومی: در گذشته هر پورت اختصاصی بود؛ اکنون کابل استاندارد MCP مدل را به انواع ابزارها متصل میسازد.
|
||||||
|
3. **تفاوت مهارت (Skill) و ابزار (MCP):** `images/skills-vs-mcps.png`
|
||||||
|
* **موضوع:** تصویر مقایسهای: سمت راست مهارت (مغز و دانشنامه قوانین در `.cursorrules`) در برابر سمت چپ MCP (دستها و ابزارهای فیزیکی برای لمس دنیای بیرون).
|
||||||
|
4. **پنل تنظیمات MCP در Cursor با چراغ سبز:** `images/cursor-mcp-settings.png`
|
||||||
|
* **موضوع:** اسکرینشات تمیز از صفحه تنظیمات MCP در Cursor که وضعیت سرورها را به رنگ سبز فعال (Active) نشان میدهد.
|
||||||
|
5. **نمونه فایل `.cursorrules` در عمل:** `images/cursorrules-demo.png`
|
||||||
|
* **موضوع:** نمایش کادر متنی نمونه دستورات یک پروژه استاندارد و تاثیر آن در پاسخ کوتاه، تمیز و فارسی ایجنت.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||||
|
|
||||||
|
1. **تیتر اصلی:** `# استفاده از Skillها و MCPها: دادن دست و چشمان بینا به هوش مصنوعی`
|
||||||
|
2. **مقدمه:** چرا پاسخهای ایجنت بدون دسترسی به ابزارهای بیرونی ناقص و تاریخگذشته است؟
|
||||||
|
3. **جدول کاور درس**
|
||||||
|
4. **پروتکل فراگیر MCP چیست؟ استعاره پورت USB-C دنیای هوش مصنوعی:** فلسفه پیدایش و اهمیت.
|
||||||
|
5. **تفاوت مهارتها (Skills) با ابزارهای اجرایی (MCPs):** شفافسازی تفاوت مفهوم قانون با ابزار کاربری.
|
||||||
|
6. **باکس نکته صنعتی Quera (`<details class="violet">`):** چرا تمام شرکتهای بزرگ به سمت استاندارد MCP حرکت کردند؟
|
||||||
|
7. **تمرین عملی اول: ساخت فایل `.cursorrules` برای هدایت پروژه:**
|
||||||
|
* ایجاد فایل در ریشه پروژه.
|
||||||
|
* درج قوانین کدنویسی تمیز، زبان فارسی و فریمورکها.
|
||||||
|
8. **باکس نکته Quera (`<details class="green">`):** خلاص شدن همیشگی از یادآوریهای تکراری به هوش مصنوعی.
|
||||||
|
9. **تمرین عملی دوم: افزودن یک سرور کاربردی MCP در ادیتور:**
|
||||||
|
* مراحل منوی Settings در Cursor و Claude Code.
|
||||||
|
* مسیر فایلهای پیکربندی با منوهای کشویی سیستمعاملها (Windows, macOS, Linux).
|
||||||
|
10. **تست و تایید اتصال ابزار:** مشاهده فراخوانی موفق ابزار در چت با مدل.
|
||||||
|
11. **جمعبندی درسنامه:** مجهز شدن ایجنت شما به ابزارهای دنیای واقعی.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] تفاوت Skill (قوانین و پرامپتها) و MCP (پروتکل اتصال به ابزارها) به وضوح تبیین شده باشد.
|
||||||
|
- [ ] استعاره پورت جهانی USB-C برای درک ماهیت MCP در متن به کار رود.
|
||||||
|
- [ ] یک تمرین عملی قابل انجام ساخت `.cursorrules` به همراه محتوای نمونه قرار داده شود.
|
||||||
|
- [ ] مسیرهای کانفیگ برای ویندوز، مک و لینوکس در منوهای کشویی مجزا درج گردند.
|
||||||
107
chapters/03-workspace-setup/07-lesson-project-anatomy/spec.md
Normal file
107
chapters/03-workspace-setup/07-lesson-project-anatomy/spec.md
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# مشخصات درسنامه: ساختار و آناتومی پروژه (Project Anatomy & File Architecture)
|
||||||
|
- **شناسه در سیلابس:** `L3.8`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📘 درسنامه متنی
|
||||||
|
- **زمان تقریبی مطالعه:** ۱۲ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** `L3.7` (استفاده از Skillها و MCPها)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||||
|
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||||
|
- [ ] **درک کند (Understand):** نقش و جایگاه پوشهها و فایلهای اصلی یک پروژه مدرن وب (کانفیگهای ریشه، پوشه سورس کد `src/`، پوشه فایلهای استاتیک `public/` و مخزن پکیجها `node_modules/`) چیست.
|
||||||
|
- [ ] **تحلیل/ارزیابی کند (Evaluate):** فایل حیاتی `package.json` را بازخوانی کند؛ ساختار بخش اسکریپتها (`scripts`) و لیست وابستگیها (`dependencies`) را به عنوان شناسنامه پروژه تحلیل نماید.
|
||||||
|
- [ ] **درک کند (Understand):** پوشه حجیم `node_modules/` چیست، چرا هرگز نباید دستی ویرایش یا در گیت ذخیره شود، و چگونه با یک فرمان ساده `npm install` دوباره دانلود و بازسازی میشود.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** فایل محیطی `.env` را به عنوان صندوقچه امن رمزها بشناسد و متغیرهای حساس را جدا از کدهای پروژه نگهداری کند.
|
||||||
|
- [ ] **بهکار ببندد (Apply):** دستورات مشاهده ساختار درختی پروژه در ترمینال را بر اساس سیستمعامل خود (ویندوز، مک، لینوکس) با منوهای کشویی اجرا کند.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||||
|
|
||||||
|
### آنچه باید پوشش داده شود (In-Scope):
|
||||||
|
1. **شکستن ترس از شلوغی کدهای پروژه:**
|
||||||
|
* در نخستین نگاه به درخت فایلهای یک پروژه وب، دهها پوشه و فایل نامفهوم دیده میشود. در این درس معماری استاندارد و منطق پشت هرکدام را کالبدشکافی میکنیم.
|
||||||
|
2. **آناتومی ۴ گانه ساختار پروژه:**
|
||||||
|
* **۱. پوشه سورس کد (`src/` یا `app/`):** قلب تپنده نرمافزار؛ کدهایی که ایجنت مینویسد، صفحات، دکمهها و استایلها اینجا قرار دارند.
|
||||||
|
* **۲. پوشه فایلهای ایستا (`public/`):** انبار عکسها، آیکونها، فونتها و فایلهایی که بدون تغییر به کاربر تحویل داده میشوند.
|
||||||
|
* **۳. انبار پکیجها (`node_modules/`):** پوشه غولپیکری که npm تمام کتابخانههای دانلودشده را در آن میریزد.
|
||||||
|
* **۴. فایلهای پیکربندی ریشه (Root Config Files):** نگهبانان و شناسنامه پروژه.
|
||||||
|
3. **کالبدشکافی فایل شناسنامه پروژه (`package.json`):**
|
||||||
|
* نام و نسخه پروژه (`name`, `version`).
|
||||||
|
* دستورات اجرایی (`scripts` مثل `npm run dev` برای بالا آوردن سرور محلی یا `npm run build`).
|
||||||
|
* فهرست پکیجها و کتابخانههای مورد نیاز (`dependencies`).
|
||||||
|
4. **راز پوشه مخوف `node_modules` (The Scary Folder):**
|
||||||
|
* استعاره انبار بزرگ قطعات یدکی خودرو.
|
||||||
|
* چرا نباید از حجم بالای آن ترسید؟ اگر این پوشه پاک شود، فقط با تایپ `npm install` در چند ثانیه مجدداً ساخته میشود.
|
||||||
|
5. **فایل محرمانه `.env` (صندوقچه امن):**
|
||||||
|
* چرا کلیدهای هوش مصنوعی، رمزهای پایگاه داده و درگاه پرداخت نباید داخل کدهای برنامه هاردکد (Hardcode) شوند.
|
||||||
|
* تفاوت فایل نمونه `.env.example` با فایل اصلی `.env`.
|
||||||
|
6. **مشاهده ساختار پروژه در ترمینال با منوهای کشویی سیستمعاملها:**
|
||||||
|
* `<details><summary>دستورات در ویندوز (PowerShell / CMD)</summary> ... </details>`: دستور `dir` و `tree /F`.
|
||||||
|
* `<details><summary>دستورات در مکاواس (macOS Terminal)</summary> ... </details>`: دستور `ls -la` و `tree`.
|
||||||
|
* `<details><summary>دستورات در لینوکس (Linux Bash)</summary> ... </details>`: دستور `ls -la` و پکیج `tree`.
|
||||||
|
7. **کالاوتهای Quera:**
|
||||||
|
* `<details class="violet">`: کالبدشکافی سریع `package.json`؛ روش حرفهای بررسی یک پروژه جدید در کمتر از ۲ دقیقه.
|
||||||
|
* `<details class="red">`: قانون ممنوعه: هرگز کدهای درون پوشه `node_modules` را با دست تغییر ندهید چون با اولین آپدیت بازنویسی میشوند!
|
||||||
|
|
||||||
|
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||||
|
- کانفیگهای پیچیده بیلد مانند Webpack یا Rollup و Vite پلاگینهای تخصصی.
|
||||||
|
- نوشتن کدهای کامپوننتهای فرانتاند (شروع از فصل ۶).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||||
|
|
||||||
|
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| Project Anatomy | آناتومی / ساختار پروژه | معماری و نحوه چیدمان استاندارد فایلها و پوشهها در یک نرمافزار |
|
||||||
|
| package.json | شناسنامه و مانیفست پروژه | فایل مرکزی در پروژههای جاوااسکریپت که اطلاعات، پکیجها و دستورات اجرایی را فهرست میکند |
|
||||||
|
| Dependencies | وابستگیها / پکیجهای پیشنیاز | کتابخانهها و ابزارهای خارجی که پروژه شما برای کار کردن به آنها وابسته است |
|
||||||
|
| node_modules | پوشه پکیجهای نصبشده | پوشه محلی ذخیرهسازی فایلهای کتابخانههای دانلودشده توسط مدیریت پکیج npm |
|
||||||
|
| Environment Variables (.env) | متغیرهای محیطی | فایل محرمانه نگهداری آدرسها، رمزها و کلیدهای API دور از چشم عموم و کدهای عمومی |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
|
||||||
|
|
||||||
|
1. **تصویر کاور درس:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور مدرن نمایشدهنده کالبدشکافی شماتیک ساختار درختی فایلها به همراه نورپردازی آیکونهای کد، انبار داده و پوشهها.
|
||||||
|
2. **اسکلت و آناتومی پروژه مدرن وب:** `images/project-anatomy-skeleton.png`
|
||||||
|
* **موضوع:** تصویر شماتیک بدن یک اپلیکیشن: پوشه `src` (قلب و اندامها)، پوشه `public` (لباس و ویترین)، `package.json` (کارت ملی) و `node_modules` (انبار ابزارها).
|
||||||
|
3. **کالبدشکافی فایل `package.json`:** `images/package-json-anatomy.png`
|
||||||
|
* **موضوع:** اسکرینشات برچسبگذاریشده با فلشهای رنگی که بخشهای Scripts، Dependencies و DevDependencies را توضیح میدهد.
|
||||||
|
4. **استعاره انبار `node_modules` و بازسازی آن:** `images/node-modules-warehouse.png`
|
||||||
|
* **موضوع:** تصویر انبار بزرگ قطعات و فلش اجرای دستور `npm install` که نشان میدهد در صورت حذف پوشه، فوراً قابل بازسازی است.
|
||||||
|
5. **صندوقچه امن متغیرهای محیطی (`.env`):** `images/env-secrets-vault.png`
|
||||||
|
* **موضوع:** دیاگرام یک گاوصندوق دیجیتال محرمانه که کلیدهای API را از دید کدهای عمومی و گیتهاب پنهان نگه میدارد.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||||
|
|
||||||
|
1. **تیتر اصلی:** `# ساختار و آناتومی پروژه: رمزگشایی از فایلها و پوشهها`
|
||||||
|
2. **مقدمه:** چرا یادگیری نقشه فایلهای پروژه، ترس شما از مواجهه با کدبیسها را برای همیشه از بین میبرد؟
|
||||||
|
3. **جدول کاور درس**
|
||||||
|
4. **چهار ستون تشکیلدهنده یک پروژه وب:** مرور پوشههای اصلی `src`، `public`، `node_modules` و فایلهای ریشه.
|
||||||
|
5. **شناسنامه پروژه: کالبدشکافی `package.json`:**
|
||||||
|
* نام و اسکریپتهای کاربردی (`npm run dev`).
|
||||||
|
* لیست وابستگیها و پکیجها.
|
||||||
|
6. **باکس نکته Quera (`<details class="violet">`):** اولین جایی که یک مهندس حرفهای در یک پروژه ناشناس باز میکند.
|
||||||
|
7. **اسرار پوشه `node_modules`: چرا انقدر بزرگ است؟:** استعاره انبار و آموزش دستور نجاتبخش `npm install`.
|
||||||
|
8. **باکس هشدار Quera (`<details class="red">`):** هرگز فایلهای درون `node_modules` را ویرایش نکنید!
|
||||||
|
9. **صندوقچه امن کلیدها: فایل `.env`:** نحوه نگهداری کلیدهای هوش مصنوعی دور از کدهای مخزن.
|
||||||
|
10. **دستورات مشاهده ساختار فایلها در ترمینال:**
|
||||||
|
* کشوی ویندوز (Windows).
|
||||||
|
* کشوی مکاواس (macOS).
|
||||||
|
* کشوی لینوکس (Linux).
|
||||||
|
11. **جمعبندی درسنامه:** پایان موفقیتآمیز دروس آموزشی فصل ۳ و آمادهسازی برای آزمون جامع راهاندازی محیط کار.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] ساختار پوشهها و فایلهای کلیدی (`package.json`، `node_modules`، `.env`، `src`، `public`) بدون ابهام و با زبان ساده تشریح شده باشد.
|
||||||
|
- [ ] چرخه حیات `package.json` و نحوه بازسازی پوشه `node_modules` با `npm install` آموزش داده شود.
|
||||||
|
- [ ] مفهوم امنیت متغیرهای محیطی در فایل `.env` مورد تاکید قرار گیرد.
|
||||||
|
- [ ] دستورات ترمینالی در ۳ منوی کشویی مجزا برای سیستمعاملها پیاده شوند.
|
||||||
195
chapters/03-workspace-setup/08-quiz-workspace-setup/spec.md
Normal file
195
chapters/03-workspace-setup/08-quiz-workspace-setup/spec.md
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
# مشخصات آزمون تستی: راهاندازی محیط کار و ابزارها (Workspace Setup Quiz)
|
||||||
|
- **شناسه در سیلابس:** `Q3.1`
|
||||||
|
- **فصل:** فصل ۳: راهاندازی محیط کار (Ch 3)
|
||||||
|
- **نوع محتوا:** 📝 آزمون تستی خودکار کوئرا کالج (Practical & Conceptual Multiple-Choice Quiz)
|
||||||
|
- **بارم امتیاز:** ۱۰۰ امتیاز (۱۰ سوال چهارگزینهای کاربردی × ۱۰ امتیاز)
|
||||||
|
- **زمان تقریبی پاسخگویی:** ۱۵ دقیقه
|
||||||
|
- **پیشنیازهای مستقیم:** مطالعه کامل درسنامههای `L3.1` تا `L3.8`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۱. اهداف ارزیابی و توزیع سوالات (Assessment Objectives)
|
||||||
|
این آزمون برای سنجش تسلط عملی و مفهومی دانشجو بر راهاندازی سیستم، ویرایشگرهای دسکتاپ، ایجنتهای ترمینال، ابزارهای وب، گیت، پروتکل MCP و معماری فایلهای پروژه طراحی شده است. توزیع ۱۰ سوال آزمون به شرح زیر است:
|
||||||
|
|
||||||
|
| شماره سوال | درس مرجع | مفهوم مورد سنجش | سطح شناختی (Bloom) | بارم |
|
||||||
|
| :---: | :---: | :--- | :---: | :---: |
|
||||||
|
| **سوال ۱** | `L3.2` | نقش Node.js LTS و علت ارجحیت آن بر نسخه Current در محیط توسعه | Understand | ۱۰ |
|
||||||
|
| **سوال ۲** | `L3.2` | علت خطای اسکریپت در PowerShell ویندوز و فرمان رفع ایمن آن | Apply | ۱۰ |
|
||||||
|
| **سوال ۳** | `L3.3` | تفکیک حالت چت تکفایلی (`Ctrl+L`) از کامپوزر چندفایلی (`Ctrl+I`) در Cursor | Understand | ۱۰ |
|
||||||
|
| **سوال ۴** | `L3.3` | اهمیت مهاجرت تنظیمات و عملکرد ابزارهای دسکتاپ مانند Antigravity و ChatGPT | Understand | ۱۰ |
|
||||||
|
| **سوال ۵** | `L3.4` | سازوکار امنیتی ایجنتهای ترمینال (Claude Code) و چرخه تایید دستورات شل | Evaluate | ۱۰ |
|
||||||
|
| **سوال ۶** | `L3.5` | پل ارتباطی استراتژی دومسیره: انتقال کد از Lovable/Bolt به GitHub و ادیتور محلی | Apply | ۱۰ |
|
||||||
|
| **سوال ۷** | `L3.6` | استعاره ماشین زمان در Git و چرخه ۳ گام اصلی ذخیره و ارسال تغییرات | Apply | ۱۰ |
|
||||||
|
| **سوال ۸** | `L3.6` | کارکرد حیاتی فایل `.gitignore` در محافظت از رمزها و پوشههای سنگین | Evaluate | ۱۰ |
|
||||||
|
| **سوال ۹** | `L3.7` | تفاوت مهارتها (`.cursorrules`) با ابزارهای اجرایی تحت پروتکل MCP | Understand | ۱۰ |
|
||||||
|
| **سوال ۱۰** | `L3.8` | کالبدشکافی `package.json`، بازسازی `node_modules` و محرمانگی `.env` | Evaluate | ۱۰ |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۲. مشخصات و سناریوی سوالات دهگانه (Question Bank Specifications)
|
||||||
|
|
||||||
|
### سوال ۱: انتخاب نسخه استاندارد Node.js (`L3.2`)
|
||||||
|
* **صورت سوال:** هنگام نصب Node.js برای شروع توسعه وب و وایب کدینگ، چرا توصیه میشود حتماً نسخه LTS (پایدار) به جای نسخه Current (آخرین تغییرات) دانلود و نصب گردد؟
|
||||||
|
* الف) نسخه Current فاقد مدیر بسته npm است و باید آن را دستی نصب کرد.
|
||||||
|
* ب) نسخه LTS حداکثر پایداری، سازگاری با کتابخانههای اکوسیستم و کمترین خطاهای ناشناخته را برای پروژهها فراهم میکند.
|
||||||
|
* ج) نسخه Current فقط روی سیستمعامل لینوکس قابل اجراست و روی ویندوز کار نمیکند.
|
||||||
|
* د) نسخه LTS مصرف اینترنت و حجم دانلود بسیار کمتری دارد.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* گزینه الف نادرست است زیرا هر دو نسخه همراه با npm عرضه میشوند.
|
||||||
|
* گزینه ج غلط است؛ هر دو نسخه برای ویندوز، مک و لینوکس موجودند.
|
||||||
|
* گزینه د نادرست است؛ تفاوت در پایداری طولانیمدت (Long Term Support) و ثبات سازگاری پکیجهاست.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۲: حل خطای دسترسی اسکریپت در ویندوز (`L3.2`)
|
||||||
|
* **صورت سوال:** کاربری در سیستمعامل ویندوز قصد اجرای دستورات خط فرمان یا ابزارهای پکیج را دارد اما با خطای قرمزرنگ `running scripts is disabled on this system` متوقف میشود. کدام اقدام استاندارد و امن این مشکل را حل میکند؟
|
||||||
|
* الف) حذف کامل پوشه ویندوز و نصب مجدد سیستمعامل.
|
||||||
|
* ب) اجرای دستور `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser` در محیط PowerShell.
|
||||||
|
* ج) تغییر نام فایلهای پروژه به پسوند `.txt`.
|
||||||
|
* د) غیرفعال کردن همیشگی فایروال ویندوز و آنتیویروس.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* گزینه ب روش رسمی و امن مایکروسافت برای صدور اجازه اجرای اسکریپتهای محلی برای کاربر جاری سیستم است. سایر گزینهها نامربوط، مخرب یا خطرناک هستند.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۳: پنل چت در برابر حالت کامپوزر در ادیتور Cursor (`L3.3`)
|
||||||
|
* **صورت سوال:** در ویرایشگر هوشمند Cursor، چه تفاوت کلیدی میان فشردن کلید میانبر `Ctrl+L` (پنل چت) و `Ctrl+I` (کامپوزر / ایجنت چندفایلی) وجود دارد؟
|
||||||
|
* الف) کلید `Ctrl+L` فایلها را پاک میکند، اما `Ctrl+I` فایل جدید میسازد.
|
||||||
|
* ب) کلید `Ctrl+L` برای پرسیدن سوالات و تحلیل یک بخش مشخص از کد است؛ در حالی که `Ctrl+I` (کامپوزر) مانند یک ایجنت تمامعیار میتواند کدهای چندین فایل مختلف پروژه را همزمان ایجاد یا ویرایش کند.
|
||||||
|
* ج) پنل چت به اینترنت متصل نیست، اما کامپوزر به اینترنت متصل است.
|
||||||
|
* د) کلید `Ctrl+I` تنها در نسخه مکاواس کار میکند و در ویندوز غیرفعال است.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* گزینه ب تمایز بنیادین میان سوال/جواب موضعی با حالت ارکستراسیون چندفایلی ایجنت را بیان میکند. سایر گزینهها کاملاً نادرست هستند.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۴: اکوسیستم ادیتورها و همراهان هوشمند (`L3.3`)
|
||||||
|
* **صورت سوال:** ادیتورهای مدرن وایب کدینگ مانند Cursor و ابزارهایی چون Antigravity چه مزیتی نسبت به باز کردن یک تب چتبات در مرورگر وب دارند؟
|
||||||
|
* الف) آنها حجم اینترنت کمتری مصرف میکنند چون از مدلهای هوش مصنوعی قدیمیتر استفاده مینمایند.
|
||||||
|
* ب) آنها به کل ساختار پروژه، درخت فایلها، ترمینال و فایلهای تنظیمات دسترسی محلی و یکپارچه دارند و کدهای تولیدشده را مستقیماً در محل صحیح فایلها ذخیره میکنند.
|
||||||
|
* ج) آنها نیازی به داشتن حساب کاربری یا اینترنت ندارند.
|
||||||
|
* د) آنها فقط کدهای زبان HTML را ویرایش میکنند.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* یکپارچگی با فایلهای محلی و ادیت مستقیم سورسکد تفاوت اساسی ادیتور بومی هوش مصنوعی با چتباتهای مرورگری است.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۵: سازوکار امنیتی ایجنتهای خط فرمان (`L3.4`)
|
||||||
|
* **صورت سوال:** هنگام استفاده از ابزار پیشرفته Claude Code در محیط ترمینال، چرا ایجنت پیش از اجرای برخی دستورات شل یا ویرایش فایلهای حساس از شما تاییدیه (Approval Prompt) میخواهد؟
|
||||||
|
* الف) این یک باگ نرمافزاری است و باید فوراً برنامه را ببندید.
|
||||||
|
* ب) چون اجرای کدهای شل در ترمینال دسترسی مستقیم به سیستم شما دارد و برای جلوگیری از خطاهای ناخواسته (مانند حذف فایلها یا تغییرات تخریبی)، کنترل نهایی همیشه باید با تایید انسان انجام شود.
|
||||||
|
* ج) چون سرعت اینترنت برای پردازش دستورات کافی نیست.
|
||||||
|
* د) چون ایجنت قادر به تشخیص زبان انگلیسی دستورات نیست.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* نظارت و تایید انسان (Human-in-the-Loop) یک اصل ایمنی کلیدی در کار با ایجنتهای دارای دسترسی شل است.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۶: پل ارتباطی از وب به ادیتور محلی (`L3.5`)
|
||||||
|
* **صورت سوال:** در جریان کاری استراتژی دومسیره (Dual-Track)، پس از اینکه یک پروتوتایپ اولیه زیبا را در پلتفرم Lovable یا Bolt ساختید، بهترین اقدام برای تبدیل آن به یک محصول واقعی و پایدار چیست؟
|
||||||
|
* الف) رها کردن آن و نوشتن تمام کدها از ابتدا روی کاغذ.
|
||||||
|
* ب) کلیک بر روی دکمه Sync / Export to GitHub، انتقال ریپازیتوری به حساب گیتهاب شخصی، و سپس کلون کردن آن روی سیستم برای ادامه توسعه در Cursor با دیتابیس اختصاصی.
|
||||||
|
* ج) کپی کردن اسکرینشات سایت و ارسال آن از طریق ایمیل برای دوستان.
|
||||||
|
* د) پرداخت صدها دلار اشتراک ابری برای همیشه بدون دریافت فایلهای پروژه.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* گزینه ب دقیقاً پیادهسازی پل انتقال و فلسفه مالکیت کامل کد توسط کاربر است.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۷: چرخه ذخیره و ماشین زمان در Git (`L3.6`)
|
||||||
|
* **صورت سوال:** توالی صحیح و استاندارد دستورات خط فرمان برای ثبت یک چکپوینت سالم از تغییرات پروژه و فرستادن آن به مخزن آنلاین گیتهاب کدام است؟
|
||||||
|
* الف) `git push` $\rightarrow$ `git status` $\rightarrow$ `git delete`
|
||||||
|
* ب) `git add .` $\rightarrow$ `git commit -m "پیام ثبت"` $\rightarrow$ `git push`
|
||||||
|
* ج) `git init` $\rightarrow$ `git clone` $\rightarrow$ `git exit`
|
||||||
|
* د) `git checkout` $\rightarrow$ `git format` $\rightarrow$ `git stop`
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* چرخه استاندارد گیت: اضافه کردن تغییرات به استیج (`add`)، ثبت محلی چکپوینت (`commit`) و در نهایت ارسال به سرور گیتهاب (`push`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۸: نقش حیاتی فایل `.gitignore` (`L3.6`)
|
||||||
|
* **صورت سوال:** چرا درج نام پوشه `node_modules` و فایل `.env` در فایل `.gitignore` یک الزام حیاتی در تمامی پروژهها به شمار میرود؟
|
||||||
|
* الف) تا سرعت کامپایل کدهای پروژه در مرورگر سریعتر شود.
|
||||||
|
* ب) تا از آپلود غیرضروری هزاران فایل سنگین کتابخانهها و از همه مهمتر، از افشای عمومی رمزها و کلیدهای محرمانه API در اینترنت جلوگیری شود.
|
||||||
|
* ج) تا گیتهاب پروژه شما را به عنوان اسپم شناسایی نکند.
|
||||||
|
* د) چون نرمافزار Git قادر به خواندن فایلهای با پسوند متنی نیست.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* تفکیک فایلهای حجیم دانلودی و محافظت از اسرار محرمانه مهمترین فلسفه وجودی فایل `.gitignore` است.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۹: تفاوت مهارتها با پروتکل MCP (`L3.7`)
|
||||||
|
* **صورت سوال:** کدام عبارت، تفاوت میان یک مهارت پروژه (مانند فایل `.cursorrules`) و یک ابزار تحت پروتکل MCP (Model Context Protocol) را به درستی توضیح میدهد؟
|
||||||
|
* الف) `.cursorrules` ابزاری برای اتصال به پایگاه داده است، اما MCP فقط سرعت تایپ را زیاد میکند.
|
||||||
|
* ب) `.cursorrules` قوانین و سبک فکری مورد نظر را به هوش مصنوعی دیکته میکند (تزریق دانش)، در حالی که MCP مانند یک کابل USB-C به ایجنت دسترسی اجرایی به ابزارها و دادههای زنده بیرونی (مثل جستجوی وب یا دیتابیس) میدهد.
|
||||||
|
* ج) هر دوی آنها دقیقاً یک کار را انجام میدهند و تفاوتی ندارند.
|
||||||
|
* د) پروتکل MCP تنها روی مرورگر موبایل کارایی دارد.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* تفاوت بنیادین بین Skill (دستورالعمل و ضوابط) و MCP (دسترسی زنده به ابزارهای بیرونی) در گزینه ب کاملاً تبیین شده است.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### سوال ۱۰: کالبدشکافی فایل `package.json` و پوشه `node_modules` (`L3.8`)
|
||||||
|
* **صورت سوال:** اگر پوشه پرحجم `node_modules` به اشتباه از روی کامپیوتر شما پاک شود، چگونه میتوان بدون هیچگونه نگرانی کل پروژه را مجدداً به وضعیت کارکرد سالم بازگرداند؟
|
||||||
|
* الف) پروژه برای همیشه نابود شده و باید از اول شروع کرد.
|
||||||
|
* ب) با باز کردن ترمینال در ریشه پروژه و اجرای یکباره دستور `npm install`، پکیجها بر اساس لیست ثبتشده در فایل `package.json` مجدداً دانلود و ساخته میشوند.
|
||||||
|
* ج) باید تکتک کدهای پروژه را با دست دوباره نوشت.
|
||||||
|
* د) باید با شرکت سازنده کامپیوتر تماس گرفت تا پوشه را ریکاوری کنند.
|
||||||
|
* **گزینه صحیح:** **ب**
|
||||||
|
* **تحلیل گزینههای گمراهکننده:**
|
||||||
|
* فایل `package.json` شناسنامه وابستگیهاست و دستور `npm install` در کسری از زمان تمام فایلهای پاکشده پوشه `node_modules` را از اینترنت بازسازی مینماید.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۳. فرمت خروجی و ساختار تحویل سوالات
|
||||||
|
|
||||||
|
آزمون پس از نگارش نهایی، در پوشه درس به صورت فایل `questions.json` (برای سامانه کوئرا کالج) و همچنین با مستندات تحلیلی در `README.md` با ساختار استاندارد قرار خواهد گرفت:
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"title": "انتخاب نسخه استاندارد Node.js",
|
||||||
|
"question": "متن فارسی سوال...",
|
||||||
|
"options": ["گزینه الف", "گزینه ب", "گزینه ج", "گزینه د"],
|
||||||
|
"correct_index": 1,
|
||||||
|
"score": 10,
|
||||||
|
"explanation": "تحلیل علمی پاسخ صحیح و بررسی خطای سایر گزینهها..."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||||
|
1. **تصویر کاور آزمون:** `images/cover.png`
|
||||||
|
* **موضوع:** کاور با تم تیره و مدال ۱۰۰ امتیازی سنجش آمادگی محیط کار با چکلیست سبز ابزارهای Node, Git, Cursor, MCP و Claude.
|
||||||
|
2. **اینفوگرافیک نقشه ارزیابی فصل ۳:** `images/quiz-evaluation-matrix.png`
|
||||||
|
* **موضوع:** دیاگرام ساختاری که پوشش آزمون روی تمام ارکان محیط کار (سیستم، ادیتور، خط فرمان، وب، گیت، MCP، آناتومی پروژه) را نمایش میدهد.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۵. معیارهای قبولی و سیستم امتیازدهی (Grading Rubric)
|
||||||
|
- **کل امتیاز:** ۱۰۰ امتیاز.
|
||||||
|
- **حد نصاب قبولی پایه در گواهی کوئرا:** ۵۰ امتیاز (پاسخ صحیح به حداقل ۵ سوال).
|
||||||
|
- **سطوح گواهی برای این آزمون:**
|
||||||
|
* ۱۰۰ امتیاز: ثبت حداکثر سهمیه جهت رتبه **Perfect** در پایان دوره.
|
||||||
|
* ۹۰ امتیاز: سطح **Very Good**.
|
||||||
|
* ۷۰ تا ۸۰ امتیاز: سطح **Good**.
|
||||||
|
* ۵۰ تا ۶۰ امتیاز: سطح **Fair**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ۶. معیارهای پذیرش سند آزمون (Acceptance Criteria for Reviewer)
|
||||||
|
- [ ] دقیقا ۱۰ سوال چهارگزینهای کاربردی با سناریوهای ملموس روزمره تدوین شده باشد.
|
||||||
|
- [ ] سوالات تمام دروس ۳.۱ تا ۳.۸ را به شکل متوازن و متناسب پوشش دهند.
|
||||||
|
- [ ] پاسخهای صحیح و خطاهای مفهومی گزینههای گمراهکننده با دقت تحلیل شده باشند.
|
||||||
|
- [ ] هیچ سوالی صرفاً بر مبنای حفظ کردن اعداد بیفایده طراحی نشده باشد و کاربرد عملی ملاک باشد.
|
||||||
Reference in New Issue
Block a user