شروع کار با Antigravity IDE

۱. مقدمه

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

در این آزمایشگاه کد، ما صرفاً بر روی Antigravity IDE برای توسعه‌دهندگان تمرکز خواهیم کرد.

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

  • پلتفرم ضد جاذبه (Antigravity) را درک کنید.
  • آنتی گراویتی IDE را نصب کنید.
  • ویرایشگر و پنل عامل Antigravity را بررسی کنید.
  • دستورات اسلش.
  • سفارشی‌سازی‌ها، سرورهای MCP و مهارت‌ها.

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

Antigravity IDE باید به صورت محلی روی سیستم شما (مک، ویندوز و توزیع‌های خاص لینوکس) نصب شده باشد. علاوه بر این، به موارد زیر نیز نیاز خواهید داشت:

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

گزارش مشکلات

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

برای مشکلات مربوط به codelab (غلط املایی، دستورالعمل‌های اشتباه)، لطفاً با استفاده از دکمه Report a mistake در گوشه پایین سمت چپ این codelab، یک اشکال (bug) ایجاد کنید:

e7d8a6055a16a773.png

برای اشکالات یا درخواست‌های مربوط به Antigravity، لطفاً مشکل را در Antigravity گزارش دهید. می‌توانید با کلیک روی تنظیمات، که در گوشه پایین سمت چپ محصول Antigravity موجود است، بازخورد محصول را گزارش دهید. سپس گزینه Provide Feedback انتخاب کنید.

۲. پلتفرم ضد جاذبه

قبل از اینکه روی Antigravity IDE تمرکز کنیم، ابتدا پلتفرم Antigravity را درک خواهیم کرد.

آنتی گراویتی از 4 محصول جداگانه تشکیل شده است:

  • Antigravity : برنامه مستقل و پرچمدار و مرکز فرماندهی شما برای مدیریت موازی چندین عامل محلی.
  • Antigravity IDE : یک IDE کاملاً کاربردی و کارآمد برای توسعه‌دهندگان.
  • رابط خط فرمان آنتی‌گراویتی : یک رابط خط فرمان برای تعاملات عامل مبتنی بر ترمینال.
  • کیت توسعه نرم‌افزار آنتی‌گراویتی : ابزارهایی برای توسعه‌دهندگان تا بتوانند آنتی‌گراویتی را به صورت برنامه‌نویسی شده در سیستم‌های خود ادغام کنند.

اگرچه همه محصولات دسترسی به عوامل ضد جاذبه یکسانی را فراهم می‌کنند، اما سطح تعامل آنها متفاوت است.

در بازی Antigravity، شما در سطح بالاتری با مامورها کار می‌کنید. در مکالمات با مامور، آنچه را که می‌خواهید بسازید برایش توضیح می‌دهید و اجازه می‌دهید خودش با کدها کار کند. شما می‌توانید کد تولید شده را ببینید، اما لزوماً خودتان در کدها غرق نمی‌شوید.

در Antigravity IDE، شما در سطح کدنویسی پایین‌تری هستید. شما همچنان می‌توانید از طریق پنل اپراتور با اپراتور صحبت کنید، اما همچنین می‌توانید نمای کاملی از کد را مشاهده کنید و هنگام تولید و ویرایش کد از اپراتور کمک بگیرید.

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

اینکه چه سطحی را انتخاب کنید به خودتان بستگی دارد. معمولاً شما ساخت و ساز را در Antigravity در سطح بالاتری شروع می‌کنید و با افزایش پیچیدگی، برای کدنویسی به Antigravity IDE یا برای کارهای ترمینال‌پسندتر به Antigravity CLI تغییر می‌دهید.

۳. نصب

اگر از قبل برنامه Antigravity را نصب کرده‌اید اما Antigravity IDE هنوز نصب نشده است، باید دکمه Install IDE را در گوشه بالا سمت راست ببینید:

a3afce2c797f070c.png

می‌توانید روی آن دکمه کلیک کنید یا مستقیماً به صفحه دانلود Antigravity IDE بروید تا Antigravity IDE را برای سیستم عامل خود (macOS، Windows، Linux) دانلود و نصب کنید.

