کار عملی با رابط خط فرمان آنتی‌گراویتی

۱. مقدمه

در این آزمایشگاه کد، شما با Antigravity CLI ، یک رابط کاربری ترمینال (TUI) سبک برای Antigravity، آشنا خواهید شد. این رابط، همان قابلیت‌های اصلی عامل Antigravity (مانند استدلال چند مرحله‌ای، ویرایش چند فایلی، فراخوانی ابزار و تاریخچه مکالمه) را مستقیماً به ترمینال شما می‌آورد.

آنچه یاد خواهید گرفت

  1. نصب و پیکربندی رابط خط فرمان آنتی‌گراویتی
  2. آشنایی با کاربردهای اولیه‌ی رابط خط فرمان Antigravity
  3. بررسی چند مورد استفاده با Antigravity CLI

آنچه نیاز دارید

شما به موارد زیر نیاز خواهید داشت:

  • مرورگر وب کروم
  • یک حساب جیمیل شخصی

این آزمایشگاه کد، برای کاربران و توسعه‌دهندگان در تمام سطوح (از جمله مبتدیان) طراحی شده است. موارد استفاده در آزمایشگاه کد به وظایف توسعه‌دهنده و غیر توسعه‌دهنده طبقه‌بندی شده‌اند. موارد استفاده توسعه‌دهنده، نحوه‌ی کدنویسی با Antigravity CLI و کار با مخزن GitHub را برای انجام وظایف رایج توسعه مانند توضیح/درک کد، تولید مستندات، رفع مشکلات و موارد دیگر نشان می‌دهد. توصیه می‌شود این موارد استفاده را در آزمایشگاه کد تکمیل کنید. در انتها یک بخش اختیاری وجود دارد که چندین کار روزمره را که متمرکز بر غیر توسعه‌دهنده هستند، پوشش می‌دهد.

۲. نصب

قبل از انجام تنظیمات و اجرای Antigravity CLI، بیایید یک پوشه ایجاد کنیم که از آن به عنوان پوشه اصلی برای تمام پروژه‌هایی که درون آن ایجاد می‌کنیم استفاده خواهیم کرد. این یک نقطه شروع برای کار Antigravity CLI است، اگرچه به برخی پوشه‌های دیگر روی سیستم شما نیز اشاره خواهد کرد که در صورت نیاز بعداً به آنها مراجعه خواهید کرد.

یک پوشه نمونه ( agy-cli-projects ) ایجاد کنید و از طریق دستورات نشان داده شده در زیر به آن بروید. اگر ترجیح می‌دهید از نام پوشه دیگری استفاده کنید، لطفاً این کار را انجام دهید.

mkdir agy-cli-projects

بیایید به آن پوشه برویم:

cd agy-cli-projects

نصب آن سرراست است و فایل‌های باینری آن در سیستم‌عامل‌های اصلی موجود است. من دستورات لازم برای اجرا در ترمینال را مستقیماً از سند نصب گرفته‌ام:

مک او اس | لینوکس

curl -fsSL https://antigravity.google/cli/install.sh | bash

ویندوز پاورشل

irm https://antigravity.google/cli/install.ps1 | iex

سی ام دی ویندوز

curl -fsSL https://antigravity.google/cli/install.cmd -o install.cmd && install.cmd && del install.cmd

در حالت ایده‌آل، این باید رابط خط فرمان Antigravity ( agy ) را در سیستم شما و در مسیر مربوطه راه‌اندازی و نصب کند.

در برخی موارد، اگر نصب‌کننده نتواند فایل باینری (agy) را به PATH اضافه کند، این را به شما می‌گوید و به شما اطلاع می‌دهد که برای اضافه کردن آن به PATH چه کاری باید انجام دهید.

فقط کافیست نسخه Antigravity CLI را از طریق دستور زیر بررسی کنید:

agy --version

باید نسخه Antigravity CLI که نصب کرده‌اید را به شما نشان دهد. در زمان آخرین به‌روزرسانی این آزمایشگاه کد، این 1.1.27 بود.

وقتی برای اولین بار Antigravity CLI را اجرا می‌کنیم، از شما می‌خواهد که وارد سیستم شوید. agy را اجرا کنید و باید چیزی شبیه به این را نشان دهد:

    ▄▀▀▄
   ▀▀▀▀▀▀
  ▀▀▀▀▀▀▀▀
 ▄▀▀    ▀▀▄
▄▀▀      ▀▀▄

Welcome to the Antigravity CLI. You are currently not signed in.

Select login method:
> 1. Google OAuth
  2. Use a Google Cloud project

[Use arrow keys to navigate, Enter to select]

فعلاً از حساب شخصی خود استفاده کنید. گزینه ۱. Google OAuth را انتخاب کنید و Enter را بزنید. با این کار یک مرورگر باز می‌شود و می‌توانید با حساب گوگل خود وارد شوید. پس از احراز هویت و مجوز موفقیت‌آمیز، از شما خواسته می‌شود یک کد را کپی کنید. لطفاً به ترمینال Antigravity CLI برگردید و کد را جایگذاری کنید.

پس از موفقیت آمیز بودن ورود، چند اتفاق می‌افتد:

  1. در ابتدا، از شما در مورد تم رنگی که می‌خواهید برای Antigravity CLI انتخاب کنید، همانطور که در زیر نشان داده شده است، سوال می‌شود. تم مورد نظر خود را انتخاب کنید.
  2. در مرحله بعد، باید چند مورد از شرایط خدمات را بپذیرید. آنها را بپذیرید.

در نهایت، مهمترین چیز این است که اجازه دهید پوشه مورد اعتماد شما باشد، همانطور که در زیر نشان داده شده است:

Accessing workspace:

/Users/yourusername/agy-cli-projects

Do you trust the contents of this project?

Antigravity CLI requires permission to read, edit, and execute files here.

