Antigravity IDE-এর ব্যবহার শুরু করা

১. ভূমিকা

Antigravity হল একটি এজেন্টিক ডেভেলপমেন্ট প্ল্যাটফর্ম যা এজেন্ট-ফার্স্ট যুগে যে কাউকে বিল্ড করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে। এতে চারটি প্রধান প্রোডাক্ট আছে: Antigravity, Antigravity IDE, Antigravity CLI এবং Antigravity SDK.

এই কোডল্যাবে, আমরা ডেভেলপারদের জন্য শুধুমাত্র Antigravity IDE-এর উপর ফোকাস করব।

আপনি কী শিখবেন

  • Antigravity প্ল্যাটফর্ম সম্পর্কে জানুন।
  • Antigravity IDE ইনস্টল করুন।
  • Antigravity এডিটর ও এজেন্ট প্যানেল এক্সপ্লোর করুন।
  • স্ল্যাশ কমান্ড।
  • কাস্টমাইজেশন, MCP সার্ভার ও দক্ষতা।

আপনার কী প্রয়োজন হবে

আপনার সিস্টেমে (Mac, Windows এবং নির্দিষ্ট Linux ডিস্ট্রিবিউশন) Antigravity IDE লোকালি ইনস্টল করা থাকতে হবে। এছাড়াও, আপনার এগুলি প্রয়োজন হবে:

  • Chrome ওয়েব ব্রাউজার।
  • একটি Gmail অ্যাকাউন্ট (ব্যক্তিগত Gmail অ্যাকাউন্ট)।

সমস্যার বিষয়ে অভিযোগ জানানো

আপনি যখন কোডল্যাব এবং Antigravity-তে কাজ করবেন, তখন আপনি সমস্যার সম্মুখীন হতে পারেন।

কোডল্যাব সম্পর্কিত সমস্যার (টাইপো, ভুল নির্দেশাবলী) জন্য, এই কোডল্যাবের নিচে বাঁদিকের কোণে থাকা Report a mistake বোতামটি ব্যবহার করে একটি সমস্যা খুলুন:

e7d8a6055a16a773.png

Antigravity সম্পর্কিত বাগ বা ফিচারের অনুরোধের জন্য, Antigravity-এর মধ্যে সমস্যাটি রিপোর্ট করুন। Antigravity প্রোডাক্টের নিচে বাঁদিকের কোণে উপলভ্য সেটিংস বিকল্পে ক্লিক করে আপনি প্রোডাক্টের ব্যাপারে মতামত জানাতে পারবেন। তারপরে Provide Feedback বিকল্প বেছে নিন।

২. Antigravity প্ল্যাটফর্ম

Antigravity IDE-তে ফোকাস করার আগে, আসুন প্রথমে Antigravity প্ল্যাটফর্ম সম্পর্কে জেনে নেওয়া যাক।

Antigravity-তে ৪টি আলাদা প্রোডাক্ট আছে:

  • Antigravity: ফ্ল্যাগশিপ স্ট্যান্ডঅ্যালোন অ্যাপ্লিকেশন এবং একাধিক লোকাল এজেন্টকে প্যারালাল ম্যানেজ করার জন্য আপনার কমান্ড সেন্টার।
  • Antigravity IDE: ডেভেলপারদের জন্য সম্পূর্ণ ফিচার সহ এজেন্টিক IDE.
  • Antigravity CLI: টার্মিনাল-ভিত্তিক এজেন্ট ইন্টার‍্যাকশনের জন্য কমান্ড-লাইন ইন্টারফেস।
  • Antigravity SDK: ডেভেলপারদের জন্য এমন টুল যা তাদের নিজস্ব সিস্টেমে প্রোগ্রাম্যাটিক উপায়ে Antigravity ইন্টিগ্রেট করতে সাহায্য করে।

সব প্রোডাক্ট একই অ্যান্টিগ্র্যাভিটি এজেন্টের অ্যাক্সেস দিলেও, ইন্টার‍্যাকশনের লেভেল আলাদা হয়।

