
Viserys কী?
Viserys হলো AI কোডিং এজেন্টদের জন্য ইঞ্জিনিয়ারিং ওয়ার্কফ্লোগুলোর একটি স্বয়ংসম্পূর্ণ সংগ্রহ। প্রতিটি অনুরোধের জন্য কোনো এজেন্টকে নিজে থেকে প্রক্রিয়া তৈরি করতে দেওয়ার পরিবর্তে, এটি পুনর্ব্যবহারযোগ্য Markdown নির্দেশনা, রিভিউয়ার পারসোনা, শেয়ার করা রেফারেন্স, লাইফসাইকেল কমান্ড, মূল্যায়ন ফিক্সচার এবং যাচাইকরণ স্ক্রিপ্ট সরবরাহ করে।
প্রকল্পটি সফটওয়্যার কাজকে ছয়টি ধাপের লাইফসাইকেলে সংগঠিত করে:
DEFINE -> PLAN -> BUILD -> VERIFY -> REVIEW -> SHIPপ্রতিটি ওয়ার্কফ্লো একটি SKILL.md ফাইলে থাকে এবং এতে প্রক্রিয়াগত ধাপ, সমাপ্তির মানদণ্ড ও যুক্তি দেখিয়ে কাজ এড়িয়ে যাওয়া প্রতিরোধের নির্দেশনা অন্তর্ভুক্ত থাকে। স্কিলগুলো সাধারণ Markdown হওয়ায়, স্কিল-সচেতন কোডিং এজেন্ট এগুলো লোড করতে পারে অথবা স্বতন্ত্র নির্দেশনা হিসেবে সরাসরি পড়া যায়।
মূল বৈশিষ্ট্য
- লাইফসাইকেল কভারেজ: ওয়ার্কফ্লোগুলো প্রয়োজনীয়তা, পরিকল্পনা, বাস্তবায়ন, পরীক্ষা, রিভিউ এবং রিলিজ প্রস্তুতি অন্তর্ভুক্ত করে।
- ২৬টি প্যাকেজ করা স্কিল:
skills/ডিরেক্টরিতে পুনর্ব্যবহারযোগ্য ইঞ্জিনিয়ারিং ওয়ার্কফ্লো রয়েছে। - রিভিউয়ার পারসোনা: বিশেষায়িত এজেন্ট কোডের গুণমান, পরীক্ষা, নিরাপত্তা ও ওয়েব পারফরম্যান্স মূল্যায়ন করে।
- OpenCode ইন্টিগ্রেশন: একটি প্রাথমিক-মোড Viserys এজেন্ট অন্তর্ভুক্ত রয়েছে, যা গ্লোবাল কনফিগারেশন ছাড়াই স্কিল লোড করে।
- শেয়ার করা রেফারেন্স: চেকলিস্টগুলো স্থায়ীভাবে এজেন্টের কনটেক্সটে রাখার পরিবর্তে প্রয়োজন অনুযায়ী লোড করা যায়।
- যাচাইকরণ ও মূল্যায়ন: Node.js স্ক্রিপ্ট স্কিল, কমান্ড, আর্টিফ্যাক্ট পাথ, রেফারেন্স লিংক, সংস্করণ ও মূল্যায়ন কেস পরীক্ষা করে।
রিপোজিটরির কাঠামো বুঝুন
skills/-এ স্কিল ওয়ার্কফ্লো রয়েছে।agents/-এ চারটি বিশেষজ্ঞ রিভিউয়ার পারসোনা রয়েছে।references/প্রয়োজন অনুযায়ী ব্যবহারের জন্য শেয়ার করা চেকলিস্ট সরবরাহ করে।commands/লাইফসাইকেল কমান্ড নির্ধারণ করে।evals/-এ স্কিল মূল্যায়নের কেস ও ফিক্সচার রয়েছে।scripts/-এ যাচাইকরণকারী ও মূল্যায়ন রানার রয়েছে।hooks/সেশন লাইফসাইকেল হুক সরবরাহ করে।docs/-এ অভ্যন্তরীণ ডকুমেন্টেশন রয়েছে।.opencode/agent/viserys.mdOpenCode এজেন্ট নির্ধারণ করে।.opencode/opencode.jsonOpenCode-এর জন্য স্কিলের পাথ নিবন্ধন করে।
ইনস্টলেশন ও সেটআপ
বিকল্প ১: OpenCode-এ Viserys সক্রিয় করুন
- Git ব্যবহার করে Viserys রিপোজিটরি ক্লোন করুন।
- OpenCode-এ ক্লোন করা রিপোজিটরি ফোল্ডার খুলুন।
- এজেন্ট সিলেক্টর খুলতে
Tabচাপুন। viserysনির্বাচন করুন।
অন্তর্ভুক্ত Viserys এজেন্টটি প্রাথমিক মোডে চলে, তাই এটি OpenCode-এর এজেন্ট তালিকায় দেখা যায়। এর প্রম্পট কোনো অনুরোধ প্রক্রিয়া করার আগে প্রযোজ্য স্কিল খুঁজে দেখে এবং প্রকল্পের লাইফসাইকেলের মাধ্যমে কাজ পরিচালনা করে। রিপোজিটরি-স্তরের OpenCode কনফিগারেশন সব প্যাকেজ করা স্কিল নিবন্ধন করে, তাই কোনো গ্লোবাল কনফিগারেশন প্রয়োজন হয় না।
বিকল্প ২: অন্য স্কিল-সচেতন এজেন্টের সঙ্গে Viserys ব্যবহার করুন
Claude Code, Cursor বা পুনর্ব্যবহারযোগ্য স্কিল সমর্থনকারী অন্য কোনো এজেন্টের ক্ষেত্রে, এজেন্টটিকে রিপোজিটরির skills/ ডিরেক্টরির দিকে নির্দেশ করুন। বিকল্পভাবে, ওই ডিরেক্টরিটি টুলটির নিজস্ব স্কিলের অবস্থানে কপি করুন।
সঠিক গন্তব্য কোডিং এজেন্টের ওপর নির্ভর করে। Viserys-এর Markdown ওয়ার্কফ্লোগুলোকে অন্য কোনো ফরম্যাটে রূপান্তর করার প্রয়োজন নেই, তবে হোস্ট টুলকে জানতে হবে সেগুলো কোথায় খুঁজে পেতে হবে।
বিকল্প ৩: স্কিলগুলো সাধারণ কনটেক্সট হিসেবে ব্যবহার করুন
কোনো এজেন্টে নিজস্ব স্কিল সিস্টেম না থাকলে, প্রাসঙ্গিক SKILL.md ফাইল খুলে তার বিষয়বস্তু কনটেক্সট হিসেবে দিন। প্রতিটি স্কিল স্বতন্ত্রভাবে কাজ করার জন্য তৈরি, তাই আপনি এর ধাপগুলো ম্যানুয়ালি অনুসরণ করতে পারেন অথবা কোনো এজেন্টকে সেগুলো অনুসরণ করার নির্দেশ দিতে পারেন।
সঠিক ওয়ার্কফ্লো নির্বাচন করুন
কোন ওয়ার্কফ্লো প্রযোজ্য তা নিশ্চিত না হলে using-agent-skills মেটা স্কিল দিয়ে শুরু করুন। অন্যথায়, বর্তমান লাইফসাইকেল ধাপ অনুযায়ী একটি স্কিল নির্বাচন করুন।
DEFINE: কাজটি স্পষ্ট করুন
- কোনো ধারণা অস্পষ্ট হলে এবং কাঠামোবদ্ধ অনুসন্ধানের প্রয়োজন হলে
idea-refineব্যবহার করুন। - প্রয়োজনীয়তাগুলো একবারে একটি করে প্রশ্নের মাধ্যমে সংগ্রহ করতে হলে
interview-meব্যবহার করুন। - স্পেসিফিকেশন ছাড়া কোনো প্রকল্প, ফিচার বা গুরুত্বপূর্ণ পরিবর্তন শুরু করার আগে
spec-driven-developmentব্যবহার করুন। - কোনো গুণমানের মানদণ্ড না থাকলে বা শুধু বিল্ড পাস করানোর জন্য যাচাই বন্ধ করা হলে
constraint-driven-developmentব্যবহার করুন।
PLAN: স্পেসিফিকেশনকে কাজে রূপান্তর করুন
প্রয়োজনীয়তাগুলো স্থির হওয়ার পর planning-and-task-breakdown ব্যবহার করুন। এটি একটি স্পেসিফিকেশনকে গ্রহণযোগ্যতার মানদণ্ডসহ ক্রমানুসারে সাজানো, যাচাইযোগ্য কাজে রূপান্তর করে।
BUILD: পরিকল্পিতভাবে বাস্তবায়ন করুন
- একাধিক ফাইলজুড়ে পরিবর্তন হলে
incremental-implementationসেগুলোকে ছোট ছোট ধাপে সম্পন্ন করতে সহায়তা করে। - লজিক বাস্তবায়ন, বাগ সংশোধন বা আচরণ পরিবর্তনের সময়
test-driven-developmentপ্রয়োগ করুন। - সেশন শুরু করা, কাজ পরিবর্তন করা বা আউটপুটের মান কমে গেলে পুনরুদ্ধারের ক্ষেত্রে
context-engineeringসহায়তা করে। - সঠিকতা বর্তমান সরকারি ডকুমেন্টেশনের ওপর নির্ভর করলে
source-driven-developmentউপযুক্ত। - ঝুঁকি বেশি হলে এবং পরে ডিবাগ করার চেয়ে এখন যাচাই করা সাশ্রয়ী হলে
doubt-driven-developmentযাচাইকে উৎসাহিত করে। frontend-ui-engineeringব্যবহারকারী-মুখী ইন্টারফেসের কাজ পরিচালনা করে।api-and-interface-designAPI, মডিউল সীমা ও পাবলিক ইন্টারফেস ডিজাইনে সহায়তা করে।
VERIFY: পরিবর্তনটি কাজ করে তা প্রমাণ করুন
- ব্রাউজারভিত্তিক বাস্তবায়ন বা ডিবাগিংয়ের জন্য
browser-testing-with-devtoolsব্যবহার করুন। - কোনো পরীক্ষা ব্যর্থ হলে, বিল্ড ভেঙে গেলে বা রানটাইম আচরণ অপ্রত্যাশিত হলে
debugging-and-error-recoveryব্যবহার করুন।
REVIEW: গুণমান ও ঝুঁকি মূল্যায়ন করুন
- কোনো পরিবর্তন মার্জ করার আগে
code-review-and-qualityব্যবহার করা উচিত। - কার্যকর কোড বোঝা বা রক্ষণাবেক্ষণ করা কঠিন হলে
code-simplificationউপযোগী। - ব্যবহারকারীর ইনপুট, প্রমাণীকরণ, ডেটা সংরক্ষণ এবং বাহ্যিক ইন্টিগ্রেশনের ক্ষেত্রে
security-and-hardeningপ্রযোজ্য। - পারফরম্যান্সের প্রয়োজনীয়তা থাকলে বা রিগ্রেশনের সন্দেহ হলে
performance-optimizationপ্রযোজ্য।
SHIP: প্রোডাকশনের জন্য প্রস্তুতি
git-workflow-and-versioningকোড পরিবর্তন ও ভার্সন নিয়ন্ত্রণে নির্দেশনা দেয়।ci-cd-and-automationবিল্ড ও ডিপ্লয়মেন্ট পাইপলাইনের পরিবর্তনে সহায়তা করে।deprecation-and-migrationপুরোনো সিস্টেম সরাতে বা ব্যবহারকারীদের মাইগ্রেট করতে সহায়তা করে।documentation-and-adrsআর্কিটেকচারাল সিদ্ধান্ত ও পাবলিক API পরিবর্তন নথিবদ্ধ করে।observability-and-instrumentationলগ, মেট্রিক্স, ট্রেস এবং অ্যালার্ট অন্তর্ভুক্ত করে।shipping-and-launchচূড়ান্ত প্রোডাকশন ডিপ্লয়মেন্ট প্রস্তুতিতে নির্দেশনা দেয়।
মৌলিক ব্যবহার উদাহরণ
ধরা যাক, আপনি একটি AI কোডিং এজেন্টকে নতুন প্রমাণীকরণযুক্ত API এন্ডপয়েন্ট যোগ করতে বললেন। সরাসরি বাস্তবায়নে যাওয়ার পরিবর্তে ধারাবাহিকভাবে এই লাইফসাইকেল অনুসরণ করুন।
- সংজ্ঞায়িত করুন: প্রমাণীকরণের নিয়ম, ইনপুট বা রেসপন্স অস্পষ্ট হলে
interview-meচালান। এরপর প্রত্যাশিত আচরণ নির্ধারণ করতেspec-driven-developmentব্যবহার করুন। - পরিকল্পনা করুন: ক্রমানুসারী কাজ ও গ্রহণযোগ্যতার মানদণ্ড তৈরি করতে
planning-and-task-breakdownপ্রয়োগ করুন। - নির্মাণ করুন: এন্ডপয়েন্টের কনট্র্যাক্টের জন্য
api-and-interface-designএবং আচরণের জন্যtest-driven-developmentব্যবহার করুন। একাধিক ফাইল পরিবর্তন করতে হলেincremental-implementation-ও ব্যবহার করুন। - যাচাই করুন: টেস্ট ব্যর্থ হলে বা এন্ডপয়েন্ট প্রত্যাশিতভাবে কাজ না করলে
debugging-and-error-recoveryঅনুসরণ করুন। - পর্যালোচনা করুন: ফিচারটি প্রমাণীকরণ ও ইনপুট পরিচালনা করে বলে
code-review-and-qualityএবংsecurity-and-hardeningপ্রয়োগ করুন। - শিপ করুন: প্রোডাকশন ডিপ্লয়মেন্টের আগে উপযুক্ত Git, ডকুমেন্টেশন, অবজারভেবিলিটি এবং লঞ্চ ওয়ার্কফ্লো ব্যবহার করুন।
OpenCode ইন্টিগ্রেশন সক্রিয় থাকলে Viserys এজেন্ট প্রথমে মিলে যাওয়া স্কিল খুঁজে দেখার জন্য তৈরি। সাধারণ কনটেক্সট সেটআপে এই নির্বাচন আপনাকেই করতে হবে এবং এজেন্টকে নির্বাচিত প্রতিটি Markdown ওয়ার্কফ্লো অনুসরণ করতে বলতে হবে।
রিভিউয়ার পারসোনা ব্যবহার করুন
Viserys agents/-এ চারটি রিভিউয়ার পারসোনা অন্তর্ভুক্ত করে। এগুলো লাইফসাইকেল স্কিলগুলোর পরিপূরক হিসেবে নির্দিষ্ট দৃষ্টিভঙ্গি প্রদান করে।
agents/code-reviewer.mdস্টাফ-ইঞ্জিনিয়ার অনুমোদন মানদণ্ড ব্যবহার করে পাঁচটি অক্ষে পর্যালোচনা করে।agents/test-engineer.mdপ্রমাণ-ভিত্তিক প্যাটার্ন ব্যবহার করে টেস্ট কৌশল ও কভারেজ পরীক্ষা করে।agents/security-auditor.mdদুর্বলতা শনাক্তকরণ, থ্রেট মডেলিং এবং OWASP মূল্যায়ন কভার করে।agents/web-performance-auditor.mdদ্রুত বা গভীর মোডে Core Web Vitals অডিট করে।
পরিবর্তনের ঝুঁকির ভিত্তিতে একটি পারসোনা বেছে নিন। উদাহরণস্বরূপ, প্রমাণীকরণ-সংক্রান্ত কাজে নিরাপত্তা অডিটরকে security-and-hardening-এর সঙ্গে ব্যবহার করুন, অথবা ব্যবহারকারীমুখী ইন্টারফেস পরিবর্তনের পর ওয়েব পারফরম্যান্স অডিটর ব্যবহার করুন।
ওয়ার্কফ্লো প্যাক যাচাই করুন
স্কিল, কমান্ড, রেফারেন্স, ভার্সন বা মূল্যায়ন ফিক্সচার পরিবর্তন করার পর সরবরাহকৃত Node.js স্ক্রিপ্টগুলো চালান:
node scripts/validate-skills.js
node scripts/validate-commands.js
node scripts/validate-artifact-paths.js
node scripts/validate-reference-links.js
node scripts/validate-versions.js
node scripts/run-evals.jsএই কমান্ডগুলো প্যাকের অভ্যন্তরীণ কাঠামো যাচাই করে এবং এর মূল্যায়ন স্যুট চালায়। Viserys-এর বিদ্যমান ওয়ার্কফ্লো ব্যবহার করার বদলে সেটি সম্প্রসারণ করার সময় এগুলো বিশেষভাবে গুরুত্বপূর্ণ।
উন্নত টিপস
লাইফসাইকেল গেট এড়িয়ে না গিয়ে স্কিল একত্র করুন
একটি কাজে একাধিক স্কিলের প্রয়োজন হতে পারে। উদাহরণস্বরূপ, একটি ব্রাউজার ফিচারে frontend-ui-engineering, test-driven-development এবং browser-testing-with-devtools একত্র করা যায়। প্রতিটি স্কিলের সমাপ্তির মানদণ্ড দৃশ্যমান রাখুন, যাতে ওয়ার্কফ্লো যোগ করা অসংগঠিত প্রম্পটিংয়ে পরিণত না হয়।
প্রয়োজন হলেই রেফারেন্স লোড করুন
references/ ডিরেক্টরিটি প্রয়োজন অনুযায়ী লোড করা শেয়ার্ড চেকলিস্টের জন্য নির্ধারিত। এতে বিস্তারিত নির্দেশনার অ্যাক্সেস বজায় রেখেও এজেন্টের সক্রিয় কনটেক্সট কেন্দ্রীভূত রাখা যায়।
ভার্সন-নির্ভর কাজের জন্য অফিশিয়াল উৎস ব্যবহার করুন
বাস্তবায়নের বিবরণ বর্তমান ডকুমেন্টেশনের ওপর নির্ভর করলে source-driven-development প্রয়োগ করুন। সম্ভাব্য হলেও ভুল কোনো অনুমান ব্যয়বহুল হতে পারে এমন ক্ষেত্রে এর সঙ্গে doubt-driven-development ব্যবহার করুন।
এজেন্টের মান কমে গেলে পুনরুদ্ধার করুন
দীর্ঘ সেশন অসংগত হয়ে গেলে context-engineering ব্যবহার করুন। এটি বিশেষভাবে সেশন সেটআপ, কাজ পরিবর্তন এবং আউটপুটের মান কমে যাওয়ার পরিস্থিতির জন্য তৈরি।
অন্তর্ভুক্ত ডকুমেন্টেশন দেখুন
docs/README.mdপ্যাক ও লাইফসাইকেল ম্যাপ ব্যাখ্যা করে।docs/skill-anatomy.mdSKILL.mdফরম্যাট নির্ধারণ করে।evals/README.mdস্কিল মূল্যায়ন কীভাবে কাজ করে তা ব্যাখ্যা করে।
ওয়ার্কফ্লো যোগ বা পুনর্গঠন করার আগে স্কিল অ্যানাটমি স্পেসিফিকেশন পড়ুন, তারপর ফলাফল যাচাই করতে ভ্যালিডেটর ও মূল্যায়ন চালান।
উপসংহার
Viserys AI-সহায়িত ডেভেলপমেন্টকে একটি পুনরাবৃত্তিযোগ্য ইঞ্জিনিয়ারিং প্রক্রিয়ায় রূপ দেয়। শুরুতে skills/ ডিরেক্টরিটি একটি সামঞ্জস্যপূর্ণ এজেন্টের সঙ্গে সংযুক্ত করুন অথবা OpenCode-এ বান্ডেল করা Viserys এজেন্ট বেছে নিন। এরপর DEFINE, PLAN, BUILD, VERIFY, REVIEW এবং SHIP ধাপগুলো পরিকল্পিতভাবে অনুসরণ করুন, যেখানে মূল্য যোগ করে সেখানে বিশেষজ্ঞ পারসোনা ও যাচাইকরণ স্ক্রিপ্ট ব্যবহার করুন।