> Yes, I trust this folder
 No, exit

 ↑/↓ Navigate · enter Confirm

معمولاً این را در هر پوشه جدیدی که Antigravity CLI را در آن اجرا کنید، خواهید دید. بعداً در این مجموعه بیشتر به این موضوع خواهیم پرداخت، اما فعلاً، بگویید بله، من به این پوشه اعتماد دارم .

تبریک! اکنون همه چیز آماده است و Antigravity CLI منتظر اعلان شماست.

۳. اولین تعامل ما با رابط خط فرمان آنتی‌گراویتی

بیایید با Antigravity CLI شروع کنیم و اولین کوئری خود را مطابق شکل زیر تایپ کنیم:

Give me a famous quote on Artificial Intelligence and who said that?

ما یک پاسخ نمونه مانند تصویر زیر دریافت می‌کنیم:

Identifying a famous AI quote
  │ "Artificial intelligence is the new electricity."
  │
  │ — Andrew Ng, Co-founder of Coursera and Google Brain

  Another iconic, foundational quote:
  │ "A computer would deserve to be called intelligent if it could 
  │  deceive a human into believing that it was human."
  │
  │ — Alan Turing, Mathematician and pioneer of modern computer 
      science
                                                                                                                

جدا از ارائه دستورالعمل‌ها در اینجا، دستورات مختلفی که Antigravity CLI پشتیبانی می‌کند چیست؟ می‌توانید با تایپ کردن /help (علامت اسلش) آن را پیدا کنید. این دستور 3 تب را به شما نشان می‌دهد: عمومی ، دستورات و میانبرها . به طور پیش‌فرض، به تب عمومی خواهید رسید و می‌توانید از کلید تب برای پیمایش به دستورات استفاده کنید، جایی که انواع دستورات را مشاهده خواهید کرد. همچنین می‌توانید به میانبرهای صفحه کلید نیز پیمایش کنید.

یک نمونه تصویر از لیست دستورات در زیر نشان داده شده است:

ea76d888e89a471c.png

نکته : می‌توانید هر زمان که خواستید از طریق دستور /quit از Antigravity CLI خارج شوید یا می‌توانید در جلسه ترمینال تعاملی Antigravity CLI دو بار ctrl+d را فشار دهید.

۴. رابط خط فرمان ضد جاذبه - چند دستور برای مدیریت خانه

مطمئن شوید که Antigravity CLI در حال اجرا بوده و منتظر دستور شماست. اگر در انتهای بخش قبلی دستور /quit را امتحان کرده‌اید، لطفاً Antigravity CLI را دوباره از طریق دستور agy اجرا کنید.

به مدلی که استفاده می‌کند توجه کنید، نام آن در پایین سمت راست نشان داده می‌شود. اولین نکته در حالت ایده‌آل این است که بدانید اکثر سفارشی‌سازی‌ها و تنظیماتی که باید انجام دهید از طریق دستور /config یا /settings در دسترس هستند.

پیکربندی / تنظیمات

دستور /config اجرا کنید. این کار بخش‌های مختلفی از Antigravity را نمایش می‌دهد که می‌توانید بر اساس تنظیمات خود آن‌ها را سفارشی کنید. این شامل طرح رنگ، مجوز ابزار، تنظیمات تله‌متری و موارد دیگر می‌شود.

Settings
  Search:  
          ────────────────────
> Agent Mode                   default
  Animation Speed              medium
  Artifact Review              asks for review
  Color Scheme                 terminal
  Conversation Picker Grouping none
  Copy on Select               on
  Editor                       auto ($EDITOR)
  Editor Mode                  default
  Enable Telemetry             on
  Non-Workspace Access         off
  Notifications                off
  Rendering Mode               native terminal (inline)
  Sandbox Mode                 off
  Show Active Tasks            on
  Show Feedback Survey         on
  Show Tips                    on
  Tool Permission              request-review
  Use AI Credits               off
  Verbosity                    high

برای مثال، بخش «طرح رنگ» گزینه‌های زیر را نمایش می‌دهد که می‌توانم از بین آنها طرح رنگ مورد نظرم را انتخاب کنم:

6e447a36ed0039cc.png

تنظیمات.json

تنظیمات پیکربندی باید جایی ذخیره شوند، درست است؟ همه آنها در فایل ~/.gemini/antigravity-cli/settings.json ذخیره می‌شوند. نمونه‌ای از آن در زیر نشان داده شده است:

{
      "colorScheme": "dark",
      "model": "Gemini 3.8 Flash (Medium)",
      "statusLine": {
        "type": "",
        "command": "",
        "enabled": true
      },
      "trustedWorkspaces": [
        "/Users/romin/antigravity-cli-projects",
        "/Users/romin/agy-cli-projects"
      ]
    }

می‌توانید متوجه colorScheme که انتخاب کرده‌ام، مدل و همچنین پوشه‌های مختلفی که Antigravity CLI را از آنجا شروع کرده‌ام و به اعتماد به پوشه‌ها بله گفته‌ام، شوید.

توجه : می‌توانید فایل settings.json مستقیماً نیز تغییر دهید و برای مشاهده تغییرات، Antigravity CLI را مجدداً راه‌اندازی کنید. اما از تنظیمات مطمئن شوید، در غیر این صورت هنگام راه‌اندازی خطایی نمایش داده می‌شود. اگر با تغییر مستقیم فایل راحت نیستید، پیشنهاد می‌شود از دستور /settings یا /config در Antigravity CLI برای کار با این فایل استفاده کنید.

مجوز ابزار

یکی از تنظیمات مهمی که باید درک شود، مجوز ابزار (Tool Permission) است. این تنظیم کنترل می‌کند که آیا دستورات ترمینال قبل از اجرا نیاز به تأیید شما دارند یا خیر. می‌توانید از طریق دستور /config به این بخش دسترسی پیدا کنید.

 Tool Permission
  > request-review (current)
    proceed-in-sandbox
    always-proceed
    strict

