প্রকল্প সম্পর্কে

Gruntwork Runbooks হলো Electron দিয়ে তৈরি একটি ওপেন-সোর্স ক্রস-প্ল্যাটফর্ম ডেস্কটপ অ্যাপ্লিকেশন, যা ইনফ্রাস্ট্রাকচার বিশেষজ্ঞদের তাদের অপারেশনাল দক্ষতা স্কেল করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে, জ্ঞানকে ইন্টারঅ্যাকটিভ ও সহজে অনুসরণযোগ্য রানবুক ডকুমেন্টে কোডিফাই করার মাধ্যমে। অ্যাপ্লিকেশনটি এমবেডেড React কম্পোনেন্টসহ MDX ডকুমেন্ট রেন্ডার করে এবং গাইডেড এক্সিকিউটেবল ওয়ার্কফ্লো সমর্থন করে, যার মধ্যে রয়েছে লোকাল স্ক্রিপ্ট চালানো, AWS ও GitHub অথেন্টিকেশন ম্যানেজ করা, কোড রিপোজিটরি ক্লোন করা এবং টেমপ্লেট থেকে ফাইল জেনারেট করা, যাতে ব্যবহারকারীরা ছড়িয়ে-ছিটিয়ে থাকা কমান্ড মুখস্থ না করে স্ট্যান্ডার্ডাইজড অপারেশনাল ধাপ অনুসরণ করতে পারেন। প্রকল্পটি বর্তমানে একজন লেখক দ্বারা ডেভেলপ করা হচ্ছে এবং এখনো পুঙ্খানুপুঙ্খ পিয়ার রিভিউ হয়নি; মেইনটেইনার কমিউনিটি কন্ট্রিবিউশন স্বাগত জানান, যার মধ্যে রয়েছে ইস্যু রিপোর্ট এবং ফিক্সের জন্য পুল রিকোয়েস্ট। নিরাপত্তা এই টুলের একটি মূল ডিজাইন বিবেচনা, কারণ এটি অ্যাপ্লিকেশন চালুর সময় উপস্থিত সম্পূর্ণ সেট এনভায়রনমেন্ট ভেরিয়েবলসহ সরাসরি ব্যবহারকারীর লোকাল মেশিনে কমান্ড এক্সিকিউট করে। অফিসিয়াল নির্দেশনায় স্পষ্টভাবে বলা হয়েছে যে ব্যবহারকারীদের কেবল বিশ্বস্ত সোর্স থেকে রানবুক খোলা উচিত, কারণ অবিশ্বস্ত রানবুকে ইচ্ছামতো স্ক্রিপ্ট থাকতে পারে। বিল্ট-ইন সুরক্ষার মধ্যে রয়েছে একটি এক্সিকিউটেবল রেজিস্ট্রি যা অনুমোদিত কমান্ড ও স্ক্রিপ্টকে রানবুকে সংজ্ঞায়িত কমান্ডের মধ্যে সীমাবদ্ধ রাখে, একটি স্যান্ডবক্সড Electron রেন্ডারার প্রসেস যা টাইপড contextBridge IPC API-এর মাধ্যমে মেইন প্রসেসের সাথে যোগাযোগ করে, এবং আক্রমণ পৃষ্ঠ কমাতে রেন্ডারার থেকে সরাসরি Node.js অ্যাক্সেস নেই। সব প্রধান ডেস্কটপ প্ল্যাটফর্মের জন্য প্রি-বিল্ট ইনস্টলেশন প্যাকেজ উপলব্ধ: macOS ব্যবহারকারীরা একটি .dmg ফাইল ডাউনলোড করতে পারেন, Linux ব্যবহারকারীরা .AppImage বা .deb প্যাকেজের মধ্যে বেছে নিতে পারেন, এবং Windows ব্যবহারকারীরা একটি .exe ইনস্টলার ডাউনলোড করতে পারেন, সবই প্রকল্পের GitHub Releases পেজে হোস্ট করা। সোর্স থেকে বিল্ড করা ব্যবহারকারীদের জন্য প্রকল্পটির পূর্বশর্ত হিসেবে mise (একটি টুল ভার্সন ম্যানেজার) এবং just (একটি কমান্ড রানার) প্রয়োজন, কন্ট্রিবিউটরদের জন্য prek (একটি প্রি-কমিট হুক ম্যানেজার) ঐচ্ছিক। বিল্ড ওয়ার্কফ্লোতে mise-এর মাধ্যমে Node.js ও bun-এর পিন করা ভার্সন ইনস্টল করা, bun install দিয়ে ডিপেন্ডেন্সি ইনস্টল করা, just build দিয়ে Electron অ্যাপ বিল্ড করা এবং just package দিয়ে বর্তমান প্ল্যাটফর্মের জন্য প্যাকেজিং করা অন্তর্ভুক্ত। just dev-এর মাধ্যমে ডেভেলপমেন্ট মোড চালু করা যায়, যা React হট মডিউল রিপ্লেসমেন্ট এবং মেইন প্রসেস ওয়াচ-রিবিল্ড সক্রিয় করে, অথবা just dev-runbook-এর মাধ্যমে একটি নির্দিষ্ট রানবুক ফাইলের বিপরীতে অ্যাপ চালু করা যায়। বিল্ট-ইন just কমান্ডগুলো সম্পূর্ণ ডেভেলপমেন্ট লাইফসাইকল কভার করে, যার মধ্যে রয়েছে Vitest ইউনিট টেস্ট, Playwright এন্ড-টু-এন্ড টেস্ট, oxlint কোড চেক এবং tsc টাইপ চেক। প্রকল্পটি অ্যাক্সেসিবল, যুদ্ধ-পরীক্ষিত UI কম্পোনেন্টের জন্য shadcn/ui ব্যবহার করে, যা অফিসিয়াল shadcn CLI-এর মাধ্যমে যোগ করা যায়। অতিরিক্ত ডকুমেন্টেশন এবং লাইভ ডেমো প্রকল্পের অফিসিয়াল সাইট runbooks.gruntwork.io-তে উপলব্ধ।