پس از اتمام نصب، باید با صفحه خوشامدگویی مواجه شوید:

a7bda49c67b4d971.png

با حساب گوگل خود وارد شوید و با انتخاب قالب، نصب را ادامه دهید.

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

۹۲۳۲۹۹۷۶۳a۰۲۹۳۳۰.png

در صفحه بعدی، می‌توانید افزونه‌ها و ابزار خط فرمان agy-ide را پیکربندی کنید. توصیه می‌کنیم فقط افزونه‌هایی را که نیاز دارید نصب کنید.

c4e8005b3042b401.png

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

۱۹۵da4a9d7b5a075.png

اکنون آماده استفاده از Antigravity IDE هستید.

۴. رابط IDE ضد جاذبه

وقتی برای اولین بار Antigravity IDE را اجرا می‌کنید، باید رابط اصلی Antigravity IDE را ببینید.

4a3bd4e0483365d9.png

می‌توانید با باز کردن یک پوشه محلی شروع کنید. همچنین ایده خوبی است که از طریق Terminal و سپس گزینه منوی New Terminal باز کنید.

اکنون ویرایشگر، ترمینال و عامل را آماده دارید:

d1465bea8316f991.png

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

تنظیمات ضد جاذبه

خوب است نگاهی به تنظیمات ضد جاذبه (Antigravity Settings) در گوشه سمت راست دکمه بیندازید. تنظیمات اولیه برای عامل (Agent) در آن قرار دارد:

۱۴۲۰۱a۳۹۱e۰d۵۹۵۵.png

تنظیمات پیشرفته، تنظیمات بیشتری مانند حالت امنیتی عامل را ارائه می‌دهد:

9c2939aafa9724b5.png

این به شما امکان می‌دهد میزان آزادی عامل را در رابطه با دستورات ترمینال، دسترسی به سیستم فایل و غیره مشخص کنید. حتماً آنها را بررسی کرده و تنظیماتی را انتخاب کنید که با پروژه شما راحت باشد.

۵. ویرایشگر

بیایید ویرایشگر را بررسی کنیم. یک فایل پایتون به hello.py ایجاد کنید تا ویژگی‌های ویرایشگر را بررسی کنیم.

همزمان با تایپ کد در hello.py در ویرایشگر، یک تکمیل خودکار هوشمند اجرا می‌شود که می‌توانید با فشار دادن Tab آن را بپذیرید:

b34cd085032c2d5f.png

شما یک تب برای پرش به پیشنهادها برای انتقال مکان‌نما به مکان منطقی بعدی در کد دریافت می‌کنید. برای مثال، به محض اینکه تایپ main() را تمام می‌کنید، ویرایشگر از شما می‌خواهد که به متد main بروید:

2dd69707af98c677.png

همچنین یک تب برای وارد کردن پیشنهاد برای اضافه کردن وابستگی‌های از دست رفته دریافت می‌کنید:

5ce8b0b5b9fdfdcc.png

۶. پنل نمایندگان

در سمت راست، پنل کناری Agent را پیدا می‌کنید. اگر قابل مشاهده نیست، می‌توانید با میانبر Cmd + L آن را فعال یا غیرفعال کنید.

شما می‌توانید انواع مدل مختلفی را انتخاب کنید، از @ برای افزودن زمینه‌های بیشتر مانند فایل‌ها، دایرکتوری‌ها، ترمینال، سرورهای MCP یا / برای دستورات (که در مرحله بعدی به آن پرداخته می‌شود) استفاده کنید.

ae98a3c19c2a8f7.png

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

اگر یک رابط استاتیک نصب کرده باشید (مثلاً Pylint)، وقتی اشتباهی مرتکب شوید، خطاهای نحوی را در کد مشاهده خواهید کرد. اگر در ویرایشگر، ماوس را روی یک مشکل نگه دارید و گزینه Explain and fix انتخاب کنید، پنل مربوط به اپراتور برای توضیح و رفع مشکل احتمالی توسط اپراتور باز می‌شود:

db123f692200e653.png

همچنین می‌توانید به برگه Problems IDE بروید و گزینه Send to Agent را انتخاب کنید تا نماینده سعی در رفع آن مشکلات داشته باشد:

