Skip to content

সমস্ত AI টুলস (Tool Reference)

Gamedev AI-এর ৩৪টি বিল্ট-ইন টুল রয়েছে যা AI কথোপকথনের সময় স্বায়ত্তশাসিতভাবে কল করতে পারে। এই টুলগুলো হলো "মেকানিক্যাল আর্ম" যা AI-কে সরাসরি Godot ইঞ্জিনের সাথে যোগাযোগ করতে দেয়, এবং প্রতিটি বিভাগ অনুসারে নিচে বর্ণনা করা হয়েছে।

🔧 স্ক্রিপ্ট (কোড তৈরি এবং এডিট করা)

create_script

নির্দিষ্ট পাথে (Path) নির্দিষ্ট কন্টেন্ট দিয়ে একটি নতুন GDScript ফাইল (.gd) তৈরি করে। AI এটি নতুন স্ক্রিপ্ট জেনারেট করতে ব্যবহার করে।

  • প্যারামিটার: path (res://...), content (সম্পূর্ণ GDScript কোড)

edit_script

বিদ্যমান কোনো স্ক্রিপ্টের সম্পূর্ণ বিষয়বস্তু নতুন ভার্সন দিয়ে পরিবর্তন করে। AI আগে ফাইলটি পড়ে নিশ্চিত হয় যে তার কাছে সাম্প্রতিক কোডটি আছে।

  • প্যারামিটার: path, content
  • ⚠️ ক্ষুদ্র পরিবর্তনের জন্য patch_script এর পরিবর্তে বর্তমানে এটি কম ব্যবহৃত হয়।

patch_script

নিপুণ এডিট (Surgical Edit): স্ক্রিপ্টের ভেতরে একটি নির্দিষ্ট কোড ব্লক খুঁজে বের করে এবং কেবল সেই অংশটুকুই নতুন কন্টেন্ট দিয়ে পরিবর্তন করে, পুরো ফাইলটি পুনরায় লেখে না। ছোট ত্রুটি সংশোধনের জন্য এটি সেরা।

  • প্যারামিটার: path, search_content (খুঁজে পাওয়ার জন্য নির্দিষ্ট ব্লক), replace_content (নতুন ব্লক)

replace_selection

Godot স্ক্রিপ্ট এডিটরে বর্তমানে সিলেক্ট থাকা টেক্সটটি পরিবর্তন করে। এটি কুইক অ্যাকশন বাটনগুলোর (Refactor, Fix, Explain) সাথে কাজ করে।

  • প্যারামিটার: text (সিলেকশন পরিবর্তনের জন্য নতুন কোড)

view_file_outline

ফাইলের পুরো কোড না দেখিয়ে কেবল স্ক্রিপ্টের কাঠামো প্রদান করে: class_name, extends, ফাংশনসমূহ, সিগন্যালসমূহ, এক্সপোর্টসমূহ (Exports), এনামসমূহ (Enums), ইনার ক্লাস এবং কনস্ট্যান্ট এর সাথে লাইন নম্বর।

  • প্যারামিটার: path

🌳 নোডসমূহ (সিন ট্রি-র সাথে কাজ করা)

add_node

বর্তমানে এডিটরে খোলা সিনের ভেতরে একটি নতুন নোড যুক্ত করে। যেকোনো ধরণের Godot নোড (Node2D, CharacterBody3D, Label, Button ইত্যাদি) তৈরি করতে পারে।

  • প্যারামিটার: parent_path (রুটের জন্য . ব্যবহার করুন), type (নোড ক্লাস), name, script_path (অপশনাল)

remove_node

বর্তমান সিন ট্রি থেকে কোনো নোড রিমুভ করে। যেহেতু এটি একটি ধ্বংসাত্মক কাজ, তাই ইউজারের কনফার্মেশন প্রয়োজন হয়।

  • প্যারামিটার: node_path

set_property

সিন নোডের প্রপার্টি সেট করে (Position, Size, Text, Color ইত্যাদি)। এটি সংখ্যা (Numbers), ভেক্টর (Vectors), কালার এবং টেক্সট গ্রহণ করে।

  • প্যারামিটার: node_path, property, value

set_theme_override

একটি কন্ট্রোল (Control) নোডের থিম ওভাররাইড (Theme Override) সেট করে (যেমন ফন্ট সাইজ, ফন্ট কালার, স্টাইলবক্স)।

  • প্যারামিটার: node_path, override_type (color/constant/font/font_size/stylebox), name, value

connect_signal

বর্তমান সিনের একটি সোর্স নোডের সিগন্যালকে অন্য একটি টার্গেট নোডের মেথডের সাথে কানেক্ট করে।

  • প্যারামিটার: source_path, signal_name, target_path, method_name, binds (অপশনাল), flags (অপশনাল)

disconnect_signal

আগে থেকে কানেক্ট করা কোনো সিগন্যাল কানেকশন বিচ্ছিন্ন করে।

  • প্যারামিটার: source_path, signal_name, target_path, method_name

attach_script

সিনের কোনো নোডের সাথে একটি বিদ্যমান GDScript ফাইল যুক্ত করে।

  • প্যারামিটার: node_path, script_path

analyze_node_children

এডিট করা সিনের কোনো নির্দিষ্ট নোডের চাইল্ড ট্রির বিস্তারিত বিবরণ দেয়। জটিল স্ট্রাকচার বোঝার জন্য এটি দরকারি।

  • প্যারামিটার: node_path, max_depth (ডিফল্ট: ৫)

📂 ফাইল এবং প্রজেক্ট

read_file

প্রজেক্টের যেকোনো ফাইলের সম্পূর্ণ বিষয়বস্তু পড়ে।

  • প্যারামিটার: path

list_dir

প্রজেক্টের কোনো ডিরেক্টরির বিষয়বস্তু দেখায়।

  • প্যারামিটার: path

find_file

নাম দিয়ে প্রজেক্টের ফাইল খোঁজে (আংশিক ম্যাচ হতে পারে)।

  • প্যারামিটার: pattern

remove_file

প্রজেক্ট থেকে কোনো ফাইল বা ডিরেক্টরি মুছে ফেলে। কনফার্মেশন প্রয়োজন।

  • প্যারামিটার: path

move_files_batch

একটি ব্যাচ অপারেশনে মাল্টিপল ফাইল/ডিরেক্টরি মুভ বা রিনেম করে। এটি স্বয়ংক্রিয়ভাবে সমস্ত ইন্টারনাল Godot রেফারেন্স আপডেট করে (.tscn, .tres)।

  • প্যারামিটার: moves (পুরনো পাথ ও নতুন পাথের ডিকশনারি)

create_scene

একটি নতুন সিন ফাইল (.tscn) তৈরি করে এবং এডিটরে সেটি ওপেন করে।

  • প্যারামিটার: path, root_type, root_name

instance_scene

বিদ্যমান কোনো .tscn সিনকে বর্তমান সিনের অন্য কোনো নোডের চাইল্ড হিসেবে ইন্সট্যান্স করে।

  • প্যারামিটার: parent_path, scene_path, name

create_resource

একটি নতুন রিসোর্স ফাইল (.tres) তৈরি করে। আইটেম, স্ট্যাটস বা কাস্টম কনফিগারেশনের জন্য এটি কার্যকর।

  • প্যারামিটার: path, type, properties (অপশনাল)

🔍 সার্চ এবং অ্যানালাইসিস

ফাইলের ভেতরে টেক্সট খোঁজে। পাথ এবং লাইন নম্বর সহ ফলাফল দেখায়।

  • প্যারামিটার: query, include (এক্সটেনশন ফিল্টার, অপশনাল), max_results (ডিফল্ট: ২০)

search_in_files

প্রজেক্টের সমস্ত .gd ফাইলে Regex এর মাধ্যমে ভেরিয়েবল, ফাংশন বা নির্দিষ্ট লজিক খুঁজে বের করে।

  • প্যারামিটার: pattern (Regular Expression)

get_class_info

যেকোনো Godot ক্লাস (ইঞ্জিন অথবা ইউজার মোড) সম্পর্কে বিস্তারিত তথ্য দেয়: বেস ক্লাস, প্রপার্টি, মেথড এবং সিগন্যাল।

  • প্যারামিটার: class_name

capture_editor_screenshot

সম্পূর্ণ Godot এডিটর উইন্ডোর একটি স্ক্রিনশট নেয় এবং ভিজ্যুয়াল অ্যানালাইসিসের জন্য তা পরবর্তী মেসেজের সাথে অটোমেটিক পাঠিয়ে দেয়।


🧠 মেমরি এবং নলেজ

save_memory

প্রজেক্টের মেমরিতে একটি স্থায়ী তথ্য সেভ করে যা ভবিষ্যতে সমস্ত চ্যাট সেশনে পাওয়া যাবে।

  • প্যারামিটার: category (architecture/convention/preference/bug_fix/project_info), content

list_memories

প্রজেক্টের জন্য সেভ করা সমস্ত স্থায়ী তথ্যের লিস্ট দেখায়।

delete_memory

নির্দিষ্ট কোনো মেমরি তার আইডি (ID) দিয়ে মুছে ফেলে।

  • প্যারামিটার: id

read_skill

কোডিং করার আগে সেরা প্র্যাকটিসগুলো জানার জন্য AI এর ইন্টারনাল লাইব্রেরি থেকে কোনো স্কিল ডকুমেন্ট পড়ে।

  • প্যারামিটার: skill_name

🗄️ ভেক্টর ডাটাবেস (RAG)

index_codebase

সিম্যান্টিক সার্চের জন্য সম্পূর্ণ প্রজেক্টকে (.gd) একটি লোকাল ভেক্টর ডাটাবেসে ইনডেক্স করে। semantic_search ব্যবহার করার আগে এটি করতে হবে।

ইনডেক্স করা কোডবেস থেকে সিম্যান্টিক ভেক্টর সার্চ করে, যেখানে শব্দ মিলে যাওয়ার চেয়েও বিষয়ের গভীর মিলের ভিত্তিতে কোড খুঁজে পাওয়া যায়।

  • প্যারামিটার: query

🛡️ অডিটিং (Auditing)

audit_scene

বর্তমানে খোলা সিনের ওপর একটি আর্কিটেকচারাল অডিট পরিচালনা করে, কোনো এতিম (orphan) নোড, অনুপস্থিত স্ক্রিপ্ট বা কর্মক্ষমতা সংক্রান্ত সতর্কবার্তা খোঁজে।

audit_script

খারাপ অভ্যাস, সম্ভাব্য বাগ বা সিনট্যাক্স সতর্কতা ধরার জন্য একটি নির্দিষ্ট GDScript ফাইলের ওপর স্ট্যাটিক অ্যানালাইসিস অডিট পরিচালনা করে।

  • পরামিতি (Parameters): path

🧪 টেস্ট (Tests)

run_tests

একটি টেস্ট স্ক্রিপ্ট বা কমান্ড কার্যকর করে। GUT, GdUnit4 বা কাস্টম টেস্ট স্ক্রিপ্টের মাধ্যমে পরিবর্তনগুলো পরীক্ষা করার জন্য দরকারী।

  • পরামিতি (Parameters): test_script_path (ঐচ্ছিক)

MIT লাইসেন্সের অধীনে মুক্তি পেয়েছে।