আপনার ফায়ারবেস স্টুডিও ওয়ার্কস্পেস কাস্টমাইজ করুন

Firebase Studio আপনাকে একটি একক .idx/dev.nix কনফিগারেশন ফাইল সংজ্ঞায়িত করে আপনার প্রকল্পের অনন্য চাহিদা অনুযায়ী আপনার কর্মক্ষেত্রকে উপযোগী করতে দেয় যা বর্ণনা করে:

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

কি পাওয়া যায় তার সম্পূর্ণ বিবরণের জন্য dev.nix রেফারেন্স দেখুন।

আপনার প্রকল্পে একটি .idx/mcp.json ( Firebase এ Gemini-এর জন্য) অথবা .gemini/settings.json ( Gemini CLI জন্য) ফাইল যোগ করে, আপনি Firebase MCP সার্ভার সহ মডেল কনটেক্সট প্রোটোকল (MCP) সার্ভারের সাথেও সংযোগ করতে পারেন।

নিক্স এবং Firebase Studio

Firebase Studio প্রতিটি ওয়ার্কস্পেসের জন্য পরিবেশ কনফিগারেশন সংজ্ঞায়িত করতে Nix ব্যবহার করে। বিশেষত, Firebase Studio ব্যবহার করে:

  • কর্মক্ষেত্রের পরিবেশ বর্ণনা করার জন্য নিক্স প্রোগ্রামিং ভাষা । নিক্স একটি কার্যকরী প্রোগ্রামিং ভাষা। আপনি dev.nix ফাইলে যে অ্যাট্রিবিউট এবং প্যাকেজ লাইব্রেরিগুলি নির্ধারণ করতে পারেন সেগুলি Nix অ্যাট্রিবিউট সেট সিনট্যাক্স অনুসরণ করে।

  • আপনার কর্মক্ষেত্রে উপলব্ধ সিস্টেম সরঞ্জামগুলি পরিচালনা করতে নিক্স প্যাকেজ ম্যানেজার । এটি OS-নির্দিষ্ট প্যাকেজ ম্যানেজার যেমন APT ( apt এবং apt-get ), Homebrew ( brew ), এবং dpkg এর মতো।

যেহেতু Nix পরিবেশগুলি পুনরুত্পাদনযোগ্য এবং ঘোষণামূলক, Firebase Studio এর পরিপ্রেক্ষিতে, এর অর্থ হল আপনি আপনার নিক্স কনফিগারেশন ফাইলটি আপনার গিট রিপোজিটরির অংশ হিসাবে শেয়ার করতে পারেন যাতে আপনার প্রোজেক্টে যারা কাজ করে তাদের প্রত্যেকের একই পরিবেশ কনফিগারেশন রয়েছে।

একটি মৌলিক উদাহরণ

নিম্নলিখিত উদাহরণটি পূর্বরূপ সক্ষম করে একটি মৌলিক পরিবেশ কনফিগারেশন দেখায়:

{ pkgs, ... }: {

  # Which nixpkgs channel to use.
  channel = "stable-23.11"; # or "unstable"

  # Use https://search.nixos.org/packages to find packages
  packages = [
    pkgs.nodejs_20
  ];

  # Sets environment variables in the workspace
  env = {
    SOME_ENV_VAR = "hello";
  };

  # Search for the extensions you want on https://open-vsx.org/ and use "publisher.id"
  idx.extensions = [
    "angular.ng-template"
  ];

  # Enable previews and customize configuration
  idx.previews = {
    enable = true;
    previews = {
      web = {
        command = [
          "npm"
          "run"
          "start"
          "--"
          "--port"
          "$PORT"
          "--host"
          "0.0.0.0"
          "--disable-host-check"
        ];
        manager = "web";
        # Optionally, specify a directory that contains your web app
        # cwd = "app/client";
      };
    };
  };
}

সিস্টেম টুল যোগ করুন