2f95dba053a09dd5.png

همچنین می‌توانید بخشی از خروجی ترمینال را با استفاده از ‎ و error انتخاب کنید و آن را با استفاده از Cmd + L به مکالمه اپراتور ارسال کنید:

b1a29237e8efd11a.png

هنگام چت با اپراتور، چند آیکون در بالای پنجره ورودی مشاهده خواهید کرد:

3b17223d6d2e7bea.png

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

۷. مصنوعات

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

  • قبل از کدنویسی: یک طرح پیاده‌سازی و یک لیست وظایف.
  • همانطور که کد تولید می‌کند: کدها متفاوت می‌شوند.
  • پس از کدنویسی: یک راهنمای گام به گام برای توضیح عملکرد و تأیید نتایج.

این مصنوعات راهی برای Antigravity هستند تا برنامه‌ها و پیشرفت‌های خود را به اشتراک بگذارند. مهم‌تر از آن، آنها همچنین راهی برای شما هستند تا در قالب نظرات به سبک Google docs به عامل بازخورد دهید. این امر برای هدایت مؤثر عامل در جهتی که می‌خواهید بسیار مفید است.

بیایید سعی کنیم یک برنامه ساده بسازیم و ببینیم چگونه می‌توانیم در طول مسیر به Antigravity بازخورد ارائه دهیم.

در پنل کناری اپراتور، این دستور را امتحان کنید:

Build a TODO list application with Python Flask, SQlite DB, and a CRUD frontend. Keep the application simple

این کار باعث می‌شود که عامل شروع به برنامه‌ریزی و تهیه یک طرح اجرایی کند.

طرح اجرایی

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

در عرض چند ثانیه، باید یک طرح اجرایی را در مکالمه مشاهده کنید:

935372be9721a21c.png

اگر از آن راضی هستید، می‌توانید روی دکمه‌ی Proceed کلیک کنید. اگر می‌خواهید بازخوردی ارائه دهید، می‌توانید طرح پیاده‌سازی را باز کنید و قبل از ارسال، نظراتی به سبک گوگل داک اضافه کنید.

فهرست وظایف

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

5eb1f122174855a8.png

تغییرات کد

در این مرحله، Antigravity تعدادی کد در فایل‌های جدید تولید می‌کند. شما می‌توانید بدون بررسی جزئیات، همه این تغییرات را در پنل کناری چت اپراتور Accept all یا Reject all . همچنین می‌توانید روی Review changes کلیک کنید تا جزئیات تغییرات را ببینید و نظرات دقیقی را در کد اضافه کنید.

پیاده روی

وقتی Antigravity کدنویسی‌اش تمام شد، سرور را اجرا می‌کند، ممکن است یک مرورگر را برای تأیید برنامه باز کند. این کار برخی آزمایش‌های دستی مانند اضافه کردن وظایف، به‌روزرسانی وظایف و غیره را انجام می‌دهد. در نهایت، یک فایل راهنما ایجاد می‌کند تا خلاصه‌ای از کارهایی که برای تأیید برنامه انجام داده است را ارائه دهد. این فایل می‌تواند شامل یک اسکرین‌شات یا یک جریان تأیید با ضبط مرورگر باشد.

شما می‌توانید در مورد اسکرین‌شات یا ویدیوی ضبط‌شده توسط مرورگر در راهنمای گام‌به‌گام نیز نظر بدهید. برای مثال، می‌توانیم یک نظر اضافه کنیم Change the blue theme to orange theme و آن را ارسال کنیم. پس از ارسال نظر، Antigravity تغییرات را اعمال می‌کند، نتایج را تأیید می‌کند و راهنمای گام‌به‌گام را به‌روزرسانی می‌کند.

لغو تغییرات

در آخر، اگر بعد از هر مرحله از تغییر راضی نبودید، می‌توانید آن را از چت لغو کنید. کافیست تا Undo changes up to this point .

۸. دستورات اسلش

دستورات slash / به صورت پیش‌فرض در Antigravity IDE موجود است. در پنل کناری agent، اگر / را تایپ کنید، باید لیست دستورات را ببینید:

