Antigravity IDE দিয়ে শুরু করা

১. ভূমিকা

অ্যান্টিগ্র্যাভিটি একটি এজেন্টিক ডেভেলপমেন্ট প্ল্যাটফর্ম যা এজেন্ট-ফার্স্ট যুগে যে কাউকে কিছু তৈরি করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে। এটি চারটি প্রধান পণ্য নিয়ে গঠিত: অ্যান্টিগ্র্যাভিটি, অ্যান্টিগ্র্যাভিটি আইডিই, অ্যান্টিগ্র্যাভিটি সিএলআই এবং অ্যান্টিগ্র্যাভিটি এসডিকে।

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

আপনি যা শিখবেন

  • অ্যান্টিগ্র্যাভিটি প্ল্যাটফর্মটি সম্পর্কে জানুন।
  • Antigravity IDE ইনস্টল করুন।
  • অ্যান্টিগ্র্যাভিটি এডিটর এবং এজেন্ট প্যানেল অন্বেষণ করুন।
  • স্ল্যাশ কমান্ড।
  • কাস্টমাইজেশন, এমসিপি সার্ভার এবং দক্ষতা।

আপনার যা যা লাগবে

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

  • ক্রোম ওয়েব ব্রাউজার।
  • একটি জিমেইল অ্যাকাউন্ট (ব্যক্তিগত জিমেইল অ্যাকাউন্ট)।

সমস্যা রিপোর্ট করা

কোডল্যাব এবং অ্যান্টিগ্র্যাভিটি নিয়ে কাজ করার সময় আপনি সমস্যার সম্মুখীন হতে পারেন।

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

e7d8a6055a16a773.png

Antigravity সম্পর্কিত বাগ বা ফিচার অনুরোধের জন্য, অনুগ্রহ করে Antigravity-এর মধ্যেই সমস্যাটি জানান। আপনি Antigravity প্রোডাক্টের নিচের বাম কোণে থাকা Settings-এ ক্লিক করে এবং তারপর Provide Feedback অপশনটি বেছে নিয়ে প্রোডাক্ট সম্পর্কে মতামত জানাতে পারেন।

২. অ্যান্টিগ্র্যাভিটি প্ল্যাটফর্ম

Antigravity IDE-তে মনোযোগ দেওয়ার আগে, চলুন প্রথমে Antigravity প্ল্যাটফর্মটি বুঝে নিই।

অ্যান্টিগ্র্যাভিটি ৪টি পৃথক পণ্য নিয়ে গঠিত:

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

যদিও সমস্ত পণ্য একই অন্তর্নিহিত অ্যান্টিগ্র্যাভিটি এজেন্টগুলিতে অ্যাক্সেস প্রদান করে, তবে মিথস্ক্রিয়ার মাত্রা ভিন্ন।

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

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

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

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

৩. স্থাপন

যদি আপনার Antigravity অ্যাপ্লিকেশনটি আগে থেকেই ইনস্টল করা থাকে কিন্তু Antigravity IDE এখনও ইনস্টল করা না হয়ে থাকে, তাহলে আপনি উপরের ডান কোণায় একটি Install IDE বাটন দেখতে পাবেন:

a3afce2c797f070c.png

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

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

a7bda49c67b4d971.png

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

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

923299763a029330.png

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

c4e8005b3042b401.png

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

195da4a9d7b5a075.png

আপনি এখন অ্যান্টিগ্র্যাভিটি আইডিই ব্যবহার করার জন্য প্রস্তুত।

৪. অ্যান্টিগ্র্যাভিটি আইডিই ইন্টারফেস

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

4a3bd4e0483365d9.png

আপনি একটি স্থানীয় ফোল্ডার খুলে শুরু করতে পারেন। এছাড়াও, Terminal (Terminal) এবং তারপর New Terminal মেনু আইটেমটি ব্যবহার করে একটি নতুন টার্মিনাল খোলাও একটি ভালো উপায়।

এখন আপনার কাছে এডিটর, টার্মিনাল এবং এজেন্ট প্রস্তুত আছে:

d1465bea8316f991.png

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

অ্যান্টিগ্র্যাভিটি সেটিংস

নিচের ডান কোণায় থাকা অ্যান্টিগ্র্যাভিটি সেটিংস দেখে নেওয়া ভালো। এতে এজেন্টের জন্য মৌলিক সেটিংসগুলো রয়েছে:

14201a391e0d5955.png

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

9c2939aafa9724b5.png

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

৫. সম্পাদক

চলুন এডিটরটি অন্বেষণ করি। এডিটরের বৈশিষ্ট্যগুলো অন্বেষণ করতে hello.py নামে একটি পাইথন ফাইল তৈরি করুন।

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

b34cd085032c2d5f.png

কোডের পরবর্তী যৌক্তিক স্থানে কার্সর নিয়ে যাওয়ার জন্য সাজেশনগুলোতে ঝাঁপ দিতে একটি ট্যাব দেওয়া হয়। উদাহরণস্বরূপ, আপনি main() টাইপ করা শেষ করার সাথে সাথে, এডিটর আপনাকে main মেথডে যেতে বলে:

2dd69707af98c677.png

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

5ce8b0b5b9fdfdcc.png

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

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

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

ae98a3c19c2a8fc7.png

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

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

db123f692200e653.png

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

2f95dba053a09dd5.png

এছাড়াও আপনি ত্রুটিসহ টার্মিনাল আউটপুটের একটি অংশ নির্বাচন করে Cmd + L ব্যবহার করে এজেন্ট কথোপকথনে পাঠাতে পারেন:

b1a29237e8efd11a.png

এজেন্টের সাথে চ্যাট করার সময়, আপনি ইনপুট উইন্ডোর উপরে কিছু আইকন দেখতে পাবেন:

3b17223d6d2e7bea.png

এগুলো হলো চেঞ্জেস ওভারভিউ (কোডের পরিবর্তন দেখার জন্য), টার্মিনাল (ব্যাকগ্রাউন্ড প্রসেস), আর্টিফ্যাক্টস এবং ব্রাউজার।

৭. প্রত্নবস্তু

অ্যান্টিগ্র্যাভিটির মূল ভিত্তি হলো উন্নয়নের প্রতিটি পর্যায়ে অনায়াসে আপনার মতামত সংগ্রহ করার ক্ষমতা। এজেন্ট যখন কোনো কাজ করে, তখন এটি সেই প্রক্রিয়ার মধ্যে বিভিন্ন নিদর্শন তৈরি করে:

  • কোডিং করার আগে: একটি বাস্তবায়ন পরিকল্পনা এবং একটি করণীয় তালিকা।
  • কোড তৈরি করার সময়: কোডের পার্থক্য।
  • কোডিং করার পর: এটি কী করেছে তা ব্যাখ্যা করতে এবং ফলাফল যাচাই করতে একটি বিশদ বিবরণ।

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

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

এজেন্ট সাইড প্যানেলে, এই প্রম্পটটি চেষ্টা করুন:

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

এটি এজেন্টকে পরিকল্পনা শুরু করতে এবং একটি বাস্তবায়ন পরিকল্পনা তৈরি করতে উৎসাহিত করবে।

বাস্তবায়ন পরিকল্পনা

বাস্তবায়ন পরিকল্পনা হলো অ্যান্টিগ্র্যাভিটি কী করতে চায়, এটি কোন প্রযুক্তি ব্যবহার করবে এবং প্রস্তাবিত পরিবর্তনগুলোর একটি উচ্চ-স্তরের বর্ণনার সার্বিক চিত্র।

কয়েক সেকেন্ডের মধ্যেই আপনি কথোপকথনে একটি বাস্তবায়ন পরিকল্পনা দেখতে পাবেন:

935372be9721a21c.png

আপনি এতে সন্তুষ্ট হলে, Proceed বোতামে ক্লিক করতে পারেন। যদি মতামত জানাতে চান, তবে জমা দেওয়ার আগে বাস্তবায়ন পরিকল্পনাটি খুলে গুগল ডক স্টাইলে মন্তব্য যোগ করতে পারেন।