আপনার ওয়ার্কস্পেসে সিস্টেম টুল যোগ করতে, যেমন ক্লাউড পরিষেবার জন্য কম্পাইলার বা CLI প্রোগ্রাম, Nix প্যাকেজ রেজিস্ট্রিতে অনন্য প্যাকেজ আইডি খুঁজুন এবং এটি আপনার dev.nix ফাইলের packages অবজেক্টে যোগ করুন, যা `pkgs-এর সাথে উপসর্গযুক্ত:

{ pkgs, ... }: {
  # Which nixpkgs channel to use.
  channel = "stable-23.11"; # or "unstable"

  # Use https://search.nixos.org/packages to find packages
  packages = [
    pkgs.nodejs_20
  ];
  ...
}

আপনি সাধারণত OS-নির্দিষ্ট প্যাকেজ পরিচালক যেমন APT ( apt এবং apt-get ), Homebrew ( brew ), এবং dpkg ব্যবহার করে সিস্টেম প্যাকেজ ইনস্টল করতে পারেন তার থেকে এটি আলাদা। কোন সিস্টেম প্যাকেজগুলি প্রয়োজন তা ঘোষণামূলকভাবে বর্ণনা করার অর্থ হল Firebase Studio ওয়ার্কস্পেসগুলি ভাগ করা এবং পুনরুত্পাদন করা সহজ৷

স্থানীয় নোড বাইনারি ব্যবহার করুন

আপনার স্থানীয় মেশিনের মতো, স্থানীয়ভাবে ইনস্টল করা নোড প্যাকেজগুলির সাথে সম্পর্কিত বাইনারিগুলি (উদাহরণস্বরূপ, আপনার package.json এ সংজ্ঞায়িত প্যাকেজগুলি ) npx কমান্ডের সাহায্যে একটি টার্মিনাল প্যানেলে কার্যকর করা যেতে পারে।

একটি অতিরিক্ত সুবিধা হিসাবে, আপনি যদি একটি node_modules ফোল্ডার (যেমন একটি ওয়েব প্রকল্পের রুট ডিরেক্টরি) সহ একটি ডিরেক্টরিতে থাকেন তবে npx উপসর্গ ছাড়াই স্থানীয়ভাবে ইনস্টল করা বাইনারিগুলিকে সরাসরি আহ্বান করা যেতে পারে৷

gcloud উপাদান যোগ করুন

Google Cloud জন্য gcloud CLI- এর একটি ডিফল্ট কনফিগারেশন সমস্ত Firebase Studio ওয়ার্কস্পেসগুলিতে উপলব্ধ।

আপনার যদি অতিরিক্ত উপাদানের প্রয়োজন হয়, আপনি সেগুলিকে আপনার dev.nix ফাইলে যোগ করতে পারেন:

{ pkgs }: {
  packages = [
    ...
    (pkgs.google-cloud-sdk.withExtraComponents [
      pkgs.google-cloud-sdk.components.cloud-datastore-emulator
    ])
    ...
  ];
}

IDE এক্সটেনশন যোগ করুন

আপনি দুটি উপায়ে OpenVSX এক্সটেনশন রেজিস্ট্রি ব্যবহার করে Firebase Studio এক্সটেনশন ইনস্টল করতে পারেন:

  • এক্সটেনশনগুলি আবিষ্কার এবং ইনস্টল করতে Firebase Studio এক্সটেনশন প্যানেল ব্যবহার করুন। এই পদ্ধতিটি ব্যবহারকারী-নির্দিষ্ট এক্সটেনশনগুলির জন্য সর্বোত্তম, যেমন:

    • কাস্টম রঙের থিম
    • VSCodeVim এর মত এডিটর এমুলেশন
  • আপনার dev.nix ফাইলে এক্সটেনশন যোগ করুন । আপনি যখন আপনার ওয়ার্কস্পেস কনফিগারেশন শেয়ার করবেন তখন এই এক্সটেনশনগুলি স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যাবে। এই পদ্ধতিটি প্রজেক্ট-নির্দিষ্ট এক্সটেনশনের জন্য সর্বোত্তম, যেমন:

    • ভাষা-নির্দিষ্ট ডিবাগার সহ প্রোগ্রামিং ভাষা এক্সটেনশন
    • আপনার প্রকল্পে ব্যবহৃত ক্লাউড পরিষেবার জন্য অফিসিয়াল এক্সটেনশন
    • কোড ফরম্যাটার

পরবর্তী পদ্ধতির জন্য, আপনি আপনার dev.nix ফাইলে IDE এক্সটেনশনগুলি অন্তর্ভুক্ত করতে পারেন সম্পূর্ণরূপে-যোগ্য এক্সটেনশন আইডি (ফর্ম <publisher>.<id> ) খুঁজে এবং এটিকে idx.extensions অবজেক্টে যুক্ত করে:

{ pkgs, ... }: {
  ...
  # Search for the extensions you want on https://open-vsx.org/ and use the format
  # "<publisher>.<id>"
  idx.extensions = [
    "angular.ng-template"
  ];
  ...
}

সাধারণ পরিষেবা যোগ করুন

Firebase Studio সাধারণ পরিষেবাগুলির জন্য সরলীকৃত সেটআপ এবং কনফিগারেশন অফার করে যা আপনার বিকাশের সময় প্রয়োজন হতে পারে, যার মধ্যে রয়েছে:

  • পাত্রে
    • ডকার ( services.docker.* )
  • মেসেজিং
    • পাব/সাব এমুলেটর ( services.pubsub.* )
  • ডাটাবেস
    • মাইএসকিউএল ( services.mysql.* )
    • Postgres ( services.postgres.* )
    • Redis ( services.redis.* )
    • স্প্যানার ( services.spanner.* )

আপনার কর্মক্ষেত্রে এই পরিষেবাগুলি সক্ষম করার বিষয়ে বিশদ বিবরণের জন্য, services.* dev.nix রেফারেন্সের অংশগুলি।

পূর্বরূপ কাস্টমাইজ করুন

আপনার অ্যাপের পূর্বরূপগুলি কীভাবে কাস্টমাইজ করবেন তার বিশদ বিবরণের জন্য, আপনার অ্যাপের পূর্বরূপ দেখুন।

আপনার ওয়ার্কস্পেস আইকন সেট করুন

আপনি আপনার dev.nix ফাইলের মতো একই স্তরে .idx ডিরেক্টরির ভিতরে icon.png নামের একটি PNG ফাইল রেখে আপনার ওয়ার্কস্পেসের জন্য একটি কাস্টম আইকন বেছে নিতে পারেন। Firebase Studio আপনার ড্যাশবোর্ডে আপনার ওয়ার্কস্পেস উপস্থাপন করতে এই আইকনটি ব্যবহার করবে।

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

আপনার কাস্টমাইজেশনগুলিকে একটি টেমপ্লেটে পরিণত করুন৷

আপনার এনভায়রনমেন্ট কনফিগারেশনকে "স্টার্টার এনভায়রনমেন্ট"-এ পরিণত করতে যে কেউ নতুন প্রজেক্ট তৈরি করতে ব্যবহার করতে পারে, কাস্টম টেমপ্লেট তৈরি করার জন্য ডক্স দেখুন।

সমস্ত কাস্টমাইজেশন বিকল্পগুলি অন্বেষণ করুন৷

পরিবেশ কনফিগারেশন স্কিমার বিশদ বিবরণের জন্য dev.nix রেফারেন্স দেখুন।

আপনার ফাইল ডাউনলোড করুন

একটি জিপ ফাইল হিসাবে আপনার ফাইল ডাউনলোড করতে:

  • এক্সপ্লোরার প্যানে যেকোন ডিরেক্টরিতে ডান-ক্লিক করুন এবং জিপ এবং ডাউনলোড নির্বাচন করুন।

আপনার প্রকল্প ডিরেক্টরিতে সবকিছু ডাউনলোড করতে:

  1. ফাইল নির্বাচন করুন > ফোল্ডার খুলুন

  2. ডিফল্ট /home/user ডিরেক্টরি গ্রহণ করুন।

  3. ফাইলগুলি লোড হওয়ার পরে, আপনার কাজের ডিরেক্টরিতে ডান-ক্লিক করুন এবং Zip এবং ডাউনলোড নির্বাচন করুন। App Prototyping agent ব্যবহার করলে, আপনার কাজের ডিরেক্টরি হবে studio । একটি টেমপ্লেট বা আপলোড করা প্রকল্প ব্যবহার করলে, এটি আপনার প্রকল্পের নাম হবে।

  4. পরিবেশ পুনর্নির্মাণের জন্য অনুরোধ করা হলে, বাতিল ক্লিক করুন।

  5. আপনার ডাউনলোড সম্পূর্ণ হওয়ার পরে, আপনার কর্মক্ষেত্রে ফিরে যেতে ফাইল মেনু থেকে আপনার কার্যকারী ডিরেক্টরিটি পুনরায় খুলুন।

MCP সার্ভার ব্যবহার করুন

MCP সার্ভারগুলি Gemini ব্যবহারের জন্য অতিরিক্ত সরঞ্জাম এবং ডেটা উত্স সরবরাহ করে। উদাহরণস্বরূপ, আপনি আপনার অ্যাপ্লিকেশন তৈরি বা ডিবাগ করার সময় প্রাকৃতিক ভাষা ব্যবহার করে Cloud Firestore আপনার ডেটা অন্বেষণ করতে Firebase MCP সার্ভার যোগ করতে পারেন।

পূর্বশর্ত

  • যদি MCP সার্ভারের প্রয়োজন হয়, তাহলে নিশ্চিত করুন যে আপনার Node.js এবং npm-এর একটি কার্যকরী ইনস্টলেশন আছে।

একটি সামঞ্জস্যপূর্ণ MCP সার্ভার চয়ন করুন৷

ফায়ারবেস স্টুডিওতে MCP সার্ভারের জন্য ভিত্তিগত সমর্থন রয়েছে, যার মানে সমস্ত MCP সার্ভার সামঞ্জস্যপূর্ণ নয়। আপনার Firebase স্টুডিও ওয়ার্কস্পেসে যোগ করার জন্য একটি MCP সার্ভার বেছে নেওয়ার সময়, নিম্নলিখিতগুলি মনে রাখবেন:

  • সমর্থিত:
    • স্ট্যান্ডার্ড ইনপুট/আউটপুট (stdio) বা সার্ভার-প্রেরিত ইভেন্ট (SSE)/স্ট্রিমেবল HTTP ট্রান্সপোর্ট সার্ভার যেগুলির জন্য বিশেষ ধরনের প্রমাণীকরণের প্রয়োজন হয় না
    • MCP সার্ভার দ্বারা সরবরাহ করা সরঞ্জাম
  • বর্তমানে সমর্থিত নয়:
    • সার্ভার যেগুলির জন্য একটি গ্রাফিক্যাল ইউজার ইন্টারফেস বা একটি ডেস্কটপ সেশন প্রয়োজন৷
    • প্রম্পট, স্যাম্পলিং, বা MCP সার্ভার দ্বারা প্রদত্ত অন্যান্য সংস্থান

একটি MCP সার্ভার যোগ করুন

  1. এক্সপ্লোরার (Ctrl+Shift+E) থেকে, MCP কনফিগারেশন ফাইল সম্পাদনা করুন বা তৈরি করুন।

    • Firebase চ্যাটে Gemini .idx/mcp.json ব্যবহার করে।

    • Gemini CLI .gemini/settings.json ব্যবহার করে।

    যদি ফাইলটি এখনও বিদ্যমান না থাকে, তাহলে মূল ডিরেক্টরিতে ডান-ক্লিক করে এবং নতুন ফাইল নির্বাচন করে এটি তৈরি করুন। Firebase এবং Gemini CLI এ জেমিনিতে MCP সার্ভার ব্যবহার করতে উভয় ফাইল তৈরি বা সম্পাদনা করুন।

  2. ফাইলের বিষয়বস্তুতে সার্ভার কনফিগারেশন যোগ করুন। উদাহরণস্বরূপ, Firebase MCP সার্ভার যোগ করতে, লিখুন:

    {
      "mcpServers": {
       "firebase": {
         "command": "npx",
         "args": [
           "-y",
           "firebase-tools@latest",
           "experimental:mcp"
          ]
        }
      }
    }
    

    এই কনফিগারেশন ফাইলটি Gemini নির্দেশ করে যে আপনি কোন MCP সার্ভারটি ব্যবহার করতে চান। এই উদাহরণে, আমরা firebase নামে একটি সার্ভার যোগ করেছি যেটি firebase-tools@latest ইনস্টল এবং চালানোর জন্য npx কমান্ড ব্যবহার করবে। অন্যান্য MCP সার্ভারের বিভিন্ন কনফিগারেশন প্রয়োজন, কিন্তু একই সাধারণ বিন্যাস অনুসরণ করুন।

  3. টার্মিনালে ( Shift+Ctrl+C ), ইনস্টলেশন সম্পূর্ণ করতে প্রয়োজনীয় কমান্ড চালান। উদাহরণস্বরূপ, Firebase MCP সার্ভার ব্যবহার করতে, আপনার অ্যাকাউন্টে সাইন ইন করতে নিম্নলিখিত কমান্ডটি প্রবেশ করান:

    firebase login --no-localhost
    

    অধিবেশন অনুমোদন করতে টার্মিনালে নির্দেশাবলী অনুসরণ করুন. কিছু টুলের জন্য একটি সংযুক্ত Firebase প্রকল্প প্রয়োজন। আপনি একটি প্রকল্প তৈরি করতে Firebase MCP সার্ভার ব্যবহার করতে পারেন, অথবা আপনি একটি Firebase প্রকল্প শুরু করতে নিম্নলিখিত কমান্ডটি চালাতে পারেন:

    firebase init
    

    এটি আপনার রুট ডিরেক্টরিতে একটি firebase.json ফাইল তৈরি করে।

  4. সেটআপ সম্পূর্ণ করতে আপনার কর্মক্ষেত্র পুনর্নির্মাণ করুন:

    1. কমান্ড প্যালেট খুলুন ( Shift+Ctrl+P )।

    2. ফায়ারবেস স্টুডিওতে প্রবেশ করুন: পরিবেশ পুনর্নির্মাণ করুন

MCP টুল ব্যবহার করুন

আপনি যে MCP সার্ভারটি ব্যবহার করতে চান তা ইনস্টল করার পরে, এটি সরবরাহ করে এমন সরঞ্জাম বা ডেটা পাওয়া যায়:

  • মিথুন CLI
  • এজেন্ট মোড এবং এজেন্ট (অটো-রান) মোড ব্যবহার করার সময় Firebase চ্যাটে মিথুন
  • App Prototyping agent

উদাহরণস্বরূপ, আপনি যদি Firebase MCP সার্ভার যোগ করেন, তাহলে আপনি বর্তমান প্রকল্পের জন্য SDK কনফিগারেশন আনতে, Cloud Firestore এবং Realtime Database সংরক্ষিত ডেটা পুনরুদ্ধার করতে, Firebase পরিষেবাগুলি সেট আপ করতে এবং আরও অনেক কিছু করতে Gemini বলতে পারেন৷

MCP সার্ভারের সমস্যা সমাধান করুন

যদি একটি MCP সার্ভার প্রত্যাশিতভাবে কাজ না করে, তাহলে ত্রুটিগুলি পরীক্ষা করতে আপনার Gemini লগগুলি খুলুন:

  1. আউটপুটে ( Shift+Ctrl+U ), ড্রপ-ডাউন মেনুতে ক্লিক করুন এবং মিথুন নির্বাচন করুন।

  2. একটি [MCPManager] ট্যাগ দিয়ে শুরু হওয়া বার্তাগুলি পরীক্ষা করুন৷ এই লগগুলিতে কোন ত্রুটি বার্তা সহ কোন MCP সার্ভারগুলি সেট আপ করা হয়েছে সে সম্পর্কে তথ্য রয়েছে৷ আপনার কনফিগারেশন সমস্যা সমাধানের জন্য এই তথ্য ব্যবহার করুন. একটি MCP সার্ভার সফলভাবে সংযোগ করলে, আপনি এটি যোগ করা সরঞ্জামগুলির একটি তালিকা দেখতে পাবেন।

একটি MCP সার্ভার ইনস্টল বা সংযোগ করতে ব্যর্থ হলে আপনার কর্মক্ষেত্র পুনর্নির্মাণের চেষ্টা করুন:

  1. কমান্ড প্যালেট খুলুন ( Shift+Ctrl+P )।

  2. ফায়ারবেস স্টুডিওতে প্রবেশ করুন: পরিবেশ পুনর্নির্মাণ করুন

  3. আপনার ওয়ার্কস্পেস পুনর্নির্মাণের জন্য অপেক্ষা করুন এবং তারপরে আপনার নির্বাচিত MCP সার্ভার ব্যবহার করার জন্য আবার চেষ্টা করুন।

যদি MCP সার্ভার সংযোগ করে, কিন্তু Gemini যে সরঞ্জামগুলি প্রদান করে তা ব্যবহার না করে:

  • একটি নতুন মিথুন চ্যাট সেশন শুরু করুন

  • যদি Gemini একটি MCP টুল ব্যবহার না করে কাজটি সম্পন্ন করতে পারে, তাহলে এটি একটি ভিন্ন পদ্ধতির চেষ্টা করতে পারে। আপনি যদি একটি নির্দিষ্ট টুল ব্যবহার করতে চান, তাহলে আপনার প্রম্পটে টুলটির নাম দেওয়ার চেষ্টা করুন। উদাহরণস্বরূপ, আপনি বলতে পারেন "বর্তমান প্রকল্পের জন্য SDK কনফিগারেশন পেতে firebase_get_sdk_config ব্যবহার করুন।"

  • Google ডেভেলপার প্রোগ্রামে যোগ দিন

পরবর্তী পদক্ষেপ