c0b121133b3191ca.png

/goal به عامل دستور می‌دهد تا یک وظیفه را تا زمان تکمیل اجرا کند، /schedule اجازه می‌دهد وظایف به صورت وظایف تکرارشونده یا یکباره زمان‌بندی شوند. /grill-me برای هماهنگی با عامل در یک برنامه مفید است و /learn برای استخراج مهارت‌ها یا قوانین قابل استفاده مجدد از مکالمات مفید است.

با این دستورات بازی کنید تا ببینید چطور می‌توانند برای شما مفید باشند.

۹. شخصی‌سازی‌ها

Antigravity IDE با چند گزینه سفارشی‌سازی ارائه می‌شود: قوانین (Rules) و گردش‌های کاری (Workflows) .

روی ... در گوشه بالا سمت راست کلیک کنید و Customizations را انتخاب کنید، Rules و Workflows مشاهده خواهید کرد:

3415bdfa2f263b08.png

قوانین به هدایت رفتار عامل کمک می‌کنند. این‌ها دستورالعمل‌هایی هستند که می‌توانید ارائه دهید تا مطمئن شوید عامل هنگام تولید کد و آزمایش‌ها از آن‌ها پیروی می‌کند. به عنوان مثال، ممکن است بخواهید عامل از یک سبک کد خاص پیروی کند یا همیشه روش‌ها را مستند کند. می‌توانید این موارد را به عنوان قوانین اضافه کنید و عامل آن‌ها را در نظر می‌گیرد.

گردش‌های کاری، اعلان‌های ذخیره‌شده‌ای هستند که می‌توانید در صورت نیاز با / ، هنگام تعامل با عامل، آنها را فعال کنید. آنها همچنین رفتار عامل را هدایت می‌کنند، اما توسط کاربر در صورت نیاز فعال می‌شوند.

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

هر دوی قوانین و گردش‌های کاری می‌توانند به صورت سراسری یا برای هر فضای کاری اعمال شوند و در مکان‌های زیر ذخیره شوند:

  • قانون سراسری: ~/.gemini/GEMINI.md
  • گردش کار سراسری: ~/.gemini/config/global_workflows/<YOUR_WORKFLOW_NAME>.md
  • قوانین فضای کاری: your-workspace/.agents/rules/
  • گردش‌های کاری فضای کاری: your-workspace/.agents/workflows/

بیایید چند قانون و گردش کار به فضای کاری اضافه کنیم.

یک قانون اضافه کنید

ابتدا، بیایید یک قانون سبک کد اضافه کنیم. به Rules بروید و دکمه +Workspace را انتخاب کنید. نامی مانند code-style-guide با قوانین سبک کد زیر به آن بدهید:

* Make sure all the code is styled with PEP 8 style guide
* Make sure all the code is properly commented

دوم، بیایید یک قانون دیگر اضافه کنیم تا مطمئن شویم کد به صورت ماژولار و با مثال‌هایی در یک قانون code-generation-guide تولید می‌شود:

* The main method in main.py is the entry point to showcase functionality.
* Do not generate code in the main method. Instead generate distinct functionality in a new file (eg. feature_x.py)
* Then, generate example code to show the new functionality in a new method in main.py (eg. example_feature_x) and simply call that method from the main method.

دو قانون ذخیره و آماده هستند

اضافه کردن گردش کار

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

به Workflows بروید و دکمه +Workspace را انتخاب کنید. نامی مانند generate-unit-tests به آن بدهید و موارد زیر را در آن وارد کنید:

* Generate unit tests for each file and each method
* Make sure the unit tests are named similar to files but with test_ prefix

گردش کار نیز اکنون آماده است.

امتحانش کن.

حالا بیایید قوانین و گردش‌های کاری را در عمل ببینیم. یک فایل main.py به صورت اسکلت‌بندی در فضای کاری خود ایجاد کنید:

def main():
    pass

if __name__ == "__main__":
    main()

حالا، به پنل کناری اپراتور بروید و از اپراتور بپرسید: Implement binary search and bubble sort.