به طور پیش‌فرض، روی request-review تنظیم شده است. بیایید این را با جزئیات بیشتری درک کنیم. در Antigravity، تنظیمات مجوز ابزار، تعادل بین امنیت (محافظت از سیستم میزبان شما در برابر تغییرات ناخواسته) و سرعت (میزان خودمختاری عامل بدون مکث برای ورودی شما) را کنترل می‌کند. بیایید گزینه‌ها را بررسی کنیم:

درخواست-بررسی (پیش‌فرض فعلی)

در این حالت، با عامل به عنوان یک شریک مشارکتی رفتار می‌شود که قبل از انجام هر عملی که می‌تواند بر سیستم یا فایل‌های پروژه شما خارج از محدوده‌های از پیش تأیید شده تأثیر بگذارد، بررسی می‌کند. هر زمان که عامل سعی کند یک دستور ترمینال را اجرا کند، یک عملیات فایل (مانند نوشتن/حذف) انجام دهد یا یک سرویس خارجی را در جایی که مجوز از پیش تأیید نشده است، فراخوانی کند، اجرا متوقف می‌شود. از کاربر خواسته می‌شود که عمل خاص را تأیید یا رد کند.

ادامه در سندباکس

این حالت به عامل اجازه می‌دهد تا دستورات ترمینال را به طور خودکار اجرا کند، اما در یک کانتینر امن و ایزوله. عامل می‌تواند دستورات را بدون درخواست شما اجرا کند، اما این دستورات در یک جعبه شنی مجازی (مثلاً یک کانتینر سبک) اجرا می‌شوند. آنها نمی‌توانند سیستم فایل دستگاه میزبان واقعی شما را تغییر دهند یا به شبکه محلی شما دسترسی پیدا کنند.

همیشه ادامه بده

این حالت کاملاً خودکار است و به عامل حداکثر سرعت و قابلیت را می‌دهد. به عامل اجازه کامل برای اجرای دستورات و نوشتن فایل‌ها مستقیماً روی دستگاه میزبان شما داده می‌شود. هرگز از شما تأییدیه نمی‌خواهد.

سخت‌گیر

این یک حالت با امنیت بالا و بدون نیاز به اعتماد (zero-trust) است. قابلیت‌های عامل (agent) به اجرای ابزارهای خواندنی (read tools) محدود شده است. تمام ابزارهای غیر خواندنی (non-read tools) نیاز به درخواست از کاربر برای انجام کاری دارند.

۵. رابط خط فرمان ضد جاذبه - پارامترهای فرمان

چند پارامتر خط فرمان وجود دارد که می‌توان هنگام شروع Antigravity CLI ارائه داد. برای دریافت لیست کامل گزینه‌ها، می‌توانید از --help همانطور که در زیر نشان داده شده است استفاده کنید.

agy --help

این باید طیف کاملی از گزینه‌های موجود را نشان دهد. یک نمونه از فهرست در زیر نشان داده شده است:

b7be58b504b78c1f.png

بیایید نگاهی به چند مورد از آنها بیندازیم.

حالت غیر تعاملی (خودمختار)

یک گزینه جالب، اجرای Antigravity CLI در حالت غیر تعاملی است. این بدان معناست که شما مستقیماً به آن اعلان (prompt) می‌دهید و بدون باز شدن ترمینال تعاملی Antigravity CLI، به آن پاسخ می‌دهد. اگر قصد دارید از Antigravity CLI به صورت خودکار به عنوان بخشی از اسکریپت یا هر فرآیند اتوماسیون دیگری استفاده کنید، این گزینه بسیار مفید است.

شما از پارامتر -p برای ارائه اعلان به Antigravity CLI مانند تصویر زیر استفاده می‌کنید:

agy -p "What is the gcloud command to deploy to Cloud Run"

این ممکن است راه خوبی برای دریافت پاسخ‌های سریع باشد، اما به خاطر داشته باشید که هیچ امکانی برای ادامه مکالمه با سوالات تکمیلی وجود ندارد.

یک مدل خاص را انتخاب کنید

اولین مورد این است که از Antigravity CLI بخواهید از یک حالت خاص Gemini استفاده کند. می‌توانید از پارامتر --model برای گفتن به Antigravity CLI استفاده کنید که فقط در طول جلسه خود از یک مدل خاص استفاده کند. این برای حالت غیر تعاملی که در بخش قبلی به آن اشاره کردیم بسیار مفید است، جایی که می‌خواهید چندین جلسه agy راه‌اندازی کنید و از مدل‌های خاص برای کارهای خاص استفاده کنید.

اما ابتدا باید بدانید که کدام مدل‌ها برای Antigravity CLI در دسترس هستند. می‌توانید این کار را از طریق زیردستور models همانطور که در زیر نشان داده شده است انجام دهید:

agy models

این لیست مدل‌هایی را که برای Antigravity CLI در دسترس هستند، نمایش می‌دهد.

یک لیست نمونه در زیر نشان داده شده است:

  • فلاش جمینی ۳.۸-بالا فلاش جمینی ۳.۸ (بالا)
  • فلاش جمینی ۳.۸ متوسط ​​(Gemini 3.8 Flash)
  • فلاش-کم-جمینی ۳.۸-جمینی ۳.۸ فلاش (کم)
  • Gemini-3.7-flash-high Gemini 3.7 Flash (زیاد)
  • فلش جمینی ۳.۷ متوسط
  • Gemini-3.7-flash-low Gemini 3.7 Flash (کم)
  • Gemini-3.6-فلش-بالا Gemini 3.6 فلش (بالا)
  • فلش جمینی ۳.۶ متوسط
  • Gemini-3.6-flash-low Gemini 3.6 Flash (کم)
  • جمینی ۳.۱ پرو (بالا)
  • جمینی ۳.۱ پرو (کم)

