devvm কী?
devvm প্রতিটি প্রজেক্ট ফোল্ডারের জন্য একটি বিচ্ছিন্ন ভার্চুয়াল মেশিন তৈরি করে। VM-এ আপনার প্রজেক্টের প্রয়োজনীয় টুলচেইন থাকে এবং এটি এমন একটি স্যান্ডবক্স দেয় যেখানে আপনি বা কোনো কোডিং এজেন্ট আপনার হোস্ট মেশিনে এজেন্টটি সরাসরি ইনস্টল না করেই কাজ করতে পারেন।
প্রতিটি VM Lima-এর মাধ্যমে চলে। ডিফল্টভাবে, devvm কেবল নির্বাচিত প্রজেক্ট ফোল্ডারটি মাউন্ট করে এবং হোস্টে ব্যবহৃত একই পাথে সেটিকে VM-এর ভেতরে প্রকাশ করে। ওই ফোল্ডারে আবার devvm চালালে একই VM পুনরায় খোলা হয়।
প্রধান বৈশিষ্ট্য
- প্রতি প্রজেক্টে একটি VM: প্রতিটি প্রজেক্ট ফোল্ডার নিজস্ব বিচ্ছিন্ন পরিবেশ পায়।
- স্বয়ংক্রিয় টুলচেইন শনাক্তকরণ: প্রয়োজনীয় টুলচেইন নির্ধারণ করতে devvm প্রজেক্টের ফাইল পরীক্ষা করে। উদাহরণস্বরূপ,
package.jsonথাকা কোনো প্রজেক্ট Node.js টুলিং পায়। - কোডিং-এজেন্ট সহায়তা: Claude Code, Codex, opencode এবং pi তাদের সেটিংস, স্কিল ও MCP সার্ভারসহ VM-এর ভেতরে চলতে পারে।
- নিয়ন্ত্রিত নেটওয়ার্কিং: নতুন VM-গুলো ডিফল্টভাবে একটি allowlist নেটওয়ার্ক স্তর ব্যবহার করে এবং কেবল অনুমোদিত হোস্টে পৌঁছাতে পারে।
- হোস্ট-সাইড সিক্রেট: GitHub ও Claude Code টোকেনের মতো শংসাপত্র প্রতিটি নেটওয়ার্ক স্তরেই হোস্টে থাকে।
- পুনর্ব্যবহারযোগ্য ইমেজ: VM-গুলো একটি বেস ইমেজ থেকে কপি করা হয়, আর টুলচেইনগুলো VM-গুলোর মধ্যে শুধু-পাঠযোগ্যভাবে শেয়ার করা হয়। প্রাথমিক সেটআপের পর নতুন VM কয়েক সেকেন্ডে চালু হতে পারে।
- ঐচ্ছিক স্তর: বিল্ট-ইন স্তরের মধ্যে
docker,nixওdesktopরয়েছে। আপনি নিজের স্তরও তৈরি করতে পারেন। - ক্লোন মোড: কোনো VM আপনার হোস্টের ওয়ার্কিং ট্রি মাউন্ট করার পরিবর্তে নিজস্ব Git ক্লোনে কাজ করতে পারে।
সিস্টেমের প্রয়োজনীয়তা
devvm macOS 13 বা পরবর্তী সংস্করণ এবং arm64 বা x86_64-এ Linux সমর্থন করে। এর জন্য Lima 2.2 বা পরবর্তী সংস্করণ এবং প্রাসঙ্গিক Lima প্রয়োজনীয়তা দরকার। প্রজেক্টটি Apple silicon Mac এবং arm64 ও x86_64 ব্যবহারকারী Linux সিস্টেমে পরীক্ষা করা হয়েছে, তবে Intel Mac-এ এখনো পরীক্ষা করা হয়নি।
devvm ইনস্টল করুন
Homebrew দিয়ে macOS-এ ইনস্টল করুন
Homebrew ফর্মুলা devvm ও Lima ইনস্টল করে:
brew trust --formula devvmhq/tap/devvm
brew install devvmhq/tap/devvmLinux-এ ইনস্টল করুন
অফিশিয়াল ইনস্টলেশন স্ক্রিপ্ট চালান:
curl -fsSL https://github.com/devvmhq/devvm/releases/latest/download/install.sh | bashস্ক্রিপ্টটি macOS-এও কাজ করে। Lima, QEMU বা /dev/kvm-এ অ্যাক্সেস ইনস্টল করার আগে এটি আপনার অনুমতি চায়।
প্রতিটি রিলিজ devvm minisign কী
RWSjzFsn7ETaijKJ2y7F4DtZobXmyv+LmdclJwZP/KmAkLUwOCzWF/2bদিয়ে স্বাক্ষরিত। চালানোর আগে ডাউনলোড যাচাই করতে চাইলে ইনস্টল-স্ক্রিপ্ট যাচাই নির্দেশিকা অনুসরণ করুন।
আপনার ইনস্টলেশন পরীক্ষা করুন
ইনস্টলেশনের পর ডায়াগনস্টিক কমান্ডটি চালান:
devvm doctorএটি আপনার কম্পিউটারে devvm-এর কী প্রয়োজন তা পরীক্ষা করে এবং অনুপস্থিত কিছু কীভাবে সংগ্রহ করবেন তা ব্যাখ্যা করে। সব প্রয়োজনীয়তা ও ইনস্টলার অপশনের জন্য সম্পূর্ণ ইনস্টলেশন নির্দেশিকা দেখুন।
আপনার প্রথম প্রজেক্ট VM তৈরি করুন
- আপনার প্রজেক্ট ফোল্ডার খুলুন। টার্মিনালে আপনার প্রজেক্ট থাকা ডিরেক্টরিতে যান।
- devvm চালান। প্রস্তাবিত VM কনফিগারেশন পর্যালোচনা করে নিশ্চিত করুন।
- VM-এর ভেতরে কাজ করুন। devvm এমন একটি শেল খোলে যার প্রম্পট
(devvm)দিয়ে শুরু হয়।
cd ~/some-project
devvmপ্রজেক্টের ফাইলগুলোতে অনুরোধ করা টুলচেইন devvm শনাক্ত করে। VM তৈরি করার আগে আপনি এর টুলচেইন, কোডিং এজেন্ট, স্তর, নেটওয়ার্ক স্তর ও আকারও কাস্টমাইজ করতে পারেন।
প্রথমবার চালানোর সময় নতুন VM ও বেস ইমেজের ডিফল্ট নির্ধারণ করতে কয়েকটি প্রশ্ন করা হয়। এর মধ্যে ডিফল্ট VM আকার, কোডিং এজেন্ট এবং ঐচ্ছিক বেস-ইমেজ অতিরিক্ত উপাদান রয়েছে। বেস ইমেজ তৈরি হতে একবার কয়েক মিনিট লাগে; পরবর্তী প্রজেক্ট VM সাধারণত কয়েক সেকেন্ডে চালু হয়।
একই VM পুনরায় খুলুন
প্রজেক্ট ফোল্ডারে ফিরে গিয়ে একই কমান্ড চালান:
cd ~/some-project
devvmপ্রজেক্ট ফোল্ডার নিজস্ব VM সংরক্ষণ করে বলে devvm নতুন কোনো সম্পর্কহীন VM তৈরি না করে বিদ্যমান পরিবেশটি পুনরায় খোলে।
কোডিং এজেন্ট চালান
VM শেল খোলার পর এর ভেতর থেকে একটি সমর্থিত এজেন্ট চালু করুন। উদাহরণস্বরূপ, Claude Code চালাতে লিখুন:
claudeএতে কোডিং এজেন্টটি হোস্টে ইনস্টল না হয়ে স্যান্ডবক্সের ভেতরেই থাকে। devvm সমর্থিত এজেন্টগুলোর সেটিংস ও লগইন নিজস্ব স্টোরে সংরক্ষণ করে।
Claude Code-এ লগইন করুন
প্রথমবার Claude Code চালু করার আগে VM থেকে এর লগইন শুরু করুন:
devvm agent login claudeলগইনটি আপনার মেশিনে সংরক্ষিত থাকে। বিস্তারিত জানতে Claude Code লগইন নির্দেশিকা দেখুন।
বিদ্যমান এজেন্ট কনফিগারেশন ইমপোর্ট করুন
আপনি যদি ইতিমধ্যে হোস্টে কোনো সমর্থিত কোডিং এজেন্ট ব্যবহার করেন, devvm তার বিদ্যমান কনফিগারেশন নিজস্ব স্টোরে কপি করতে পারে:
devvm agent importএটি বিদ্যমান স্থানীয় এজেন্টে ব্যবহৃত সেটিংস নিয়ে আসার জন্য তৈরি। সমর্থিত ইন্টিগ্রেশনের মধ্যে Claude Code, Codex, opencode এবং pi রয়েছে।
ক্লোন মোড দিয়ে আপনার ওয়ার্কিং ট্রি সুরক্ষিত করুন
ডিফল্ট মোডে, হোস্ট এডিটর ও VM মাউন্ট করা প্রজেক্ট ফাইল শেয়ার করে। তাই VM-এর ভেতরে করা পরিবর্তন একই ওয়ার্কিং ট্রিতে দেখা যায়।
আরও শক্তিশালী পৃথকীকরণের জন্য --clone সহ devvm চালু করুন। তখন VM-টি নিজস্ব রিপোজিটরি ক্লোন পাবে, ফলে এর ভেতরের প্রসেসগুলো হোস্টের ওয়ার্কিং ট্রি বা এর .git ডিরেক্টরিতে পরিবর্তন করতে পারবে না।
devvm --cloneVM-এর ভেতরে কাজ কমিট করার পর, devvm রিমোটের মাধ্যমে হোস্টে তা আনুন:
git fetch devvmআনা ব্রাঞ্চগুলো devvm/main-এর মতো নামে পাওয়া যাবে। মার্জ করার আগে পার্থক্য পর্যালোচনা করুন:
git log -p main..devvm/mainএই ওয়ার্কফ্লোতে আপনি স্পষ্টভাবে fetch না করা পর্যন্ত VM-এর কাজ আপনার রিপোজিটরিতে পৌঁছাবে না। সম্পূর্ণ ওয়ার্কফ্লোর জন্য ক্লোনে কাজ করা দেখুন।
উন্নত কনফিগারেশন পরামর্শ
সচেতনভাবে টুলচেইন বেছে নিন
স্বয়ংক্রিয় শনাক্তকরণ একটি কার্যকর প্রাথমিক সেটআপ দেয়, তবে VM তৈরি করার আগে প্রস্তাবিত সেটআপ পর্যালোচনা করুন। শনাক্ত করা নির্বাচন আপনার কাঙ্ক্ষিত পরিবেশের সঙ্গে না মিললে, তৈরির প্রবাহে টুলচেইন কাস্টমাইজ করতে পারবেন। সমর্থিত বিকল্পগুলোর তালিকা টুলচেইন ডকুমেন্টেশনে রয়েছে।
এনভায়রনমেন্ট লেয়ার যোগ করুন
কোনো প্রকল্পে এসব সক্ষমতা প্রয়োজন হলে বিল্ট-ইন docker, nix, বা desktop লেয়ার ব্যবহার করুন। কাস্টম লেয়ার সংজ্ঞায়িত করা শুরু করতে ব্যবহার করুন:
devvm layer newইমেজ কাস্টমাইজ করার আগে লেয়ার ডকুমেন্টেশন পর্যালোচনা করুন।
নেটওয়ার্ক অ্যাক্সেস পর্যালোচনা করুন
নতুন VM-গুলো ডিফল্টভাবে allowlist নেটওয়ার্ক টিয়ার পায়। অ্যাক্সেসযোগ্য হোস্টের তালিকা যতটা সম্ভব সীমিত রাখুন, বিশেষ করে স্বায়ত্তশাসিত কোডিং এজেন্ট চালানোর সময়। অন্যান্য নেটওয়ার্ক টিয়ার নেটওয়ার্ক নিরাপত্তা নির্দেশিকায় নথিবদ্ধ করা আছে।
স্যান্ডবক্সের সীমা বুঝুন
VM ঝুঁকি কমায়, তবে প্রতিটি নিরাপত্তা ফাঁক বন্ধ করে না। VM কী অ্যাক্সেস করতে পারে তা বুঝুন, অপ্রয়োজনীয় রিসোর্স উন্মুক্ত করা এড়িয়ে চলুন এবং গ্রহণ করার আগে তৈরি হওয়া পরিবর্তনগুলো পর্যালোচনা করুন। গুরুত্বপূর্ণ কোনো প্রকল্পের দায়িত্ব VM-কে দেওয়ার আগে নিরাপদ থাকা পড়ুন।
CLI রেফারেন্স দেখুন
এই টিউটোরিয়ালের বাইরে কমান্ড, ফ্ল্যাগ ও আর্গুমেন্টের জন্য অফিসিয়াল CLI রেফারেন্স ব্যবহার করুন। বিস্তৃত ব্যবহারবিধি ডকুমেন্টেশনেও পোর্ট, VM-এর আকার নির্ধারণ, VM-গুলোর মধ্যে লিংক, SSH, এডিটর, ইমেজ এবং সমস্যা সমাধান সম্পর্কে বলা হয়েছে।
উপসংহার
প্রতিটি প্রকল্পকে নিজস্ব বিচ্ছিন্ন ডেভেলপমেন্ট পরিবেশ দেওয়ার জন্য devvm একটি ব্যবহারিক উপায়। এটি ইনস্টল করুন, devvm doctor দিয়ে হোস্ট যাচাই করুন, কোনো প্রকল্প ডিরেক্টরি থেকে devvm চালান এবং তৈরি হওয়া শেলের ভেতরে কোডিং এজেন্ট শুরু করুন। সংবেদনশীল কাজের জন্য সীমিত নেটওয়ার্কিংয়ের সঙ্গে devvm --clone ব্যবহার করুন এবং মার্জ করার আগে fetch করা পরিবর্তনগুলো পর্যালোচনা করুন।