بعد از یک یا دو دقیقه، باید سه فایل در فضای کاری داشته باشید: main.py ، bubble_sort.py ، binary_search.py . همچنین متوجه خواهید شد که تمام قوانین پیاده‌سازی شده‌اند: فایل اصلی شلوغ نیست و کد نمونه را دارد، هر ویژگی در فایل مخصوص به خود پیاده‌سازی شده است، تمام کدها مستندسازی شده و با سبک خوبی نوشته شده‌اند:

from binary_search import binary_search, binary_search_recursive
from bubble_sort import bubble_sort, bubble_sort_descending


def example_binary_search():
    """
    Demonstrate binary search algorithm with various test cases.
    """
    ...

def example_bubble_sort():
    """
    Demonstrate bubble sort algorithm with various test cases.
    """
    ...

def main():
    """
    Main entry point to showcase functionality.
    """
    example_binary_search()
    example_bubble_sort()
    print("\n" + "=" * 60)


if __name__ == "__main__":
    main()

حالا که از کد راضی هستیم، بیایید ببینیم آیا می‌توانیم گردش کار تست واحد تولید را فعال کنیم یا خیر.

به چت بروید و شروع به تایپ کردن /generate و Antigravity از قبل از روند کار ما مطلع است:

۱b5120e06e55e98.png

گزینه generate-unit-tests انتخاب کرده و enter را بزنید. پس از چند ثانیه، فایل‌های جدیدی در فضای کاری خود دریافت خواهید کرد: test_binary_search.py ​​، test_bubble_sort.py با تعدادی تست که از قبل پیاده‌سازی شده‌اند!

۱۰. سرورهای MCP

پروتکل زمینه مدل (MCP) به عنوان استانداردی برای کمک به اتصال عامل‌ها به سیستم‌های خارجی ظهور کرده است. آن‌ها نقش کلیدی در تضمین این دارند که عامل از نظر داده‌ها و ادغام شما، پایدار باقی بماند.

Antigravity IDE از سرورهای MCP، چه محلی و چه از راه دور، پشتیبانی می‌کند. همچنین با چندین سرور MCP که با سرویس‌های Google Cloud کار می‌کنند، یکپارچه‌سازی می‌شود و نصب آنها به سادگی با یک کلیک و با چند داده پیکربندی انجام می‌شود.

روی ... در گوشه بالا سمت راست کلیک کنید و MCP Servers انتخاب کنید. این یک کادر محاوره‌ای باز می‌کند که در آن می‌توانید لیستی از سرورهای MCP را مشاهده کنید:

3fed0fbf1daa6df0.png

برای مثال، می‌توانید روی Cloud Run کلیک کنید تا سرور MCP آن را نصب کنید.

اگر روی Manage MCP Servers در بالا سمت راست کلیک کنید، می‌توانید پیکربندی خام سرور MCP را در ~/.gemini/config/mcp_config.json نیز مشاهده کنید. همچنین می‌توانید سرورهای MCP سفارشی دیگری را در این فایل اضافه کنید و دکمه به‌روزرسانی را بزنید تا ببینید که در Antigravity IDE شناسایی شده‌اند.

برای استفاده از سرورهای MCP پیکربندی‌شده، می‌توانید از Antigravity چیزی بخواهید که به یک سرور MCP نیاز دارد. برای مثال، می‌توانید سرور cloudrun-mcp را فعال کنید و از Antigravity موارد زیر را بخواهید: Build and deploy a Cloud Run service . این باید Antigravity را وادار کند تا به دنبال سرور cloudrun-mcp بگردد و از آن برای پیکربندی و استقرار یک سرویس Cloud Run استفاده کند.

۱۱. مهارت‌ها

اگرچه مدل‌های زیربنایی Antigravity قدرتمند و عمومی هستند، اما از زمینه پروژه خاص شما یا استانداردهای تیم اطلاعی ندارند. بارگذاری تک تک قوانین یا ابزارها در پنجره زمینه عامل منجر به حجیم شدن ابزار، هزینه‌های بالاتر، تأخیر و سردرگمی می‌شود.

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

ساختار و دامنه