কাজের তালিকা

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

5eb1f122174855a8.png

কোড পরিবর্তন

এই পর্যায়ে, অ্যান্টিগ্র্যাভিটি নতুন ফাইলে কিছু কোড তৈরি করবে। আপনি এজেন্ট চ্যাট সাইড প্যানেলে বিস্তারিত না দেখেই এই সমস্ত পরিবর্তন Accept all বা Reject all করতে পারেন। এছাড়াও, পরিবর্তনের বিবরণ দেখতে এবং কোডে বিস্তারিত মন্তব্য যোগ করতে আপনি Review changes -এ ক্লিক করতে পারেন।

ধাপে ধাপে নির্দেশিকা

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

আপনি ওয়াকথ্রু-তে থাকা স্ক্রিনশট বা ব্রাউজার রেকর্ডিং-এর উপরেও মন্তব্য করতে পারেন। উদাহরণস্বরূপ, আমরা Change the blue theme to orange theme ’ মন্তব্যটি যোগ করে সাবমিট করতে পারি। মন্তব্যটি সাবমিট করার পর, অ্যান্টিগ্র্যাভিটি পরিবর্তনগুলো করে, ফলাফল যাচাই করে এবং ওয়াকথ্রু-টি আপডেট করে।

পরিবর্তনগুলি পূর্বাবস্থায় ফেরান

সবশেষে, প্রতিটি ধাপের পরে, যদি আপনি পরিবর্তনে সন্তুষ্ট না হন, তাহলে চ্যাট থেকে তা পূর্বাবস্থায় ফিরিয়ে আনার সুযোগ রয়েছে। এর জন্য আপনাকে শুধু চ্যাটে থাকা ↩️ ‘ Undo changes up to this point বিকল্পটি বেছে নিতে হবে।

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

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

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 টাইপ করা শুরু করুন এবং অ্যান্টিগ্র্যাভিটি ইতিমধ্যেই আমাদের কার্যপ্রক্রিয়া সম্পর্কে জেনে যাবে:

1b5120e06e55e98.png

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

১০. এমসিপি সার্ভার

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

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

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

3fed0fbf1daa6df0.png

উদাহরণস্বরূপ, আপনি ক্লাউড রান -এ ক্লিক করে এর এমসিপি সার্ভারটি ইনস্টল করতে পারেন।

আপনি যদি উপরের ডানদিকে থাকা 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 একটি Cloud Run পরিষেবা কনফিগার ও স্থাপন করার জন্য cloudrun-mcp সার্ভারটি খুঁজে বের করবে এবং ব্যবহার করবে।

১১. দক্ষতা

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

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

কাঠামো এবং পরিধি

স্কিল হলো ডিরেক্টরি-ভিত্তিক প্যাকেজ। আপনার প্রয়োজন অনুসারে আপনি এগুলোকে দুটি স্কোপে সংজ্ঞায়িত করতে পারেন:

  • বৈশ্বিক পরিধি ( ~/.gemini/config/skills/ ): সমস্ত অ্যান্টিগ্র্যাভিটি পণ্য (অ্যান্টিগ্র্যাভিটি, অ্যান্টিগ্র্যাভিটি আইডিই, অ্যান্টিগ্র্যাভিটি সিএলআই) এবং প্রোজেক্ট জুড়ে উপলব্ধ।
  • প্রজেক্ট/ওয়ার্কস্পেস স্কোপ ( <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

আমরা এইমাত্র যে প্রজেক্ট ফোল্ডারটি তৈরি করেছি, যেমন .agents/skills/code-review , সেখানে নিচে দেখানো বিষয়বস্তু সহ একটি SKILL.md ফাইল তৈরি করুন:

---
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 ইনস্টল, কনফিগার এবং এর প্রধান বৈশিষ্ট্যগুলো অন্বেষণ করেছেন!

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

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

রেফারেন্স নথি