شما می‌توانید از هر یک از این نام‌های مدل برای مشخص کردن مدلی که قرار است برای جلسه استفاده شود استفاده کنید. می‌توانید این کار را از طریق دستور --model که در زیر نشان داده شده است انجام دهید:

agy --model "Gemini 3.7 Flash (Low)"

پس از اجرای Antigravity CLI، می‌توانید از طریق دستور /model مدل خاصی را که از آن خواسته‌اید استفاده کند، بررسی کنید یا به پایین سمت راست که مدل مورد استفاده برای جلسه را نشان می‌دهد، نگاه کنید.

زندگی خطرناک

اگر دوست دارید در شرایط خطرناک زندگی کنید، می‌توانید به دنبال پارامتری با نام بسیار مناسب به نام --dangerously-skip-permissions بگردید. این پارامتر به طور خودکار تمام مجوزهای ابزار را تأیید می‌کند. هیچ پیامی مبنی بر درخواست مجوز از شما نمایش داده نمی‌شود. بنابراین با احتیاط از آن استفاده کنید.

آنتی‌گراویتی (Antigravity) را از طریق دستور زیر اجرا کنید:

agy --dangerously-skip-permissions

سپس دستور زیر را اجرا کنید. بررسی کنید که از من هیچ مجوز نوشتن فایلی را نپرسیده باشد.

> get the latest news and write it in a file called news.txt. Then create another file that contains the summary of that file.

  The latest news has been retrieved and written to news.txt, and a concise summary has been saved to summary.txt.
  ### Summary of Created Files
  • **news.txt**: Contains detailed reports covering major global events across:
      • Geopolitics & Conflict: Escalations in the Ukraine conflict and a deadly barracks explosion in Bolivia.
      • Natural Disasters & Science: Severe monsoon and flash flooding in Nepal and Northern India (Bihar), plus ISRO's launch of the EOS-05 satellite.
      • U.S. Economy & Legal: August jobs report exceeding forecasts (+162,000 jobs), surging diesel prices, and a mistrial in the Lindsay Clancy case.
      • Global Initiatives: The UN's endorsement of a revised world map reflecting Africa's true scale and the International Day of Charity observance.
  • **summary.txt**: Provides an executive bullet-point summary highlighting the key points of the full news report.                                                   

این حالت می‌تواند در سناریوهایی مفید باشد که همه چیز محلی و تحت کنترل شماست، اما همچنان برای غافلگیری‌ها آماده هستید و از این رو با احتیاط از آن استفاده کنید.

۶. رابط خط فرمان ضد جاذبه - حالت پوسته

الان زمان خوبی برای یادگیری نحوه کار مستقیم با Shell از داخل Antigravity CLI است. می‌توانید با فشار دادن ! در کادر پیام، به حالت shell بروید. این کار شما را به حالت Shell تغییر می‌دهد. می‌توانید با فشار دادن دوباره ! یا زدن کلید ESC به حالت اولیه برگردید.

وقتی در حالت shell هستید، علامت ! را در ابتدای اعلان فرمان، مطابق شکل زیر، مشاهده خواهید کرد:

8019057be515e68f.png

شما می‌توانید مستقیماً با استفاده از دستورات استاندارد مانند pwd و ls بررسی کنید. لطفاً توجه داشته باشید که این دستورات فرض می‌کنند سیستم عامل شما از نوع لینوکس است. اگر از سیستم عامل دیگری (ویندوز) استفاده می‌کنید، لطفاً از دستورات معادل مانند ( cd ، dir و type ) استفاده کنید.

۷. از موارد برای امتحان کردن استفاده کنید

رابط خط فرمان آنتی‌گراویتی (Antigravity CLI) می‌تواند در طیف گسترده‌ای از موارد استفاده، چه برای توسعه‌دهندگان و چه برای غیر توسعه‌دهندگان، اعمال شود. در اینجا چند سناریو ارائه شده است و بسته به حوزه مورد علاقه‌تان، می‌توانید هر یک یا همه آنها را امتحان کنید.

در هر یک از این موارد، دستورالعملی ارائه شده است. شما می‌توانید این را در حالت تعاملی Antigravity CLI امتحان کنید تا بهتر بفهمید که Antigravity CLI چگونه وظیفه خود را انجام می‌دهد.

کدنویسی Vibe با Antigravity CLI

بیایید از Antigravity CLI برای کدنویسی vibe یک برنامه استفاده کنیم. در این کار، از Antigravity CLI می‌خواهید که یک برنامه تولید کند و سپس نسخه اولیه را به یک مخزن GitHub ارسال کند.

پیش‌نیاز

برای انجام وظایف این بخش، چند پیش‌نیاز وجود دارد:

  • گیت
  • رابط خط فرمان ضد جاذبه
  • محیط پایتون ۳
  • راه‌اندازی gh ( ابزار خط فرمان گیت‌هاب ).
  • آشنایی با اصول اولیه گیت و کمی دانش برنامه‌نویسی

فرض می‌کنیم که شما Antigravity CLI را در یک پوشه خاص به دلخواه خود اجرا کرده‌اید. در مورد ما، ما Antigravity CLI را از پوشه اصلی اصلی یعنی agy-cli-projects و پوشه دیگری famous-quotes درون آن اجرا کرده‌ایم.

ما قصد داریم ابتدا از Antigravity CLI بخواهیم که کار را برنامه‌ریزی کند . برای این کار از دستور /plan استفاده می‌کنیم و اعلان اولیه خود را ارائه می‌دهیم. تصور کنید که از Antigravity CLI می‌خواهیم درخواست ما را تجزیه و تحلیل کند و طرحی برای ساخت برنامه ما ارائه دهد. در صورت تمایل می‌توانید آن را مطابق میل خود تغییر دهید.

