মিথুন CLI-এর সাহায্যে উন্নয়ন ত্বরান্বিত করা

১. সংক্ষিপ্ত বিবরণ

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

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

এই ল্যাবে, আপনারা নিম্নলিখিত বিষয়গুলো করতে শিখবেন:

  • সাধারণ ডেভেলপার কাজগুলোর জন্য কীভাবে Gemini CLI ব্যবহার করবেন।

পূর্বশর্ত

  • এই ল্যাবটি করার জন্য ক্লাউড কনসোল এবং ক্লাউড শেল পরিবেশ সম্পর্কে পূর্বপরিচিতি আছে বলে ধরে নেওয়া হচ্ছে।

২. সেটআপ এবং প্রয়োজনীয়তা

ক্লাউড প্রজেক্ট সেটআপ

  1. Google Cloud Console- এ সাইন-ইন করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। যদি আপনার আগে থেকে Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • প্রজেক্টের নামটি হলো এই প্রজেক্টের অংশগ্রহণকারীদের প্রদর্শিত নাম। এটি একটি ক্যারেক্টার স্ট্রিং যা গুগল এপিআই ব্যবহার করে না। আপনি যেকোনো সময় এটি আপডেট করতে পারেন।
  • প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত এটি কী তা নিয়ে আপনার মাথা ঘামানোর দরকার নেই। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে (যা সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন। বিকল্পভাবে, আপনি আপনার নিজের আইডি দিয়ে চেষ্টা করে দেখতে পারেন যে সেটি উপলব্ধ আছে কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রজেক্টের পুরো সময়কাল জুড়ে এটি অপরিবর্তিত থাকবে।
  • আপনার অবগতির জন্য জানানো যাচ্ছে যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।
  1. এরপর, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে খুব বেশি খরচ হবে না, এমনকি আদৌ কোনো খরচ নাও হতে পারে। এই টিউটোরিয়ালের পর বিলিং এড়াতে রিসোর্সগুলো বন্ধ করার জন্য, আপনি আপনার তৈরি করা রিসোর্সগুলো অথবা প্রজেক্টটি ডিলিট করে দিতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।

পরিবেশ সেটআপ

জেমিনি চ্যাট খুলুন।

bc3c899ac8bcf488.png

অথবা সার্চ বারে 'Ask Gemini' টাইপ করুন।

e1e9ad314691368a.png

Google Cloud API-এর জন্য Gemini সক্রিয় করুন:

636114fa6e5f0abf.png

পরবর্তী স্ক্রিনে GCA সক্রিয় করুন।

8e234b2e282c4413.png

" Start chatting "-এ ক্লিক করুন এবং এটি পরখ করে দেখার জন্য নমুনা প্রশ্নগুলোর মধ্যে একটি অনুসরণ করুন অথবা আপনার নিজের প্রশ্ন টাইপ করুন।

ed120d672468b412.png

চেষ্টা করার মতো কিছু প্রম্পট:

  • ৫টি মূল পয়েন্টে ক্লাউড রান ব্যাখ্যা করুন।
  • আপনি গুগল ক্লাউড রান-এর প্রোডাক্ট ম্যানেজার, একজন শিক্ষার্থীকে ৫টি সংক্ষিপ্ত ও গুরুত্বপূর্ণ পয়েন্টে ক্লাউড রান ব্যাখ্যা করুন।
  • আপনি গুগল ক্লাউড রান প্রোডাক্ট ম্যানেজার, একজন সার্টিফায়েড কুবারনেটিস ডেভেলপারকে ৫টি সংক্ষিপ্ত ও মূল পয়েন্টে ক্লাউড রান ব্যাখ্যা করুন।
  • আপনি গুগল ক্লাউড রান-এর প্রোডাক্ট ম্যানেজার। একজন সিনিয়র ডেভেলপারকে ৫টি সংক্ষিপ্ত ও গুরুত্বপূর্ণ পয়েন্টে ব্যাখ্যা করুন, কখন আপনি GKE-এর পরিবর্তে ক্লাউড রান ব্যবহার করবেন।

আপনার কাজ শেষ হলে জেমিনি ক্লাউড অ্যাসিস্ট চ্যাট উইন্ডোটি বন্ধ করে দিন।

আরও ভালো প্রম্পট লেখার বিষয়ে জানতে প্রম্পট গাইড দেখুন।

গুগল ক্লাউডের জন্য জেমিনি কীভাবে আপনার ডেটা ব্যবহার করে

গুগলের গোপনীয়তার প্রতিশ্রুতি

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

আপনার জমা দেওয়া এবং প্রাপ্ত ডেটা

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

প্রম্পটের এনক্রিপশন

আপনি যখন জেমিনিতে প্রম্পট জমা দেন, তখন আপনার ডেটা জেমিনির অন্তর্নিহিত মডেলে ইনপুট হিসেবে স্থানান্তরের সময় এনক্রিপ্ট করা হয়

জেমিনি থেকে তৈরি প্রোগ্রাম ডেটা

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

গুগল আপনার অনুরোধগুলো কীভাবে পরিচালনা করে, সে সম্পর্কে আরও জানুন

৩. প্রম্পট পরীক্ষা করার বিকল্পসমূহ

আপনি যদি বিদ্যমান প্রম্পটগুলো পরিবর্তন করতে চান, তার জন্য আপনার কাছে বেশ কয়েকটি বিকল্প রয়েছে।

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

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

গুগল জেমিনি ওয়েব অ্যাপ (gemini.google.com) হলো একটি ওয়েব-ভিত্তিক টুল, যা আপনাকে গুগলের জেমিনি এআই মডেলগুলোর শক্তি অন্বেষণ ও ব্যবহার করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে।

৪. অ্যাপ্লিকেশনটি ডাউনলোড করে যাচাই করুন।

সার্চ বারের ডানদিকে থাকা আইকনটিতে ক্লিক করে ক্লাউড শেল সক্রিয় করুন।

3e0c761ca41f315e.png

অনুমতি দিতে বলা হলে, চালিয়ে যাওয়ার জন্য 'Authorize'-এ ক্লিক করুন।

6356559df3eccdda.png

টার্মিনালে, গিট রিপোজিটরিটি স্থানীয়ভাবে ক্লোন করতে নিচের কমান্ডগুলো চালান।

git clone https://github.com/gitrey/calendar-app-lab
cd calendar-app-lab

'ক্লাউড শেল এডিটর' চালু করুন।

18ca8f879206a382.png

" calendar-app-lab " ফোল্ডারটি খুলুন।

7cef847802b51038.png

ক্লাউড শেল এডিটর-এ একটি নতুন টার্মিনাল চালু করুন।

3336bea9c0e999b9.png

আপনার পরিবেশটি নিচের স্ক্রিনশটটির মতো দেখতে হওয়া উচিত।

ae9475871b7d28a6.png

৫. জেমিনি সিএলআই পরিচিতি

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

কুইকল্যাবস এনভায়রনমেন্টের জন্য এনভায়রনমেন্ট ভেরিয়েবল সেট করার এই ধাপটির প্রয়োজন নেই। পরবর্তী ধাপে এগিয়ে যান।

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

export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_NAME"

নিশ্চিত করুন যে আপনি প্রজেক্ট ফোল্ডারের রুটে আছেন:

cd ~/calendar-app-lab

টার্মিনাল উইন্ডোতে Gemini CLI চালু করুন:

gemini

আপনার পরিবেশটি নিচের স্ক্রিনশটটির মতো দেখতে হওয়া উচিত।

আপনি যদি আপনার স্থানীয় পরিবেশে ধাপগুলো অনুসরণ করেন, তাহলে আপনার IDE-এর সাথে ইন্টিগ্রেশন চালু করতে পারবেন।

আপনি /ide disable | enable চালিয়ে যেকোনো সময় এটি পরিবর্তন করতে পারেন।

eaee08868abb4ccd.png

আপনি যদি কুইকল্যাবস পরিবেশে ল্যাবটি চালান, তাহলে " Use Cloud Shell user credentials " নির্বাচন করুন।

অন্যথায়, নিম্নলিখিত কমান্ডটি চালিয়ে Gemini CLI প্রমাণীকরণ করুন এবং " Login with Google " নির্বাচন করুন:

/auth

CLI পুনরায় চালু করার পর, আপনাকে প্রদত্ত একটি লিঙ্ক অনুসরণ করে অ্যাপ্লিকেশনটি অনুমোদন করতে বলা হবে।

390e8cbd9a32e8eb.png

লিঙ্কটি খুলুন এবং আপনার কুইকল্যাবস শিক্ষার্থীর তথ্য দিয়ে সাইন-ইন করতে ধাপগুলো অনুসরণ করুন। 24c1671a3c14b61d.png

যাচাইকরণ কোডটি কপি করুন এবং কোডটি পেস্ট করে প্রক্রিয়াটি সম্পন্ন করতে টার্মিনালে ফিরে আসুন।

আপনার প্রমাণীকরণ পদ্ধতি যাচাই করতে, নিম্নলিখিত কমান্ডটি চালান:

/about

f15a4036437b84d5.png

৬. কোডবেস বোঝা

আপনি জেমিনি সিএলআই (Gemini CLI)-কে ফাইল বা ডিরেক্টরির উদ্দেশ্য সংক্ষেপে বলতে এবং জটিল ফাংশন বা কোডের অংশ ব্যাখ্যা করতে বলে দ্রুত কোডবেস সম্পর্কে ধারণা লাভ করতে পারেন। এটি ডেভেলপারদের গভীরভাবে ম্যানুয়ালি না ঘেঁটেই দ্রুত নতুন প্রজেক্টে যুক্ত হতে বা বিদ্যমান কোডের অপরিচিত অংশগুলো বুঝতে সাহায্য করে।

কোডবেস সম্পর্কে আরও জানতে, Gemini CLI-তে নিম্নলিখিত প্রম্পটটি পাঠান:

Don't suggest any changes. Explain this codebase to me.

আউটপুট পর্যালোচনা করুন:

63b57c91fd0e90a8.png

৭. অ্যাপ্লিকেশনটি স্থানীয়ভাবে চালু করুন।

Gemini CLI আপনার Python অ্যাপ্লিকেশন স্থানীয়ভাবে চালানোকে উল্লেখযোগ্যভাবে সহজ করে তুলতে পারে, কারণ এটি requirements.txt বা একটি সাধারণ Dockerfile-এর মতো প্রয়োজনীয় কনফিগারেশন ফাইলগুলো স্বয়ংক্রিয়ভাবে তৈরি করতে সাহায্য করে। এছাড়াও, এটি Python ডিপেন্ডেন্সি পরিচালনা এবং সমস্যা সমাধানে চমৎকার, কারণ এটি অনুপস্থিত প্যাকেজ বা ভার্সন দ্বন্দ্বের ফলে সৃষ্ট ট্রেসব্যাক ত্রুটিগুলো দ্রুত ব্যাখ্যা করতে পারে এবং প্রায়শই সমস্যাটি সমাধানের জন্য সঠিক pip install কমান্ডটির পরামর্শ দেয়।

অ্যাপ্লিকেশনটি স্থানীয়ভাবে চালু করতে, Gemini CLI টার্মিনালে নিম্নলিখিত প্রম্পটটি লিখুন:

Run this app locally

অ্যাপ্লিকেশনটি চালু করতে নির্দেশাবলী অনুসরণ করুন:

d1fefa449b733c15.png

অ্যাপ্লিকেশনটির প্রিভিউ দেখতে লিঙ্কে ক্লিক করুন:

695fc8a1abab0aa7.png

নমুনা আউটপুট:

e9f986d9088b4419.png

d2bb703195b4f99.png

৮. ডকুমেন্টেশন যোগ করা

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

অ্যাপ্লিকেশনের প্রতিটি পাইথন ফাইলে মন্তব্য যোগ করতে, Gemini CLI টার্মিনাল ব্যবহার করুন এবং নিম্নলিখিত প্রম্পটটি লিখুন:

Add docstrings to all files

প্রস্তাবিত পরিবর্তনগুলো অনুমোদন করুন। যদি IDE ইন্টিগ্রেশন চালু থাকে, তাহলে আপনি UI কন্ট্রোল ব্যবহার করে অথবা টার্মিনালে Enter চেপে তা গ্রহণ করে এগিয়ে যেতে পারেন। এছাড়াও আপনি " ctrl+y " চেপে অটো-অ্যাপ্রুভ (YOLO) মোড চালু করতে পারেন।

a41d76b77290cc10.png

নিম্নলিখিত প্রম্পট দিয়ে .gitignore ফাইলটি আপডেট করুন:

update .gitignore and add __pycache__ folder

সোর্স কন্ট্রোল ভিউতে যান এবং এ পর্যন্ত আপনার করা পরিবর্তনগুলো পর্যালোচনা করুন:

2c41f8b842573384.png

৯. ইউনিট টেস্ট যোগ করা

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

নিচের প্রম্পটটি ব্যবহার করে ইউনিট টেস্ট তৈরি করুন:

Generate unit tests for @calendar.py

পরিবর্তনগুলো পর্যালোচনা করার পর গ্রহণ করুন।

6b59d78b83152a22.png

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

ec1a4fbb2d340384.png

১০. ত্রুটি পরীক্ষা করুন

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

রূপান্তর যুক্তিতে কোনো ত্রুটি আছে কিনা তা পরীক্ষা করতে, Gemini CLI-তে নিম্নলিখিত প্রম্পটটি পাঠান:

Are there any bugs in the conversion logic? Check if negative numbers are handled properly.

প্রস্তাবিত পরিবর্তনগুলো পর্যালোচনা করুন এবং চ্যাটে সেগুলো গ্রহণ করুন:

54ef65ded5462b34.png

১১. UI রিফ্যাক্টর করুন

জেমিনি সিএলআই (Gemini CLI) পুরোনো UI প্যাটার্নগুলোকে (যেমন ক্লাস কম্পোনেন্ট) নতুন ও আরও আধুনিক ফাংশনাল প্যারাডাইমে (যেমন রিয়্যাক্ট-এর হুকস) রূপান্তর করতে অথবা আরও ভালো রক্ষণাবেক্ষণের জন্য কাঠামোগত উন্নতির পরামর্শ দিয়ে UI রিফ্যাক্টরিং-এ উল্লেখযোগ্যভাবে সাহায্য করতে পারে। আপনি এটি ব্যবহার করে বিদ্যমান UI কোড বিশ্লেষণ ও রিফ্যাক্টর করে সেটিকে আরও মডিউলার ও পুনঃব্যবহারযোগ্য কম্পোনেন্টে পরিণত করতে পারেন, যা একটি পরিচ্ছন্ন ও আরও মানসম্মত ইন্টারফেস ডিজাইন নিশ্চিত করে।

Gemini CLI-তে নিম্নলিখিত প্রম্পটটি জমা দিয়ে Bootstrap লাইব্রেরি ব্যবহার করে UI রিফ্যাক্টর করুন:

Refactor UI to use Bootstrap library

পরিবর্তনগুলো পর্যালোচনা করুন এবং গ্রহণ করুন:

16e6ca14e703127.png

শুরু করতে, অ্যাপ্লিকেশনটি চালু করুন। যদি এটি আগে থেকেই চালু থাকে, তবে শুধু পৃষ্ঠাটি রিলোড করুন।

python3 main.py

পৃষ্ঠাটি পুনরায় লোড করুন এবং পরিবর্তনগুলো যাচাই করুন।

b52a709e902040e3.png

54664e527bcd9227.png

সমস্যা দেখা দিলে যাতে একটি ত্রুটি পৃষ্ঠা প্রদর্শিত হয়, তা নিশ্চিত করতে ত্রুটি ব্যবস্থাপনা প্রয়োগ করুন।

Implement error handling to display an error page when issues occur.

আপডেটগুলো দেখতে অনুগ্রহ করে পৃষ্ঠাটি রিফ্রেশ করুন।

ত্রুটির পৃষ্ঠাটি নিশ্চিত করতে একটি ঋণাত্মক সংখ্যা পাঠান।

82e16d4cf25933db.png

১২. ব্যাকএন্ড রিফ্যাক্টর করুন

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

রূপান্তর অনুরোধগুলো মেমরিতে সংরক্ষণ করার জন্য ব্যাকএন্ডটি পরিবর্তন করুন।

Store requests in memory and create a page to display conversion history. Add links on all pages to view the history.

চ্যাটে পরিবর্তনগুলো পর্যালোচনা করুন এবং গ্রহণ করুন:

19cfa20552fb3a01.png

অ্যাপ্লিকেশনটিতে একাধিক অনুরোধ জমা দিন, তারপর হিস্ট্রি পেজটি পর্যালোচনা করুন।

ac5639d18b341b0a.png

রূপান্তর অনুরোধগুলোর ইতিহাস পর্যালোচনা করুন।

9ca680e193510640.png

বর্তমান কোডবেস অবস্থা দিয়ে README.md ফাইলটি আপডেট করতে, Gemini CLI-এর মাধ্যমে এই প্রম্পটটি পাঠান:

analyze README.md file and update it with latest codebase state

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

১৩. জেমিনি সিএলআই-এর অন্তর্নির্মিত টুলস

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

উপলব্ধ টুলগুলি দেখতে Gemini CLI-তে এই প্রম্পটটি পাঠান:

/tools

আউটপুটটি পর্যালোচনা করুন।

e5ef2d9b81f6c10.png

আপনার দেওয়া কাজের উপর ভিত্তি করে Gemini CLI বুদ্ধিমত্তার সাথে সবচেয়ে উপযুক্ত বিল্ট-ইন টুলগুলো নির্বাচন করে, যা আপনার অনুরোধ এবং উপলব্ধ কার্যকারিতা সম্পর্কে তার ধারণাকে কাজে লাগিয়ে জটিল অপারেশন সম্পাদন করতে সক্ষম করে। বিল্ট-ইন টুলগুলো সম্পর্কে আরও জানুন

১৪. জেমিনি সিএলআই রিপো ইনিট কমান্ড

জেমিনি সিএলআই-তে প্রজেক্ট বিশ্লেষণ করার এবং একটি বিশেষভাবে তৈরি GEMINI.md ফাইল তৈরি করার জন্য একটি কমান্ড রয়েছে।

GEMINI.md ফাইলটি তৈরি করতে, Gemini CLI ব্যবহার করে নিম্নলিখিত প্রম্পটটি পাঠান:

/init

আউটপুটটি পর্যালোচনা করুন। এই কমান্ডটি একটি GEMINI.md ফাইল তৈরি করবে, যেখানে ভবিষ্যতের জন্য প্রকল্পের উদ্দেশ্য, প্রযুক্তি, বিল্ড/রান নির্দেশাবলী এবং উন্নয়ন রীতির সারসংক্ষেপ থাকবে।

আপনার প্রোজেক্টের GEMINI.md ফাইলে কী নির্দেশনা বা প্রেক্ষাপট অন্তর্ভুক্ত করতে হবে তা বোঝার জন্য, gemini-cli রিপোজিটরিতে থাকা GEMINI.md ফাইলটি পর্যালোচনা করা একটি ভালো সূচনা হতে পারে।

১৫. জেমিনি সিএলআই কাস্টম কমান্ড

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

রিপোজিটরিটিতে .gemini/commands ফোল্ডারে অবস্থিত বেশ কিছু কাস্টম কমান্ড রয়েছে।

ডায়াগ্রাম তৈরি করার জন্য কাস্টম কমান্ড

মারমেইড ফরম্যাটে একটি রিকোয়েস্ট ফ্লো ডায়াগ্রাম তৈরি করতে জেমিনি সিএলআই-তে এই প্রম্পটটি পাঠান।

ফোল্ডার তৈরি করা এবং ফাইল সংরক্ষণ করার মতো টুলগুলোর কল গ্রহণ করুন।

/diagram:new request flow for this app

আউটপুটটি পর্যালোচনা করুন।

a85a31f482a2cc7d.png

আপনি যদি ডায়াগ্রামটির প্রিভিউ দেখতে চান, তাহলে মার্কেটপ্লেস থেকে Mermaid Chart এক্সটেনশনটি ইনস্টল করুন।

22d4a002e2137b55.png

ফাইলটি খুলুন এবং কনটেক্সট মেনু থেকে প্রিভিউ নির্বাচন করুন।

bccf0ae8ac46415f.png

c669fcd96c34662.png

একটি ডেক তৈরি করার জন্য কাস্টম কমান্ড

মার্প ফরম্যাটে মূল পয়েন্টগুলো সহ একটি ডেক তৈরি করতে জেমিনি সিএলআই-তে এই প্রম্পটটি পাঠান।

ফোল্ডার তৈরি করা এবং ফাইল সংরক্ষণ করার মতো টুলগুলোর কল গ্রহণ করুন।

/deck:new key points and details for this app

আউটপুটটি পর্যালোচনা করুন।

c9aa767796204c7c.png

এই ধাপটি ক্লাউড শেলের সাথে সামঞ্জস্যপূর্ণ নয়, কারণ মার্প এক্সটেনশনটির জন্য একটি ওয়েব ব্রাউজার ইনস্টলেশন প্রয়োজন।

ডেকটি সংরক্ষণ করতে মার্কেটপ্লেস থেকে Marp for VS Code এক্সটেনশনটি ইনস্টল করুন।

a9d339718cbfcd9.png

অন্যথায় আপনি এডিটরে তৈরি ফাইলটি খুলবেন এবং কমান্ড প্যালেট থেকে " Marp: Export Slide Deck " নির্বাচন করবেন।

91143fe81f7f5d71.png

নতুন ফিচার বাস্তবায়নের পরিকল্পনা করার জন্য কাস্টম কমান্ড

UI রিফ্যাক্টর করতে Gemini CLI-তে এই প্রম্পটটি পাঠান।

ফোল্ডার তৈরি করা এবং ফাইল সংরক্ষণ করার মতো টুলগুলোর কল গ্রহণ করুন।

/plan:new refactor UI to use Materialize CSS

আউটপুটটি পর্যালোচনা করুন।

552dbe189a493f91.png

পূর্বে তৈরি করা পরিকল্পনার উপর ভিত্তি করে, Gemini CLI-এর মাধ্যমে এই প্রম্পটটি জমা দিয়ে UI রিফ্যাক্টরিং প্রক্রিয়াটি শুরু করুন।

ফোল্ডার তৈরি করা এবং ফাইল সংরক্ষণ করার মতো টুলগুলোর কল গ্রহণ করুন। আপনি " ctrl+y " ব্যবহার করে টুলগুলোর স্বয়ংক্রিয় অনুমোদন মোড ( YOLO mode ) চালু করতে পারেন।

/plan:impl implement the plan to refactor the app

a3ceec7146f285e0.png

অ্যাপ্লিকেশনটি চালু/পুনরায় লোড করুন এবং আউটপুট পর্যালোচনা করুন:

fd0675f713d361e4.png

7352b93acabfb5be.png

১৬. জেমিনি সিএলআই নন-ইন্টারেক্টিভ মোড

একটি CI/CD পাইপলাইনের মধ্যে Gemini CLI-কে নন-ইন্টারেক্টিভ মোডে চালানোর সময়, আপনি ম্যানুয়াল হস্তক্ষেপ ছাড়াই সরাসরি CLI-তে প্রম্পট এবং কমান্ড পাঠিয়ে বিভিন্ন কাজ স্বয়ংক্রিয় করতে পারেন। এর ফলে কোড বিশ্লেষণ, ডকুমেন্টেশন তৈরি এবং অন্যান্য ডেভেলপমেন্ট কাজের জন্য স্বয়ংক্রিয় ওয়ার্কফ্লোতে নির্বিঘ্ন ইন্টিগ্রেশন সম্ভব হয়।

একটি নতুন টার্মিনাল খুলুন অথবা বিদ্যমান Gemini CLI সেশনটি বন্ধ করে এই কমান্ডটি চালান।

gemini -p "Explain the architecture of this codebase"

আউটপুটটি পর্যালোচনা করুন।

যদি আপনার কাজের জন্য টুলগুলোর অনুমোদনের প্রয়োজন হয়, তাহলে আপনি -y ফ্ল্যাগ ব্যবহার করে YOLO মোড চালু করতে পারেন।

gemini -p "Explain the architecture of this codebase and save the file in the markdown format in the docs folder" -y

আউটপুটটি পর্যালোচনা করুন।

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

১৭. জেমিনি সিএলআই শেল মোড

যদিও এলএলএম (LLM) জটিল কাজ সামলাতে পারে, সহজ-সরল কাজের জন্য সরাসরি কমান্ড বেশি কার্যকর। ! prefix এআই (AI) এবং প্রচলিত কমান্ড-লাইন ইন্টারফেসের মধ্যে নির্বিঘ্নে পরিবর্তন করার সুযোগ দেয়।

!ls

আউটপুটটি পর্যালোচনা করুন। শেল মোড থেকে বের হতে Escape চাপুন।

১৮. জেমিনি সিএলআই এমসিপি সাপোর্ট

জেমিনি সিএলআই, মডেল কনটেক্সট প্রোটোকল (এমসিপি)-এর মাধ্যমে, জিরা, কনফ্লুয়েন্স বা গিটহাবের মতো থার্ড-পার্টি সিস্টেমের সাথে ইন্টিগ্রেট করতে পারে। এটি এমসিপি সার্ভার কাস্টম টুল ইন্টিগ্রেশনের মাধ্যমে সম্পন্ন হয়, যা জেমিনি সিএলআই-কে জিরা টিকেট তৈরি বা আপডেট করতে, কনফ্লুয়েন্স পেজ থেকে তথ্য সংগ্রহ করতে, পুল রিকোয়েস্ট তৈরি করতে ইত্যাদি কাজে সক্ষম করে।

কনফিগারেশন ফাইল তৈরি করতে টার্মিনালে এই কমান্ডটি চালান অথবা শেল মোড ব্যবহার করুন।

echo '{
    "mcpServers": {
        "context7": {
            "httpUrl": "https://mcp.context7.com/mcp"
        }
    }
}' > .gemini/settings.json

