# مشخصات درسنامه: ابزارهای خط فرمان و ایجنتهای ترمینال (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 در سراسر سیستمعاملها (در قالب منوهای کشویی جداگانه):**
* `راهنمای نصب و اجرا در ویندوز (Windows PowerShell / Terminal)
... `:
دستور `npm install -g @anthropic-ai/claude-code` و نحوه حل هشدارهای احتمالی مسیر (Path).
* `راهنمای نصب و اجرا در مکاواس (macOS Terminal / iTerm2)
... `:
دستور نصب npm و تنظیم پرمیژنهای احتمالی.
* `راهنمای نصب و اجرا در لینوکس (Linux Bash / Zsh)
... `:
دستور نصب سراسری و مجوزهای کاربری بدون نیاز به sudo بیمورد.
4. **احراز هویت و اولین ورود (Authentication & First Run):**
* تایپ دستور `claude` در ترمینال.
* ورود به حساب Anthropic و تایید توکن دسترسی.
5. **جریان کاری استاندارد یک ایجنت ترمینال (The CLI Loop):**
* کاربر مسئله را میگوید $\rightarrow$ ایجنت فایلها را بررسی میکند $\rightarrow$ پیشنهاد ادیت میدهد $\rightarrow$ کاربر تایید میکند $\rightarrow$ ایجنت تست یا بیلد را اجرا میکند.
6. **امنیت در خط فرمان و کنترل کاربر:**
* چرا هوش مصنوعی برای اجرای دستورات شل (مانند حذف، جابجایی یا نصب) از شما اجازه (Prompt Approval) میخواهد؟
* پرهیز جدی از فلگهای خودکارساز خطرناک مانند رد کردن تایید دستورات، به ویژه در کارهای پرخطر.
7. **کالاوتهای Quera:**
* ``: هشدار بسیار جدی: خطرات دستورات تخریبی در شل (`rm -rf` یا پاک کردن فایلها) و الزام بررسی دستور پیش از فشردن Enter.
* ``: کلیدهای کنترل و نجات در ترمینال (`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 (``):** مراقبت در تایید دستورات ترمینال و پرهیز از دستورات مخرب.
9. **کلیدهای طلایی کنترل سشن در خط فرمان:**
* توقف فوری با `Ctrl+C`.
* سبکسازی بافت با `/compact`.
* خروج تمیز با `/exit`.
10. **باکس نکته پیشرفته Quera (``):** چه زمان از Cursor استفاده کنیم و چه زمان به ترمینال برویم؟
11. **جمعبندی درسنامه:** تسلط بر دو بال اصلی محیط کار: ادیتور محلی و ایجنت خط فرمان.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] مراحل نصب با `npm` و دستورات بررسی برای ویندوز، مک و لینوکس در منوهای کشویی مجزا درج شده باشد.
- [ ] مفهوم ایجنت ترمینال و تفاوت آن با چتباتهای متنی به روشنی تفهیم شده باشد.
- [ ] جنبههای امنیتی تایید دستورات شل و هشدارهای مربوط به خطرات فایلهای حساس مورد تاکید قرار گیرد.
- [ ] دستورات میانبر و کنترلی (`Ctrl+C`، `/compact`) به درستی آموزش داده شوند.