/plan a web application using plain vanilla javascript, html and Python flask to display a random quote from 100 well-known quotes. I should be able to search based on the author of the quote or some categories.

به خاطر داشته باشید که در طول جلسه با Antigravity CLI، از شما مجوزهایی برای ایجاد فایل‌ها و غیره درخواست خواهد شد. مجوزهای لازم را بدهید.

رابط خط فرمان ضد جاذبه (Antigravity CLI) موارد زیر را به ما ارائه می‌دهد:

I have created the detailed implementation plan for the Famous Quotes web application:

 👉 famous_quotes_plan.md

 ### Key Highlights

  100 Curated Quotes: Formatted with verified authors and diverse categories (Inspiration, Philosophy, Wisdom, Courage, Life, Humor, etc.).
  Python Flask Backend: RESTful API endpoints for random quotes, search, category/author aggregation, and security response headers.
  Pure Vanilla JavaScript & Modern CSS: Safe DOM manipulation (createElement, textContent, replaceChildren), real-time search and filter controls, animated random quote card, and
 copy-to-clipboard interactions.
  Automated Testing & Security Checks: unittest suite covering API behaviors, edge cases, and security headers.

 Please review the plan and click Proceed or let me know if you would like any changes!          

                                                                                                                                                           1 artifact · /artifact to review

متوجه خواهید شد که نوشته شده است ۱ مصنوع /مصنوع برای بررسی .

مصنوعات فایل‌هایی هستند که Antigravity تولید می‌کند و شما می‌توانید برای درک بیشتر آنها را بررسی کنید. می‌توانید مصنوعات را فهرست، تأیید و با آنها کارهایی انجام دهید. در این سناریو، Antigravity مصنوع famous_quotes_plan.md را ایجاد کرده است و ما می‌توانیم آن را مشاهده کنیم. اگر دستور /artifact را اجرا کنید، موارد زیر را ارائه می‌دهد:

۱f۵۸d۱fad۸۷۸۳۱۰۶.png

اکنون می‌توانید از کلیدهای جهت‌نما / تب برای باز کردن / تأیید / رد فایل استفاده کنید.

اگر گزینه open را انتخاب کنید، می‌توانید جزئیات طرح را مانند تصویر زیر مشاهده کنید:

2bafd1201e5a2afc.png

به این ترتیب می‌توانید محصول را مشاهده کنید، تغییراتی را پیشنهاد دهید و در نهایت در صورت نیاز آن را تأیید کنید.

آن را تأیید کنید. این باعث می‌شود Antigravity به وظیفه بعدی در گردش کار، یعنی تولید برنامه برای ما، بپردازد.

پس از اتمام کار، Antigravity خروجی زیر را ارائه می‌دهد:

The Famous Quotes web application has been built, tested, and verified.

 ### Summary of What Was Built

  Curated 100 Quotes Dataset: quotes.json contains exactly 100 famous quotes across 10 categories (Inspiration, Philosophy, Wisdom, Courage, Life, Success, Humor, Science, Leadership,
 Perseverance) and 72 distinct authors.
  Python Flask Backend: app.py exposes REST API endpoints for fetching random quotes (/api/quotes/random), multi-criteria searching/filtering (/api/quotes), and category/author
 aggregation (/api/categories, /api/authors), with strict security headers (CSP, X-Frame-Options: DENY, X-Content-Type-Options: nosniff).
  Safe Vanilla JavaScript: app.js implements dynamic DOM updates strictly via safe methods (createElement, textContent, replaceChildren), clipboard copying with non-blocking toast
 notifications, and debounced real-time search.
  Semantic HTML & Modern CSS: index.html and styles.css deliver a responsive UI with smooth card fade animations and mobile support.
  Automated Tests: test_app.py contains 15 passing test cases covering dataset integrity, API search/filter parameters, random quote selection, and security headers.

 ### Detailed Walkthrough

 Please see the complete walkthrough and security report in 👉 walkthrough.md.

 ### How to Run

   cd /Users/romin/agy-cli-projects/famous-quotes
   source .venv/bin/activate
   python3 app.py

 Open http://127.0.0.1:5001 in your browser to explore the application.

توجه داشته باشید که یک مصنوع جدید نیز ایجاد شده است، یعنی walkthrough.md که اطلاعاتی در مورد آنچه انجام شده و نحوه آزمایش موارد ارائه می‌دهد. من می‌توانم این مصنوع را نیز از طریق دستور /artifact مشاهده کنم.

be63b172c2ec29fc.png

خروجی جزئی فایل walkthrough.md در زیر نشان داده شده است:

۴۸۹۸۶۱۶۴۹۵b۳۳۸۲۳.png

این هم برنامه وب نهایی:

c88a3296cdee47c4.png

فعلاً می‌توانیم متوقف شویم. ایده این بود که نشان دهیم و بررسی کنیم که با نیازهای ساده چه کاری می‌تواند انجام دهد.

(اختیاری) تغییرات را به مخزن گیت‌هاب ارسال کنید

اگر نمی‌خواهید وب‌سایت رویدادی که ایجاد کرده‌ایم را به گیت‌هاب منتقل کنید، می‌توانید این بخش را نادیده بگیرید و به بخش بعدی بروید.

اول از همه، بیایید یک فایل .gitignore ایجاد کنیم و می‌توانید از Antigravity CLI کمک بگیرید.

Create a .gitignore file for this project.

مرحله بعدی برای شما این است که به Antigravity CLI دستور دهید تا این مخزن را تحت حساب GitHub ما قرار دهد و این باید از Github helper (gh) استفاده کند که انتظار می‌رود در دستگاه شما موجود و پیکربندی/تنظیم شده باشد.