مهارت‌ها بسته‌های مبتنی بر دایرکتوری هستند. می‌توانید بسته به نیاز خود، آنها را در دو حوزه تعریف کنید:

  • محدوده سراسری ( ~/.gemini/config/skills/ ): در تمام محصولات Antigravity (Antigravity، Antigravity IDE، Antigravity CLI) و پروژه‌ها موجود است.
  • محدوده پروژه/فضای کاری ( <project-root>/.agents/skills/ ): این باعث می‌شود مهارت فقط در یک پروژه خاص در دسترس باشد.

یک فهرست مهارت معمولی به این شکل است:

my-skill/
├── SKILL.md    #(Required) metadata & instructions.
├── scripts/    # (Optional) Python or Bash scripts for execution.
├── references/ # (Optional) text, documentation, or templates.
└── assets/     # (Optional) Images or logos.

حالا بیایید یک مهارت اضافه کنیم.

مهارت بررسی کد

این یک مهارت صرفاً دستورالعملی است، یعنی ما فقط باید فایل SKILL.md را ایجاد کنیم که شامل فراداده‌ها و دستورالعمل‌های مهارت‌ها خواهد بود. بیایید مهارتی ایجاد کنیم که جزئیاتی را در اختیار عامل قرار دهد تا تغییرات کد را برای اشکالات، مشکلات سبک و بهترین شیوه‌ها بررسی کند.

یک دایرکتوری در پوشه پروژه ایجاد کنید که شامل مهارت مورد نظر باشد:

mkdir -p .agents/skills/code-review

یک فایل SKILL.md در پوشه پروژه، مثلاً .agents/skills/code-review که تازه ایجاد کرده‌ایم، با محتوای زیر ایجاد کنید:

---
name: code-review
description: Reviews code changes for bugs, style issues, and best practices. Use when reviewing PRs or checking code quality.
---

# Code Review Skill

When reviewing code, follow these steps:

## Review checklist

1. **Correctness**: Does the code do what it's supposed to?
2. **Edge cases**: Are error conditions handled?
3. **Style**: Does it follow project conventions?
4. **Performance**: Are there obvious inefficiencies?

## How to provide feedback

- Be specific about what needs to change
- Explain why, not just what
- Suggest alternatives when possible

توجه داشته باشید که فایل SKILL.md بالا شامل فراداده (نام و توضیحات) در بالا و سپس دستورالعمل‌ها است. هنگامی که عامل بارگذاری می‌شود، فقط فراداده مهارت‌ها را می‌خواند و فقط در صورت نیاز، دستورالعمل‌های کامل مهارت‌ها را بارگذاری می‌کند.

بیایید مهارت را اعتبارسنجی کنیم. یک مکالمه جدید با Antigravity شروع کنید و بپرسید کدام مهارت‌ها نصب شده‌اند. باید مهارت بررسی کد را ببینید:

61d2f8a77a133c46.png

امتحانش کن.

یک فایل جدید با نام demo_bad_code.py با محتوای زیر ایجاد کنید:

import time

def get_user_data(users, id):
   # Find user by ID
   for u in users:
       if u['id'] == id:
            return u
   return None

def process_payments(items):
   total = 0
   for i in items:
       # Calculate tax
       tax = i['price'] * 0.1
       total = total + i['price'] + tax
       time.sleep(0.1) # Simulate slow network call
  
   return total

def run_batch():
   users = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
   items = [{'price': 10}, {'price': 20}, {'price': 100}]
  
   u = get_user_data(users, 3)
   print("User found: " + u['name']) # Will crash if None
  
   print("Total: " + str(process_payments(items)))

if __name__ == "__main__":
   run_batch()

یک مکالمه جدید در یک پروژه خاص در Antigravity باز کنید و دستور زیر را اجرا کنید: review the @demo_bad_code.py file .

عامل باید مهارت code-review را شناسایی کند، جزئیات را بارگذاری کند و سپس طبق دستورالعمل‌های داده شده در فایل code-review/SKILL.md اقدام را انجام دهد.

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

۱۲. نتیجه‌گیری

تبریک! شما اکنون با موفقیت Antigravity IDE را نصب، پیکربندی و ویژگی‌های اصلی آن را بررسی کرده‌اید!

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

سایر آزمایشگاه‌های کد

اسناد مرجع