devvm کیا ہے؟
devvm ہر پروجیکٹ فولڈر کے لیے ایک الگ ورچوئل مشین بناتا ہے۔ VM میں آپ کے پروجیکٹ کے لیے درکار ٹول چینز شامل ہوتی ہیں اور یہ ایک ایسا سینڈ باکس فراہم کرتی ہے جہاں آپ یا کوئی کوڈنگ ایجنٹ اپنے میزبان کمپیوٹر پر ایجنٹ براہِ راست انسٹال کیے بغیر کام کر سکتے ہیں۔
ہر VM Lima کے ذریعے چلتی ہے۔ بطور ڈیفالٹ، devvm صرف منتخب پروجیکٹ فولڈر کو ماؤنٹ کرتا ہے اور اسے VM کے اندر میزبان پر استعمال ہونے والے اسی پاتھ پر ظاہر کرتا ہے۔ اسی فولڈر میں دوبارہ devvm چلانے سے وہی VM دوبارہ کھل جاتی ہے۔
اہم خصوصیات
- ہر پروجیکٹ کے لیے ایک VM: ہر پروجیکٹ فولڈر کو اپنا الگ ماحول ملتا ہے۔
- ٹول چین کی خودکار شناخت: devvm پروجیکٹ کی فائلوں کا جائزہ لے کر مطلوبہ ٹول چینز کا تعین کرتا ہے۔ مثال کے طور پر،
package.jsonرکھنے والے پروجیکٹ کو Node.js ٹولنگ ملتی ہے۔ - کوڈنگ ایجنٹ کی معاونت: Claude Code، Codex، opencode، اور pi اپنی ترتیبات، اسکلز، اور MCP سرورز کے ساتھ VM کے اندر چل سکتے ہیں۔
- قابو میں نیٹ ورکنگ: نئی VMs بطور ڈیفالٹ allowlist نیٹ ورک ٹئیر استعمال کرتی ہیں اور صرف منظور شدہ ہوسٹس تک پہنچ سکتی ہیں۔
- میزبان پر موجود راز: GitHub اور Claude Code ٹوکنز جیسی اسناد ہر نیٹ ورک ٹئیر میں میزبان پر ہی رہتی ہیں۔
- قابلِ استعمالِ دوبارہ امیجز: VMs ایک بنیادی امیج سے کاپی کی جاتی ہیں، جبکہ ٹول چینز VMs کے درمیان صرف پڑھنے کے لیے شیئر ہوتی ہیں۔ ابتدائی سیٹ اپ کے بعد نئی VMs چند سیکنڈ میں شروع ہو سکتی ہیں۔
- اختیاری لیئرز: پہلے سے شامل لیئرز میں
docker،nix، اورdesktopشامل ہیں۔ آپ اپنی لیئر بھی بنا سکتے ہیں۔ - کلون موڈ: VM آپ کے میزبان ورکنگ ٹری کو ماؤنٹ کرنے کے بجائے اپنے Git کلون میں کام کر سکتی ہے۔
سسٹم کے تقاضے
devvm macOS 13 یا اس کے بعد کے ورژنز اور arm64 یا x86_64 پر Linux کو سپورٹ کرتا ہے۔ اس کے لیے Lima 2.2 یا اس کے بعد کا ورژن اور متعلقہ Lima تقاضے درکار ہیں۔ اس پروجیکٹ کی آزمائش Apple silicon Macs اور arm64 اور x86_64 استعمال کرنے والے Linux سسٹمز پر کی گئی ہے، لیکن Intel Macs پر ابھی اس کی آزمائش نہیں کی گئی۔
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
devvmdevvm پروجیکٹ کی فائلوں سے مطلوبہ ٹول چینز کا پتا لگاتا ہے۔ VM بنانے سے پہلے آپ اس کی ٹول چینز، کوڈنگ ایجنٹس، لیئرز، نیٹ ورک ٹئیر، اور سائز بھی حسبِ ضرورت تبدیل کر سکتے ہیں۔
پہلی بار چلانے پر چند سوالات کیے جاتے ہیں جو نئی VMs اور بنیادی امیج کے لیے ڈیفالٹس مقرر کرتے ہیں۔ ان میں ڈیفالٹ VM سائز، کوڈنگ ایجنٹس، اور بنیادی امیج کے اختیاری اضافے شامل ہیں۔ بنیادی امیج بنانے میں صرف پہلی بار چند منٹ لگتے ہیں؛ اس کے بعد پروجیکٹ VMs عموماً چند سیکنڈ میں شروع ہو جاتی ہیں۔
اسی 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 کے اندر کی گئی تبدیلیاں اسی ورکنگ ٹری میں ظاہر ہوتی ہیں۔
زیادہ مضبوط علیحدگی کے لیے devvm کو --clone کے ساتھ شروع کریں۔ اس کے بعد VM کو اپنی الگ repository clone ملتی ہے، جس سے اس کے اندر چلنے والے processes کو host working tree یا اس کی .git directory کو متاثر کرنے سے روکا جاتا ہے۔
devvm --cloneVM کے اندر کام commit کرنے کے بعد، host پر اسے devvm remote کے ذریعے fetch کریں:
git fetch devvmFetch کی گئی branches devvm/main جیسے ناموں کے تحت دستیاب ہوتی ہیں۔ Merge کرنے سے پہلے فرق کا جائزہ لیں:
git log -p main..devvm/mainاس workflow کے ذریعے VM کا کام صرف اسی وقت آپ کی repository تک پہنچتا ہے جب آپ اسے واضح طور پر fetch کرتے ہیں۔ مکمل workflow کے لیے clone پر کام کرنا دیکھیں۔
اعلیٰ درجے کی configuration کے نکات
Toolchains کا سوچ سمجھ کر انتخاب کریں
خودکار detection ایک مفید ابتدائی نقطۂ آغاز فراہم کرتی ہے، لیکن VM بنانے سے پہلے تجویز کردہ setup کا جائزہ لیں۔ جب detected selection آپ کے مطلوبہ environment سے مطابقت نہ رکھتی ہو، تو creation flow آپ کو اس کی toolchains حسبِ ضرورت تبدیل کرنے دیتا ہے۔ معاون options کے لیے toolchains documentation دیکھیں۔
Environment layers شامل کریں
جب project کو ان صلاحیتوں کی ضرورت ہو تو built-in docker، nix، یا desktop layers استعمال کریں۔ Custom layer کی تعریف شروع کرنے کے لیے یہ command استعمال کریں:
devvm layer newImages کو customize کرنے سے پہلے layers documentation کا جائزہ لیں۔
Network access کا جائزہ لیں
نئی VMs کو default طور پر allowlist network tier ملتا ہے۔ قابلِ رسائی hosts کی فہرست کو عملی حد تک محدود رکھیں، خاص طور پر جب autonomous coding agent چلایا جا رہا ہو۔ دیگر network tiers کی تفصیل network safety guide میں موجود ہے۔
Sandbox boundary کو سمجھیں
VM خطرہ کم کرتی ہے، لیکن ہر security gap کو ختم نہیں کرتی۔ سمجھیں کہ VM کو کن resources تک رسائی حاصل ہو سکتی ہے، غیر ضروری resources کو expose کرنے سے گریز کریں، اور generated changes قبول کرنے سے پہلے ان کا جائزہ لیں۔ کسی اہم project کی ذمہ داری VM کو دینے سے پہلے محفوظ رہنا پڑھیں۔
CLI reference سے رجوع کریں
اس tutorial سے آگے commands، flags، اور arguments کے لیے سرکاری CLI reference استعمال کریں۔ وسیع تر usage documentation میں ports، VM sizing، VMs کے درمیان links، SSH، editors، images، اور troubleshooting بھی شامل ہیں۔
نتیجہ
devvm ہر project کو اپنا isolated development environment دینے کا ایک عملی طریقہ فراہم کرتا ہے۔ اسے install کریں، devvm doctor کے ذریعے host کی توثیق کریں، project directory سے devvm چلائیں، اور حاصل ہونے والے shell کے اندر اپنا coding agent شروع کریں۔ حساس کام کے لیے restricted networking کو devvm --clone کے ساتھ استعمال کریں اور merge کرنے سے پہلے fetched changes کا جائزہ لیں۔