یک درخواست مشابه درخواست زیر بدهید:

Great! I would now like to push all of this to a new repository in my GitHub account. I would like to name this repository <Your-Name>-famous-quotes

در اینجا تعدادی دستور را طی خواهد کرد:

  1. مخزن را ایجاد کنید.
  2. این برنامه از چندین دستور گیت شامل init، add و commit برای مدیریت مخزن محلی گیت استفاده خواهد کرد.
  3. سپس ریموت گیت را تنظیم کرده و یک push انجام می‌دهد.

اگر همه چیز خوب پیش برود، باید یک مخزن گیت‌هاب داشته باشید. می‌توانید از صفحه مخزن گیت‌هاب دیدن کنید. یک نمونه تصویر در زیر نشان داده شده است:

۳۲۲۶۶۳۶۵۷۳fac۲۸۷.png

توجه داشته باشید که شما برای این پروژه README.md ایجاد نکرده‌اید و این تمرین خوبی برای بخش بعدی است، جایی که اکنون با این مخزنی که شما ایجاد کرده‌اید کار خواهیم کرد.

استفاده از Antigravity CLI برای کار با مخزن کد

در این مورد استفاده، شما باید از Antigravity CLI برای کار با یک مخزن کد استفاده کنید. شما چندین کار انجام خواهید داد که شامل موارد زیر است:

  • درک پایه کد
  • تولید مستندات
  • پیاده‌سازی یک ویژگی جدید

این باید پایه خوبی برای کار با مخازن شما و استفاده از Antigravity CLI به عنوان دستیار در مقابل این وظایف خاص توسعه‌دهنده باشد.

پیش‌نیاز

برای انجام وظایف این بخش، به موارد زیر نیاز دارید:

  • رابط خط فرمان ضد جاذبه
  • شما باید بخش قبلی را تکمیل کرده باشید و کدی که تولید شده است را در دسترس داشته باشید، جایی که ما یک برنامه نقل قول‌های مشهور ایجاد کردیم.

بیایید به استفاده از Antigravity CLI از پوشه/دایرکتوری که برای تولید برنامه Famous Quotes استفاده کردید، ادامه دهیم.

دستورالعمل‌های زیر را مطابق آنچه در زیر آمده است، امتحان کنید:

درک پایه کد

  • من می‌خواهم این پروژه را با جزئیات درک کنم. به من کمک کنید تا ویژگی‌های اصلی را درک کنم و سپس آن را به سمت سرور و کلاینت تقسیم کنم. یک نمونه از جریان کاری را در نظر بگیرید و نحوه عملکرد درخواست و پاسخ را به من نشان دهید.

توجه داشته باشید که این یک فایل جدید (artifact) ایجاد می‌کند و شما می‌توانید تمام artifactها یا artifactهای خاص را از طریق

/artifact

فرمان دادن.

  • @app.py را توضیح دهید

تولید فایل README

  • برای این پروژه یک فایل README ایجاد کنید.

پیاده‌سازی یک ویژگی جدید

  • لطفاً دو ویژگی کاربردی ساده را پیاده‌سازی کنید: یک دکمه «کپی در کلیپ‌بورد» برای هر نقل‌قول و یک دکمه «صادر کردن به CSV».
  • لطفاً یک کلید ساده برای تغییر وضعیت در هدر پیاده‌سازی کنید که با بازنویسی متغیرهای ریشه CSS، طرح رنگ صفحه را از حالت تیره به روشن تغییر دهد.

این باید طرحی را در اختیار شما قرار دهد که بتوانید آن را تأیید کنید. پس از تأیید، Antigravity CLI آن تغییرات را اعمال خواهد کرد. تغییرات خود را آزمایش کنید و اگر اشکالاتی (احتمالاً) وجود دارد، از Antigravity CLI بخواهید که آن را برطرف کند.

تولید مسائل بر اساس ویژگی‌های پیشنهادی

بیایید اینجا یک چیز جالب را امتحان کنیم. شما قرار است از Antigravity CLI بپرسید که چگونه می‌تواند تجربه کاربری این برنامه را بهبود بخشد.

دستور زیر را امتحان کنید:

  • از شما می‌خواهم که برنامه را از نظر تجربه کاربری ارزیابی کنید. سهولت استفاده، پاسخگویی، پیام‌های مفید و موارد دیگر. لطفاً فهرستی از بهبودها تهیه کنید و من می‌خواهم که آنها را به صورت فهرست در اختیار من قرار دهید.

به عنوان پیگیری، اکنون می‌توانید یکی از مسائلی که قبلاً ایجاد شده بود را بردارید و از Antigravity CLI بخواهید که آن را اجرا کند.

(اختیاری) کارهای روزمره

موارد استفاده‌ای که در زیر آورده شده است، کارهایی هستند که ممکن است مرتباً انجام دهید. این موارد شامل مرتب کردن فایل‌ها در پوشه‌ها، دریافت و خلاصه‌سازی محتوا از وب، پردازش فایل‌های تصویری و استخراج محتوا از آنها، کار با پایگاه‌های داده و موارد دیگر می‌شود.

در صورت تمایل می‌توانید هر یک از موارد استفاده‌ای را که دوست دارید، بررسی کنید.

سازماندهی فایل‌ها/پوشه‌ها

شما می‌توانید از Antigravity CLI برای سازماندهی فایل‌ها بسته به نوع آنها در پوشه‌های مختلف در صورت نیاز استفاده کنید. به پوشه‌ای در دستگاه خود بروید که چندین فایل با پسوندهای .txt، .png، .jpg، .pdf، .mp4 و موارد دیگر دارد. این احتمالاً پوشه دسکتاپ یا دانلودهای شما خواهد بود.