Antigravity-তে, আপনি এজেন্টদের সাথে আরও উন্নত লেভেলে কাজ করেন। এজেন্টের সাথে কথোপকথনে, আপনি কী তৈরি করতে চান তা ব্যাখ্যা করেন এবং কোডটি হ্যান্ডেল করার দায়িত্ব তাকে দেন। আপনি জেনারেট করা কোড দেখতে পাবেন, তবে আপনাকে নিজে কোড লিখতে হবে না।

Antigravity IDE-তে, আপনি কোডিংয়ের নিম্ন লেভেলে আছেন। আপনি এখনও এজেন্ট প্যানেলের মাধ্যমে এজেন্টের সাথে কথা বলতে পারবেন, তবে আপনি কোডের সম্পূর্ণ ভিউও পাবেন এবং কোড তৈরি ও এডিট করার সময় এজেন্টের সাহায্য পাবেন।

Antigravity CLI-তে, আপনি কমান্ড লাইন ইন্টারফেস থেকে এজেন্ট ব্যবহার করছেন। তবে, আপনি এখনও এজেন্টের সাথে কথা বলতে এবং কোড তৈরি ও এডিট করতে পারবেন, কিন্তু সবকিছু টার্মিনালে হবে।

আপনি কোন লেভেল বেছে নেবেন তা আপনার উপর নির্ভর করে। সাধারণত, আপনি Antigravity-তে আরও উচ্চ লেভেলে তৈরি করা শুরু করবেন এবং জটিলতা বাড়ার সাথে সাথে, আপনি কোডিংয়ের জন্য Antigravity IDE বা আরও বেশি টার্মিনাল ফ্রেন্ডলি টাস্কের জন্য Antigravity CLI-তে পরিবর্তন করবেন।

৩. ইনস্টল করা

আপনার ডিভাইসে Antigravity অ্যাপ্লিকেশন আগে থেকেই ইনস্টল করা থাকলে, কিন্তু Antigravity IDE ইনস্টল করা না থাকলে, উপরে ডানদিকের কোণে 'IDE ইনস্টল করুন' বোতাম দেখতে পাবেন:

a3afce2c797f070c.png

আপনি সেই বোতামে ক্লিক করতে পারেন অথবা সরাসরি Antigravity IDE ডাউনলোড পৃষ্ঠায় গিয়ে আপনার অপারেটিং সিস্টেমের (macOS, Windows, Linux) জন্য Antigravity IDE ডাউনলোড ও ইনস্টল করতে পারেন।

ইনস্টলেশন সম্পূর্ণ হয়ে গেলে, আপনাকে স্বাগত স্ক্রিন দেখানো হবে:

a7bda49c67b4d971.png

আপনার Google অ্যাকাউন্ট দিয়ে লগ-ইন করুন এবং থিম বেছে নিয়ে ইনস্টলেশন চালিয়ে যান।

কোনও এক সময়, আপনাকে জিজ্ঞাসা করা হবে যে আপনি কীভাবে Antigravity IDE এজেন্ট ব্যবহার করতে চান। এই স্ক্রিনে, আপনি এজেন্টের জন্য টার্মিনাল এক্সিকিউশন নীতি, পর্যালোচনা নীতি এবং জাভাস্ক্রিপ্ট এক্সিকিউশন নীতি অ্যাডজাস্ট করতে পারবেন। এখনকার মতো পর্যালোচনা-নির্ভর ডেভেলপমেন্ট বেছে নিন।

923299763a029330.png

পরবর্তী স্ক্রিনে, আপনি এক্সটেনশন ও agy-ide কমান্ড লাইন টুল কনফিগার করতে পারবেন। আপনার প্রয়োজন শুধুমাত্র সেইসব এক্সটেনশন ইনস্টল করার জন্য আমরা সাজেস্ট করি।

c4e8005b3042b401.png

এছাড়াও, Antigravity IDE-তে প্লাগ-ইন, দক্ষতার প্যাকেজ করা সংগ্রহ এবং MCP থাকে যা এজেন্টদের Google ডেভেলপার প্রোডাক্টের সাথে কাজ করতে সাহায্য করে। আপনার কাজের জন্য যেগুলি কাজে লাগতে পারে বলে মনে করেন সেগুলি বেছে নিন:

195da4a9d7b5a075.png

আপনি এখন Antigravity IDE ব্যবহার করার জন্য প্রস্তুত।

