devvm nima?
devvm har bir loyiha jildi uchun alohida virtual mashina yaratadi. VM loyihangizga kerak bo‘lgan vositalar zanjirini o‘z ichiga oladi va siz yoki kodlash agenti agentni host mashinangizga bevosita o‘rnatmasdan ishlashi mumkin bo‘lgan sandboxni taqdim etadi.
Har bir VM Lima orqali ishlaydi. Odatiy bo‘yicha, devvm faqat tanlangan loyiha jildini ulaydi va uni VM ichida hostdagi ayni yo‘lda ko‘rsatadi. Shu jildda devvmni yana ishga tushirsangiz, o‘sha VM qayta ochiladi.
Asosiy imkoniyatlar
- Har bir loyiha uchun bitta VM: Har bir loyiha jildi o‘zining alohida muhitiga ega bo‘ladi.
- Vositlar zanjirini avtomatik aniqlash: devvm kerakli vositalar zanjirini aniqlash uchun loyiha fayllarini tekshiradi. Masalan,
package.jsonmavjud loyiha Node.js vositalarini oladi. - Kodlash agentlarini qo‘llab-quvvatlash: Claude Code, Codex, opencode va pi o‘z sozlamalari, ko‘nikmalari hamda MCP serverlari bilan VM ichida ishlashi mumkin.
- Boshqariladigan tarmoq: Yangi VMlar odatiy bo‘yicha ruxsat etilgan hostlar ro‘yxatiga asoslangan tarmoq darajasidan foydalanadi va faqat tasdiqlangan hostlarga ulana oladi.
- Host tomonidagi maxfiy ma’lumotlar: GitHub va Claude Code tokenlari kabi ma’lumotlar barcha tarmoq darajalarida hostda qoladi.
- Qayta foydalaniladigan obrazlar: VMlar asosiy obrazdan nusxalanadi, vositalar zanjirlari esa VMlar o‘rtasida faqat o‘qish uchun ulashiladi. Dastlabki sozlashdan so‘ng yangi VMlar soniyalarda ishga tushishi mumkin.
- Ixtiyoriy qatlamlar: O‘rnatilgan qatlamlar qatoriga
docker,nixvadesktopkiradi. Shuningdek, o‘zingizning qatlamingizni yaratishingiz mumkin. - Klonlash rejimi: VM hostdagi ishchi daraxtni ulash o‘rniga o‘z Git klonida ishlashi mumkin.
Tizim talablari
devvm macOS 13 yoki undan keyingi versiyalarni hamda arm64 yoki x86_64 Linuxni qo‘llab-quvvatlaydi. Unga Lima 2.2 yoki undan keyingi versiyasi va tegishli Lima talablari kerak. Loyiha Apple silicon Mac kompyuterlari hamda arm64 va x86_64 asosidagi Linux tizimlarida sinovdan o‘tkazilgan, ammo Intel Mac kompyuterlarida hali sinovdan o‘tkazilmagan.
devvmni o‘rnatish
Homebrew orqali macOSga o‘rnatish
Homebrew formulasi devvm va Limani o‘rnatadi:
brew trust --formula devvmhq/tap/devvm
brew install devvmhq/tap/devvmLinuxga o‘rnatish
Rasmiy o‘rnatish skriptini ishga tushiring:
curl -fsSL https://github.com/devvmhq/devvm/releases/latest/download/install.sh | bashSkript macOSda ham ishlaydi. Lima, QEMU yoki /dev/kvmga kirish huquqini o‘rnatishdan oldin u tasdiqlashingizni so‘raydi.
Har bir reliz devvm minisign kaliti
RWSjzFsn7ETaijKJ2y7F4DtZobXmyv+LmdclJwZP/KmAkLUwOCzWF/2bbilan imzolanadi. Yuklab olingan faylni ishga tushirishdan oldin tekshirmoqchi bo‘lsangiz, o‘rnatish skriptini tekshirish qo‘llanmasiga amal qiling.
O‘rnatishni tekshirish
O‘rnatgandan so‘ng diagnostika buyrug‘ini ishga tushiring:
devvm doctorBu devvm kompyuteringizda nimalarga muhtojligini tekshiradi va yetishmayotgan narsalarni qanday olishni tushuntiradi. Barcha talablar va o‘rnatuvchi parametrlari uchun to‘liq o‘rnatish qo‘llanmasini ko‘ring.
Birinchi loyiha VMingizni yaratish
- Loyiha jildini oching. Terminalda loyihangiz joylashgan katalogga o‘ting.
- devvmni ishga tushiring. Taklif qilingan VM konfiguratsiyasini ko‘rib chiqing va tasdiqlang.
- VM ichida ishlang. devvm prompti
(devvm)bilan boshlanadigan shellni ochadi.
cd ~/some-project
devvmdevvm loyiha fayllari talab qiladigan vositalar zanjirini aniqlaydi. VMni yaratishdan oldin uning vositalar zanjirlari, kodlash agentlari, qatlamlari, tarmoq darajasi va hajmini ham moslashingiz mumkin.
Birinchi ishga tushirishda yangi VMlar va asosiy obraz uchun standartlarni belgilaydigan bir nechta savol beriladi. Bular qatoriga standart VM hajmi, kodlash agentlari va asosiy obrazning ixtiyoriy qo‘shimchalari kiradi. Asosiy obrazni yaratish birinchi marta bir necha daqiqa davom etadi; keyingi loyiha VMlari odatda soniyalarda ishga tushadi.
O‘sha VMni qayta ochish
Loyiha jildiga qayting va ayni buyruqni ishga tushiring:
cd ~/some-project
devvmLoyiha jildi o‘z VMiga ega bo‘lgani sababli, devvm aloqasiz yangi VM yaratish o‘rniga mavjud muhitni qayta ochadi.
Kodlash agentini ishga tushirish
VM shelli ochilgach, uning ichidan qo‘llab-quvvatlanadigan agentni ishga tushiring. Masalan, Claude Codeni quyidagicha ishga tushiring:
claudeShu tariqa kodlash agenti hostga o‘rnatilmasdan sandbox ichida ishlaydi. devvm qo‘llab-quvvatlanadigan agentlarning sozlamalari va kirish ma’lumotlarini o‘z xotirasida saqlaydi.
Claude Codega kirish
Claude Codeni birinchi marta ishga tushirishdan oldin VM ichidan unga kirishni boshlang:
devvm agent login claudeKirish ma’lumotlari kompyuteringizda saqlanadi. Tafsilotlar uchun Claude Codega kirish qo‘llanmasini ko‘ring.
Mavjud agent konfiguratsiyasini import qilish
Agar hostda qo‘llab-quvvatlanadigan kodlash agentidan allaqachon foydalansangiz, devvm uning mavjud konfiguratsiyasini o‘z xotirasiga nusxalashi mumkin:
devvm agent importBu mavjud lokal agent ishlatadigan sozlamalarni olib o‘tish uchun mo‘ljallangan. Qo‘llab-quvvatlanadigan integratsiyalarga Claude Code, Codex, opencode va pi kiradi.
Ishchi daraxtingizni klonlash rejimi bilan himoyalang
Odatiy rejimda host muharriri va VM ulangan loyiha fayllarini birgalikda ishlatadi. Shu sababli VM ichida kiritilgan o‘zgarishlar ayni ishchi daraxtda ko‘rinadi.
Yanada kuchliroq ajratish uchun devvm'ni --clone bilan ishga tushiring. Shunda VM o'zining repository kloniga ega bo'ladi va uning ichidagi jarayonlar hostdagi ishchi daraxt yoki .git katalogiga tegishining oldi olinadi.
devvm --cloneIsh VM ichida commit qilingandan so'ng, hostda uni devvm remote'i orqali oling:
git fetch devvmOlingan branchlar devvm/main kabi nomlar ostida mavjud bo'ladi. Birlashtirishdan oldin farqni ko'rib chiqing:
git log -p main..devvm/mainBu ish jarayonida VMdagi o'zgarishlar repositoryingizga faqat siz ularni aniq ravishda fetch qilganingizdagina kiradi. To'liq ish jarayoni uchun Klon bilan ishlash sahifasiga qarang.
Qo'shimcha konfiguratsiya bo'yicha maslahatlar
Toolchainlarni ongli ravishda tanlang
Avtomatik aniqlash foydali boshlang'ich sozlamani taqdim etadi, ammo VM yaratishdan oldin taklif qilingan sozlamalarni ko'rib chiqing. Aniqlangan tanlov mo'ljallangan muhitga mos kelmasa, yaratish jarayonida toolchainlarni sozlashingiz mumkin. Toolchainlar hujjati qo'llab-quvvatlanadigan variantlarni sanab o'tadi.
Muhit qatlamlarini qo'shing
Loyiha ushbu imkoniyatlarni talab qilganda, ichki docker, nix yoki desktop qatlamlaridan foydalaning. Maxsus qatlamni belgilashni boshlash uchun quyidagidan foydalaning:
devvm layer newImage'larni moslashtirishdan oldin qatlamlar hujjatini ko'rib chiqing.
Tarmoq ruxsatlarini ko'rib chiqing
Yangi VMlar sukut bo'yicha ruxsat etilgan ro'yxat tarmoq darajasini oladi. Ayniqsa avtonom kodlash agentini ishga tushirganda, kirish mumkin bo'lgan hostlar ro'yxatini imkon qadar tor saqlang. Boshqa tarmoq darajalari tarmoq xavfsizligi qo'llanmasida hujjatlashtirilgan.
Sandbox chegarasini tushuning
VM xavfni kamaytiradi, ammo barcha xavfsizlik bo'shliqlarini yopmaydi. VM nimalarga kira olishini tushuning, keraksiz resurslarni oshkor qilishdan saqlaning va yaratilgan o'zgarishlarni qabul qilishdan oldin ko'rib chiqing. Muhim loyihani VMga ishonib topshirishdan oldin Xavfsizlikni ta'minlash sahifasini o'qing.
CLI ma'lumotnomasidan foydalaning
Ushbu qo'llanmada keltirilmagan buyruqlar, flaglar va argumentlar uchun rasmiy CLI ma'lumotnomasidan foydalaning. Kengroq foydalanish hujjatida portlar, VM o'lchamlari, VMlar orasidagi havolalar, SSH, tahrirlovchilar, imagelar va muammolarni bartaraf etish ham yoritilgan.
Xulosa
devvm har bir loyihaga o'zining ajratilgan ishlab chiqish muhitini berishning amaliy usulini taqdim etadi. Uni o'rnating, hostni devvm doctor yordamida tekshiring, loyiha katalogidan devvmni ishga tushiring va hosil bo'lgan shell ichida kodlash agentingizni boshlang. Maxfiy ishlar uchun cheklangan tarmoqni devvm --clone bilan birlashtiring va olingan o'zgarishlarni birlashtirishdan oldin ko'rib chiqing.