به آن پوشه بروید و Antigravity CLI را اجرا کنید. ابتدا از Antigravity CLI می‌خواهید که چند پوشه ایجاد کند: تصاویر، اسناد، ویدیوها و سپس از Antigravity CLI می‌خواهید که فایل‌های موجود در پوشه‌ها را سازماندهی کند.

رابط خط فرمان Antigravity اغلب قبل از اجرای دستورات، به خصوص آنهایی که سیستم فایل شما را تغییر می‌دهند (مانند نوشتن، انتقال یا حذف فایل‌ها)، از شما اجازه می‌خواهد. همیشه قبل از اعطای مجوز، این درخواست‌ها را با دقت بررسی کنید. این شبکه امنیتی شماست.

Create the following folders "Images","Documents","Videos"

سپس دستور زیر را بدهید:

Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.

مثالی که روی دستگاه ما اجرا شده است در زیر نشان داده شده است:

I have completed organizing your files into their respective folders. Here is a summary of the files moved:                                          
                                                                                                                                                       
  • Images: Moved 95 files ending in  .jpg  or  .jpeg  (no  .gif  files were present).                                                         
  • Documents: Moved 1 file ending in  .txt  ( 12March_Live_chat_transcript.txt ).                                                                
  • Videos: Moved 26 files ending in  .mp4 .

چند سناریوی سازماندهی دیگر (راهنماها در کنار هر سناریو آورده شده است):

  1. خلاصه‌سازی: برای هر سند موجود در پوشه‌ی «اسناد»، یک فایل txt در همان پوشه با نام «summary_ORIGINAL_FILENAME.txt» ایجاد کنید که شامل خلاصه‌ای ۳ جمله‌ای از نکات اصلی سند باشد.
  2. دسته‌بندی بر اساس نوع: تمام فایل‌های PDF و DOCX موجود در این پوشه را اسکن کنید. تمام فایل‌هایی که نام یا محتوای آنها «فاکتور» است را به پوشه «مالی/فاکتورها» منتقل کنید. فایل‌هایی که «رسید» دارند را به «مالی/رسیدها» منتقل کنید. سایر فایل‌های .docx به «گزارش‌ها» می‌روند.
  3. استخراج اطلاعات کلیدی (و "برچسب‌گذاری"): برای هر فایل PDF در پوشه 'Financial/Invoices'، محتوای آن را بخوانید. اگر تاریخی پیدا کردید، نام فایل را تغییر دهید تا آن تاریخ را با فرمت YYYY-MM-DD شامل شود، مثلاً 'invoice_2025-07-26_original_name.pdf'.

خلاصه‌سازی مقالات (فایل‌های محلی یا وب)

برای هر یک از سناریوهای زیر، می‌توانید آدرس اینترنتی (url)، موضوع مورد علاقه و نام فایل‌های محلی را در صورت لزوم تغییر دهید. نام فایل‌های ارائه شده، نام فایل‌های نمونه هستند، می‌توانید آنها را با نام فایل‌هایی که در سیستم خود دارید جایگزین کنید.

هر یک از سناریوهای زیر را امتحان کنید (دستورالعمل‌ها در کنار هر سناریو داده شده‌اند):

  • خلاصه کردن یک مقاله وب (یک URL): به https://medium.com/google-cloud/antigravity-cli-tutorial-series-12b46cfe3bf2 بروید و 3 نکته کلیدی برتر این مقاله خبری را خلاصه کنید.
  • خلاصه کردن چندین مقاله وب (مثلاً از یک جستجو): با استفاده از جستجوی گوگل، جدیدترین مقالات خبری در مورد "Antigravity CLI" را پیدا کنید. برای 5 مقاله برتر مرتبط، هر کدام را در 2-3 جمله خلاصه کنید و URL های آنها را فهرست کنید.
  • خلاصه کردن یک فایل متنی محلی: نکات اصلی مقاله را در فایل 'my_research_paper.txt' خلاصه کنید. روی روش‌شناسی و نتیجه‌گیری تمرکز کنید.
  • خلاصه‌ای از یک فایل PDF محلی: فایل «financial_report_Q2_2025.pdf» را مطالعه کنید. خلاصه‌ای از عملکرد مالی و چالش‌های کلیدی ذکر شده را ارائه دهید.

استخراج اطلاعات خاص (فایل‌های محلی یا وب)

برای هر یک از سناریوهای زیر، می‌توانید آدرس اینترنتی (url)، موضوع مورد علاقه و نام فایل‌های محلی را در صورت لزوم تغییر دهید. نام فایل‌های ارائه شده، نام فایل‌های نمونه هستند، می‌توانید آنها را با نام فایل‌هایی که در سیستم خود دارید جایگزین کنید.

هر یک از سناریوهای زیر را امتحان کنید (دستورالعمل‌ها در کنار هر سناریو داده شده‌اند):

  • استخراج موجودیت‌ها از یک مقاله محلی: از 'biography.txt'، تمام افراد نامبرده و تاریخ‌های مهم مرتبط با آنها را فهرست کنید.
  • استخراج داده‌ها از جدول در فایل PDF: در فایل 'quarterly_sales.pdf'، داده‌ها را از جدول صفحه ۳ که «فروش محصول بر اساس منطقه» را نشان می‌دهد، استخراج کرده و آن را در قالب جدول Markdown ارائه دهید.
  • استخراج تیترها و منابع خبری از یک وب‌سایت خبری: به «https://news.google.com/» (یا یک سایت خبری مشابه) بروید. تیترهای اصلی را از صفحه اول و منابع خبری مربوط به آنها استخراج کنید. آنها را به صورت فهرستی نقطه‌ای ارائه دهید.
  • یافتن مشخصات محصول از یک صفحه تجارت الکترونیک: به آدرس 'https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441' (مثال برای یک کتاب) مراجعه کنید. عنوان کتاب، نویسنده و سایر جزئیات را استخراج کنید. این اطلاعات را در قالب ساختار یافته JSON ارائه دهید.
  • استخراج مدت زمان از یک ویدیو ، در یک قالب خاص (مثلاً "2h37m42s").