৪. Antigravity IDE ইন্টারফেস

আপনি প্রথমবার Antigravity IDE চালু করলে, Antigravity IDE-এর মূল ইন্টারফেস দেখতে পাবেন।

4a3bd4e0483365d9.png

আপনি একটি লোকাল ফোল্ডার খুলে শুরু করতে পারেন। এছাড়াও, Terminal এবং তারপরে New Terminal মেনু আইটেমের মাধ্যমে একটি নতুন টার্মিনাল খোলা ভাল ধারণা।

আপনার কাছে এখন এডিটর, টার্মিনাল ও এজেন্ট রেডি আছে:

d1465bea8316f991.png

আপনি কোড টাইপ করার সময় এডিটরে Antigravity থেকে AI সহায়তা পাবেন। এজেন্ট প্যানেলে আপনি এজেন্টের সাথে চ্যাট করেন, বিভিন্ন মডেল বেছে নেন এবং ফাইল ও কমান্ড দেখেন। ডিফল্ট হিসেবে টার্মিনাল AI-এর মাধ্যমে পরিচালিত হয় না, তবে আপনি Antigravity CLI ইনস্টল করলে, agy কমান্ডের মাধ্যমে এটি চালু করতে পারবেন এবং টার্মিনালে AI সহায়তাও পাবেন।

Antigravity সেটিংস

নিচে ডানদিকের কোণে থাকা Antigravity সেটিংস দেখে নিলে ভাল হয়। এতে এজেন্টের জন্য প্রাথমিক সেটিংস আছে:

14201a391e0d5955.png

উন্নত সেটিংস এজেন্ট নিরাপত্তা মোডের মতো আরও সেটিংস প্রদান করে:

9c2939aafa9724b5.png

এর ফলে, টার্মিনাল কমান্ড, ফাইল সিস্টেম অ্যাক্সেস ইত্যাদি ক্ষেত্রে এজেন্টের কতখানি স্বাধীনতা থাকবে তা আপনি নির্দিষ্ট করতে পারবেন। আপনি সেগুলি পর্যালোচনা করেছেন এবং আপনার প্রজেক্টের জন্য উপযুক্ত সেটিংস বেছে নিয়েছেন কিনা তা নিশ্চিত করুন।

৫. এডিটর

আসুন এডিটর এক্সপ্লোর করা যাক। এডিটরের ফিচার এক্সপ্লোর করতে, একটি Python ফাইল, hello.py তৈরি করুন।

আপনি এডিটরে hello.py কোড টাইপ করার সময়, একটি স্মার্ট অটো-কমপ্লিট চালু হয় যা আপনি Tab টিপে গ্রহণ করতে পারেন:

b34cd085032c2d5f.png

কোডের পরবর্তী লজিক্যাল জায়গায় কার্সর নিয়ে যাওয়ার জন্য আপনি জাম্প করার ট্যাব সংক্রান্ত সাজেশন পাবেন। যেমন, আপনি main() টাইপ করা শেষ করলে, এডিটর আপনাকে মূল পদ্ধতিতে জাম্প করতে বলে:

2dd69707af98c677.png

এছাড়াও, আপনি মিসিং ডিপেন্ডেন্সি যোগ করার জন্য ইমপোর্ট করার ট্যাব সংক্রান্ত সাজেশন পাবেন:

5ce8b0b5b9fdfdcc.png

৬. এজেন্ট প্যানেল

ডানদিকে, আপনি এজেন্ট সাইড প্যানেল দেখতে পাবেন। এটি দেখতে না পেলে, Cmd + L শর্টকাট ব্যবহার করে টগল করতে পারবেন।

আপনি বিভিন্ন ধরনের মডেল বেছে নিতে পারেন, ফাইল, ডিরেক্টরি, টার্মিনাল, MCP সার্ভারের মতো আরও প্রসঙ্গ অন্তর্ভুক্ত করতে @ ব্যবহার করুন অথবা কমান্ডের জন্য / ব্যবহার করুন (পরবর্তী ধাপে কভার করা হয়েছে)।

ae98a3c19c2a8fc7.png

এজেন্টের সাথে ইন্টার‍্যাক্ট করার সবচেয়ে সহজ উপায় হল কথোপকথনে প্রশ্ন জিজ্ঞাসা করা, তবে এজেন্টের সাথে ইন্টার‍্যাক্ট করার একাধিক উপায় আছে।