জেমিনি সিএলআই সেশন শুরু করুন:

gemini

কনফিগার করা এমসিপি সার্ভারগুলি যাচাই করুন:

/mcp

আউটপুট পর্যালোচনা করুন

c80d95544cc3436a.png

কনফিগার করা এমসিপি সার্ভার পরীক্ষা করার জন্য প্রম্পট পাঠান:

use context7 tools to look up how to implement flex grid in react mui library 

টুলগুলো অনুমোদন করুন এবং আউটপুট পর্যালোচনা করুন।

b51db5af09bd3f02.png

১৯. আপনার স্থানীয় পরিবেশের জন্য এমসিপি সার্ভার কনফিগারেশনের উদাহরণ

নিম্নলিখিত কনফিগারেশন ব্যবহার করে আপনি আপনার স্থানীয় পরিবেশে একাধিক MCP সার্ভার কনফিগার করতে পারেন।

{
    "mcpServers": {
        "Snyk Security Scanner": {
            "command": "snyk",
            "args": [
                "mcp",
                "-t",
                "stdio",
                "--experimental"
            ],
            "env": {}
        },
        "atlassian": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-remote",
                "https://mcp.atlassian.com/v1/sse"
            ]
        },
        "playwright": {
            "command": "npx",
            "args": [
                "@playwright/mcp@latest"
            ]
        },
        "github": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-github"
            ],
            "env": {
                "GITHUB_PERSONAL_ACCESS_TOKEN": "******"
            }
        }
    }
}