پاسخ به سوالات بر اساس محتوا (رفتاری شبیه RAG)

برای هر یک از سناریوهای زیر، می‌توانید آدرس اینترنتی (url)، موضوع مورد علاقه و نام فایل‌های محلی را در صورت لزوم تغییر دهید. نام فایل‌های ارائه شده، نام فایل‌های نمونه هستند، می‌توانید آنها را با نام فایل‌هایی که در سیستم خود دارید جایگزین کنید.

هر یک از سناریوهای زیر را امتحان کنید (دستورالعمل‌ها در کنار هر سناریو داده شده‌اند):

  • پرسش و پاسخ در مورد یک سند محلی: من فایل 'user_manual.pdf' را پیوست می‌کنم. مراحل عیب‌یابی مشکلات اتصال شبکه چیست؟
  • پرسش و پاسخ در یک صفحه وب: با استفاده از محتوای «https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health»، خطرات اصلی سلامتی مرتبط با تغییرات اقلیمی از نظر سازمان بهداشت جهانی چیست؟
  • اطلاعات منابع مختلف را مقایسه کنید: من دو مقاله خبری دارم: «article1.txt» و «article2.txt» که هر دو در مورد تغییرات اخیر سیاست‌های اقتصادی بحث می‌کنند. دیدگاه‌های آنها را در مورد تأثیر بالقوه بر کسب‌وکارهای کوچک مقایسه و بررسی کنید.

تولید محتوا بر اساس اطلاعات استخراج شده

برای هر یک از سناریوهای زیر، در صورت لزوم می‌توانید آدرس اینترنتی (url)، موضوع مورد علاقه و نام فایل‌های محلی را تغییر دهید.

هر یک از سناریوهای زیر را امتحان کنید (دستورالعمل‌ها در کنار هر سناریو داده شده‌اند):

  • از یک مقاله، خلاصه خبری تهیه کنید: @tech_innovation_article.txt را بخوانید. یک خلاصه خبری کوتاه و جذاب (حدود ۱۵۰ کلمه) مناسب برای خبرنامه شرکت بنویسید و فناوری جدید و پتانسیل آن را برجسته کنید.
  • پیش‌نویس ایمیلی حاوی خلاصه متن جلسه: فایل متن جلسه به آدرس @meeting_transcript.txt است. پیش‌نویس ایمیلی را برای تیم تهیه کنید که در آن خلاصه‌ای از تصمیمات کلیدی گرفته شده و موارد اجرایی تعیین شده، از جمله اینکه چه کسی مسئول هر یک از آنهاست، ارائه شود.

پشتیبانی چندوجهی رابط خط فرمان ضد جاذبه (Antigravity CLI)

رابط خط فرمان آنتی‌گراویتی (Antigravity CLI) از طریق Gemini از چند مدل پشتیبانی می‌کند و می‌توانید از آن بخواهید فایل‌هایی با فرمت‌های مختلف محتوا را طبق نیاز شما پردازش کند.

شما قصد دارید تعدادی تصویر فاکتور را با Antigravity CLI پردازش کرده و اطلاعات کلیدی را از آنها استخراج کنید. مراحل زیر را دنبال کنید:

  • یک پوشه روی دستگاه خود ایجاد کنید و چند فاکتور را از مخزن GitHub زیر دانلود کنید.
  • Antigravity CLI را از آن پوشه اجرا کنید

برای استخراج اطلاعات از فاکتورها به صورت جدول، از تابع زیر استفاده کنید.

The current folder contains a list of invoice files in Image format. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.

در حالت ایده‌آل، باید خروجی‌ای شبیه به این داشته باشید:

eb631d13522d9c86.png

در اینجا سناریوی دیگری وجود دارد که می‌توانید ستون‌های مشتق‌شده‌ی اضافی را درخواست کنید. فرض کنید می‌خواهید برای تمام تاریخ‌های سررسید فاکتور که در گذشته هستند، یک ایموجی ضربدر قرمز نشان دهید. می‌توانید به صورت زیر یک درخواست ارائه دهید:

list all files with .png extension in this folder. Extract the invoice information from it by reading them locally and display it in a table format containing the following column headers: : Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount. Add a column at the end of the table that shows a red cross emoji in case the due date is in the past.

این خروجی زیر را تولید می‌کند:

7b9f20745357c12.png

این را برای هر یک از فایل‌های خودتان که فرمتی غیر از متن دارند، اعمال کنید.

استفاده از Antigravity CLI برای تولید داده

شما می‌توانید Antigravity CLI را وادار کنید تا داده‌ها را در قالب‌های داده‌ای مختلف تولید کند. این می‌تواند از قطعات محتوا گرفته تا داده‌های JSON باشد که ممکن است نیاز به شبیه‌سازی آنها داشته باشید. بیایید در اینجا بر روی سناریوهای قابل اجرا برای توسعه‌دهندگان/آزمایش‌کنندگان تمرکز کنیم.

در اینجا چند دستور العمل برای امتحان کردن آورده شده است:

تولید داده‌های JSON از نظرات مشتریان نمونه

Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).

تولید پاسخ‌های API آزمایشی (JSON)

Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').

تولید نمونه دستورات درج در پایگاه داده (SQL)

Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.

تولید داده‌های CSV برای بارگذاری/تحلیل داده‌ها

Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).

ایجاد یک فایل پیکربندی (YAML)

Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.

تولید داده‌های تست برای موارد مرزی/اعتبارسنجی

Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).

۸. تبریک

تبریک می‌گویم، شما با موفقیت Antigravity CLI، قابلیت‌های آن را بررسی کردید و آن را در چند مورد استفاده به کار بردید.

اسناد مرجع