আপনার যদি কোনও স্ট্যাটিক লিন্টার ইনস্টল করা থাকে (যেমন, Pylint), তাহলে আপনি কোনও ভুল করলে কোডে সিনট্যাক্স সংক্রান্ত সমস্যা দেখতে পাবেন। এডিটরে কোনও সমস্যার উপর মাউস নিয়ে গিয়ে Explain and fix বেছে নিন। এর ফলে এজেন্টের কাছ থেকে ব্যাখ্যা ও সম্ভাব্য সমাধান পাওয়ার জন্য এজেন্ট প্যানেল খুলে যায়:

db123f692200e653.png

এছাড়াও, আপনি IDE-এর Problems ট্যাবে গিয়ে Send to Agent বিকল্প বেছে নিতে পারেন, যাতে এজেন্ট সেইসব সমস্যা সমাধান করার চেষ্টা করতে পারে:

2f95dba053a09dd5.png

এছাড়াও, আপনি কোনও সমস্যার সাথে টার্মিনাল আউটপুটের একটি অংশ বেছে নিতে পারেন এবং 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 বোতামে ক্লিক করতে পারেন। আপনি মতামত জানাতে চাইলে, প্রয়োগ করার পরিকল্পনা খুলে সেটি জমা দেওয়ার আগে Google Docs স্টাইলে কমেন্ট যোগ করতে পারেন।

টাস্ক তালিকা

ইমপ্লিমেন্টেশন প্ল্যান আপডেট করার পরে, Antigravity একটি টাস্ক তালিকা তৈরি করে। অ্যাপ তৈরি ও যাচাই করার জন্য 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 বেছে নিন।

৮. স্ল্যাশ কমান্ড

Antigravity IDE-তে বিল্ট-ইন স্ল্যাশ / কমান্ড উপলভ্য আছে। এজেন্ট সাইড প্যানেলে, আপনি / টাইপ করলে , কমান্ডের তালিকা দেখতে পাবেন:

c0b121133b3191ca.png

/goal এজেন্টকে টাস্ক সম্পূর্ণ না হওয়া পর্যন্ত সেটি চালানোর নির্দেশ দেয়, /schedule টাস্ককে রেকারিং বা ওয়ান-টাইম টাস্ক হিসেবে শিডিউল করার অনুমতি দেয়। /grill-me এজেন্টের সাথে প্ল্যান অ্যালাইন করার জন্য এবং /learn কথোপকথন থেকে পুনরায় ব্যবহারযোগ্য দক্ষতা বা নিয়ম এক্সট্র্যাক্ট করার জন্য কাজে লাগে।

এইসব কমান্ডের সাথে খেলে দেখুন যে সেগুলি আপনার পক্ষে কতটা উপযোগী হতে পারে।

৯. কাস্টমাইজেশন

Antigravity IDE-তে কাস্টমাইজ করার কয়েকটি বিকল্প আছে: নিয়ম ও ওয়ার্কফ্লো।

উপরে ডানদিকের কোণে ... আইকনে ক্লিক করে Customizations বেছে নিন, আপনি Rules ও Workflows দেখতে পাবেন:

3415bdfa2f263b08.png

নিয়ম এজেন্টের আচরণকে গাইড করতে সাহায্য করে। কোড তৈরি ও পরীক্ষা করার সময় এজেন্ট যাতে সেগুলি মেনে চলে তা নিশ্চিত করতে আপনি এইসব নির্দেশিকা প্রদান করতে পারেন। যেমন, আপনি হয়ত চান যে এজেন্ট যেন নির্দিষ্ট কোড স্টাইল মেনে চলে অথবা সবসময় যেন পদ্ধতি ডকুমেন্ট করে। আপনি এগুলিকে নিয়ম হিসেবে যোগ করতে পারেন এবং এজেন্ট সেগুলি বিবেচনা করবে।

ওয়ার্কফ্লো হল সেভ করা প্রম্পট যা আপনি এজেন্টের সাথে ইন্টার‍্যাক্ট করার সময় /-এর মাধ্যমে চাহিদা অনুযায়ী ট্রিগার করতে পারবেন। এগুলি এজেন্টের আচরণকেও গাইড করে, তবে ব্যবহারকারীর চাহিদার ভিত্তিতে এগুলি ট্রিগার করা হয়।