এই কনফিগারেশনে থাকা MCP সার্ভারগুলো এক্সটার্নাল সিস্টেমে স্ট্যান্ডার্ডাইজড অ্যাক্সেস প্রদানের মাধ্যমে আপনার Gemini CLI এজেন্টকে একটি ডাইনামিক ডেভেলপমেন্ট ও কোলাবোরেশন টুলে রূপান্তরিত করে। বিশেষত, Snyk সিকিউরিটি স্ক্যানার সার্ভারটি এজেন্টকে আপনার বর্তমান ওয়ার্কস্পেস থেকে বের না হয়েই কোড এবং ডিপেন্ডেন্সিগুলোতে দুর্বলতা পরীক্ষা করার সুযোগ দেয়, অন্যদিকে Atlassian সার্ভারটি Jira এবং Confluence-এর সাথে সংযোগ স্থাপন করে, যা Gemini CLI-কে স্বাভাবিক ভাষা ব্যবহার করে ইস্যু বা ডকুমেন্টেশন তৈরি, সার্চ এবং আপডেট করতে সক্ষম করে। এছাড়াও, Playwright সার্ভারটি এজেন্টকে ব্রাউজার অটোমেশন সক্ষমতা প্রদান করে, যা এটিকে টেস্টিং বা ডেটা এক্সট্র্যাকশনের মতো কাজের জন্য ওয়েবে নেভিগেট এবং ইন্টারঅ্যাক্ট করতে সাহায্য করে। সবশেষে, Github সার্ভারটি এজেন্টকে আপনার রিপোজিটরিগুলোতে সরাসরি ও প্রাসঙ্গিক অ্যাক্সেস দেয়, যা এটিকে PR ম্যানেজ করতে, ইস্যু ট্রায়াজ করতে এবং কোডবেস বিশ্লেষণ করতে সাহায্য করে, যার ফলে কনটেক্সট সুইচিং উল্লেখযোগ্যভাবে কমে যায় এবং আপনার সম্পূর্ণ ডেভেলপমেন্ট ওয়ার্কফ্লো জুড়ে প্রোডাক্টিভিটি বৃদ্ধি পায়।

২০. জেমিনি সিএলআই উপসংহার

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

২১. অভিনন্দন!

অভিনন্দন, আপনি কোডল্যাবটি সম্পন্ন করেছেন!

আমরা যা আলোচনা করেছি:

  • সাধারণ ডেভেলপার কাজগুলির জন্য জেমিনি সিএলআই ব্যবহার করা

এরপর কী:

  • আরও হাতে-কলমে শেখার সেশন আসছে!

পরিষ্কার করা

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

প্রকল্পটি মুছে ফেলা হচ্ছে

বিলিং বন্ধ করার সবচেয়ে সহজ উপায় হলো টিউটোরিয়ালের জন্য তৈরি করা প্রজেক্টটি ডিলিট করে দেওয়া।

©২০২৪ গুগল এলএলসি। সর্বস্বত্ব সংরক্ষিত। গুগল এবং গুগল লোগো হলো গুগল এলএলসি-এর ট্রেডমার্ক। অন্য সকল কোম্পানি ও পণ্যের নাম তাদের সংশ্লিষ্ট কোম্পানিগুলোর ট্রেডমার্ক হতে পারে।