ایک ڈویلپر نے مہینوں پرانا Claude Code ورک فلو OpenCode پر منتقل کیا اور دریافت کیا کہ فائل ہینڈلنگ، رولز لوڈنگ، ٹول انوینٹری، اسکل میٹا ڈیٹا اور کراس-سیشن میموری سب کچھ بگڑ گیا۔ اس کے ذریعے دستاویز کیے گئے حل اب ان تمام لوگوں کے لیے ایک عملی چیک لسٹ کے طور پر کام کرتے ہیں جو Claude کے ایکوسسٹم سے اوپن سورس متبادل کی طرف منتقل ہو رہے ہیں۔
ہجرت (Migration) کیوں اہم تھی
Claude Code کے صارفین ایک AI سے چلنے والے کوڈنگ اسسٹنٹ کو روانی سے چلانے کے لیے فائلوں کے ایک مربوط سیٹ—رولز، اسکل ڈیفینیشنز اور میموری لاگز—پر انحصار کرتے ہیں۔ جب مصنف کا سیٹ اپ رولز لوڈ کرنے میں ناکام رہا، فائلوں کو مکس کر دیا اور ٹوکن کے استعمال میں اضافہ دیکھا، تو اس کا روزانہ کا کوڈنگ ہیلپر ناقابل اعتبار ہو گیا۔ OpenCode "permission-first security"، OpenRouter کے ذریعے ماڈل کے انتخاب سے آزاد رسائی اور pay-as-you-go قیمتوں کا وعدہ کرتا ہے، جو اسے پرکشش بناتا ہے۔ لیکن یہ منتقلی محض کاپی پیسٹ کا کام نہیں ہے؛ آپ کو ہر جز (component) کو اس فارمیٹ میں دوبارہ بیان کرنا ہوگا جس کی OpenCode توقع کرتا ہے۔
خرابی کی وجہ کیا تھی
Claude Code CLAUDE.md نامی فائل استعمال کرتا تھا، جسے OpenCode نظر انداز کر دیتا ہے اور اس کے بجائے اضافی میٹا ڈیٹا کے لیے AGENTS.md پڑھتا ہے۔ مصنف نے فرض کر لیا تھا کہ دونوں سسٹمز ایک دوسرے کے متبادل ہیں، جس کی وجہ سے کئی بنیادی حصے OpenCode کے لیے پوشیدہ رہ گئے۔
ٹھوس ناکامیاں اور انہیں کیسے ٹھیک کیا جائے
رولز فائل کو نظر انداز کرنا
OpenCode کبھی بھی CLAUDE.md نہیں پڑھتا؛ یہ صرف AGENTS.md کو پرس (parse) کرتا ہے۔ فائل کا نام بدلنا کافی نہیں ہے کیونکہ مواد کو نئے فارمیٹ میں دوبارہ بیان کرنا ضروری ہے۔
حل: ایک نئی AGENTS.md بنائیں، رولز کا متن کاپی کریں، ایک نیا OpenCode سیشن شروع کریں اور ایجنٹ سے پوچھیں "What are my rules?" اگر وہ انہیں نہیں بتا سکتا، تو اس کا مطلب ہے کہ رولز لوڈ نہیں ہوئے ہیں۔ٹولنگ انوینٹری کا نہ ہونا
وہ مائیگریشن کمانڈ جو اسکلز اور MCP (multi-cloud platform) سرورز کو کاپی کرنے کے لیے تھی، ناکام ہو گئی کیونکہ OpenCode ان ٹولز کی انوینٹری نہیں بنا سکتا جو کبھی رجسٹر ہی نہیں کیے گئے۔
حل: جب تک Claude Code کے ٹولز چل رہے ہیں، ہر اسکل اور کمانڈ کو دستی طور پر (manually) لسٹ کریں۔ فیصلہ کریں کہ کن کو OpenCode میں دوبارہ بنانا ہے اور کن کو چھوڑنا ہے۔اسکلز سے فرنٹ میٹر (front-matter) کا ختم ہو جانا
منتقل کی گئی اسکل فائلز نے اپنا زیادہ تر فرنٹ میٹر کھو دیا، بشمول ماڈل اسائنمنٹس اور ٹول ہینڈلنگ ڈائریکٹیوز۔ OpenCode صرف چند فیلڈز کا احترام کرتا ہے، اس لیے امپورٹ شدہ اسکلز غیر متوقع طریقے سے کام کرنے لگے۔
حل: ہر امپورٹ شدہ اسکل کو خراب سمجھیں۔ تین سب سے زیادہ استعمال ہونے والی اسکلز کو شروع سے دوبارہ بنائیں، اس بات کو یقینی بنائیں کہ ان میں صرف سپورٹڈ فیلڈز شامل ہوں۔ کسی بھی غیر استعمال شدہ اسکل فائل کو حذف کر دیں۔کراس-سیشن میموری کا نہ ہونا
Claude Code ایک مستقل ہسٹری رکھتا تھا جس پر مصنف سیاق و سباق (context) کے لیے انحصار کرتا تھا۔ OpenCode سیشنز کے درمیان میموری برقرار نہیں رکھتا، اس لیے اسسٹنٹ نے تبدیلی کے اگلے ہی دن سب کچھ "بھلا" دیا۔
حل: AGENTS.md میں ایک واضح ہدایت شامل کریں: “At the end of every session, append a short summary to session-log.md covering what was done, what is pending, and decisions made.” اس طرح سیشن لاگ تسلسل کے لیے معلومات کا واحد ذریعہ بن جاتا ہے۔
داؤ پر کیا لگا ہے: آپ کیا حاصل کرتے ہیں اور کیا کھوتے ہیں
فوائد
- Permission-first security: OpenCode کسی بھی عمل کو کرنے سے پہلے اجازت مانگتا ہے، جس سے غلطی سے ہونے والی کوڈ کی تبدیلیوں میں کمی آتی ہے۔
- Model freedom: ایک ہی API key کے ذریعے OpenRouter پر درجنوں ماڈلز تک رسائی حاصل ہوتی ہے، جس سے آپ کنفیگریشن فائلیں تبدیل کیے بغیر تجربات کر سکتے ہیں۔
- Cost control: بلنگ استعمال کی بنیاد پر ہوتی ہے، جس سے فلیٹ ریٹ سبسکرپشن سے بچا جا سکتا ہے جو ٹوکن کے استعمال میں اضافے پر مہنگی ہو سکتی ہے۔
نقصانات
- کوئی بلٹ ان طویل مدتی میموری نہ ہونے کا مطلب ہے کہ آپ کو دستی لاگ برقرار رکھنا ہوگا۔
- محدود اسکل میٹا ڈیٹا آپ کو اپنے زیادہ تر کسٹم ٹولز کو دوبارہ بنانے پر مجبور کرتا ہے۔
ایک عملی مائیگریشن چیک لسٹ
- پہلے AGENTS.md بنائیں – کسی بھی دوسری فائل کو امپورٹ کرنے سے پہلے ہر ضروری رول کا اعلان کریں۔
- سیشن-لاگ ہدایت شامل کریں – AGENTS.md کے اوپری حصے میں "append summary" والا رول شامل کریں۔
- تین اہم ترین اسکلز کو دوبارہ بنائیں – صرف سپورٹڈ فیلڈز کاپی کریں؛ ہر اسکل کو الگ سے ٹیسٹ کریں۔
- MCPs کو دستی طور پر دوبارہ بیان کریں – ہر اس سرور یا کلاؤڈ اینڈ پوائنٹ کی فہرست بنائیں جس تک آپ کو رسائی کی ضرورت ہے۔
- تصدیق کریں (Validate) – ایک نیا OpenCode سیشن شروع کریں اور اسسٹنٹ سے اس کے رولز، اسکل لسٹ اور میموری اسٹیٹس کے بارے میں پوچھیں۔
خلاصہ
Claude Code سے OpenCode پر منتقل ہونا محض فائلیں منتقل کرنے کے بارے میں نہیں ہے، بلکہ ان اعلانات (declarations) کو دوبارہ ترتیب دینے کے بارے میں ہے جو اسسٹنٹ کو چلاتے ہیں۔ یہ عمل آپ کو بنیادی رولز تک محدود ہونے، ضروری اسکلز کو دوبارہ بنانے اور دستی میموری لاگ اپنانے پر مجبور کرتا ہے، لیکن یہ سستا اور ماڈل سے آزاد AI اسسٹنس کا دروازہ بھی کھولتا ہے۔ اگر آپ سہولت کے بدلے کنٹرول حاصل کرنے کے لیے تیار ہیں، تو اوپر دی گئی چیک لسٹ پر عمل کریں اور ہر امپورٹ شدہ جز کو ایک نئی شروعات کے طور پر لیں۔