একটি ভালো উপমা হল, নিয়ম হল সিস্টেমের নির্দেশাবলীর মতো, যেখানে ওয়ার্কফ্লো হল সেভ করা প্রম্পটের মতো যা আপনি চাহিদামতো বেছে নিতে পারেন।

নিয়ম ও ওয়ার্কফ্লো, দু'টিই বিশ্বব্যাপী বা প্রতিটি ওয়ার্কস্পেস অনুযায়ী প্রয়োগ করা যায় এবং নিম্নলিখিত লোকেশনে সেভ করা যায়:

  • গ্লোবাল নিয়ম: ~/.gemini/GEMINI.md
  • গ্লোবাল ওয়ার্কফ্লো: ~/.gemini/config/global_workflows/
  • Workspace নিয়ম: .agents/rules/
  • 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.

এক বা দুই মিনিট পরে, আপনি Workspace-এ তিনটি ফাইল দেখতে পাবেন: 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 ইতিমধ্যেই আমাদের ওয়ার্কফ্লো সম্পর্কে জানে:

1b5120e06e55e98.png

generate-unit-tests বেছে নিয়ে এন্টার করুন। কয়েক সেকেন্ড পরে, আপনার ওয়ার্কস্পেসে নতুন ফাইল পাবেন: test_binary_search.py, test_bubble_sort.py, যেখানে আগে থেকেই বেশ কিছু পরীক্ষা প্রয়োগ করা হয়েছে!

১০. MCP সার্ভার

এজেন্টদের এক্সটার্নাল সিস্টেমের সাথে কানেক্ট করার জন্য মডেল কন্টেক্সট প্রোটোকল (MCP) একটি স্ট্যান্ডার্ড হিসেবে উঠে এসেছে। আপনার ডেটা ও ইন্টিগ্রেশনের ক্ষেত্রে এজেন্ট যাতে গ্রাউন্ডেড থাকে তা নিশ্চিত করার ব্যাপারে এগুলি গুরুত্বপূর্ণ ভূমিকা পালন করে।

Antigravity IDE, লোকাল ও রিমোট, দুটি MCP সার্ভারেই কাজ করে। এছাড়াও, এটি Google Cloud পরিষেবার সাথে কাজ করে এমন একাধিক MCP সার্ভারের সাথে ইন্টিগ্রেশন সহ শিপ করে এবং এগুলি কয়েকটি কনফিগারেশন ডেটা সহ এক-ক্লিক ইনস্টল।

উপরে ডানদিকের কোণে ... আইকনে ক্লিক করে MCP Servers আইকন বেছে নিন। এর ফলে একটি ডায়ালগ খুলে যাবে, যেখানে আপনি MCP সার্ভারের একটি তালিকা দেখতে পাবেন:

3fed0fbf1daa6df0.png

যেমন, এর MCP সার্ভার ইনস্টল করতে, আপনি Cloud Run-এ ক্লিক করতে পারেন।

উপরে ডানদিকে Manage MCP Servers আইকনে ক্লিক করলে, আপনি ~/.gemini/config/mcp_config.json-এ কাঁচা MCP সার্ভার কনফিগারেশনও দেখতে পাবেন। এছাড়াও, আপনি এই ফাইলে অন্যান্য কাস্টম 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 ফাইলে দেওয়া নির্দেশাবলী অনুযায়ী অ্যাকশন নিতে হবে।

নিচে একটি নমুনা আউটপুট দেখানো হল:

dfbef714c00db3a7.png

১২. উপসংহার

অভিনন্দন! আপনি এখন Antigravity IDE-এর মূল ফিচারগুলি সফলভাবে ইনস্টল, কনফিগার ও এক্সপ্লোর করেছেন!

Antigravity প্ল্যাটফর্ম সম্পর্কে আরও জানতে, নিম্নলিখিত কোডল্যাব ও রেফারেন্স ডকুমেন্টেশন দেখুন।

অন্যান্য কোডল্যাব

রেফারেন্স ডকুমেন্ট