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

VHS একটি টুল যা কোড থেকে টার্মিনাল GIF (এবং অন্যান্য ভিডিও ফরম্যাট) তৈরি করে, যা ইন্টিগ্রেশন টেস্টিং এবং CLI টুলস প্রদর্শনের জন্য ডিজাইন করা হয়েছে। ব্যবহারকারীরা .tape ফাইল লেখে যার মধ্যে কমান্ডের একটি সিরিজ থাকে যা VHS-কে ভার্চুয়াল টার্মিনালে বিভিন্ন অ্যাকশন নেওয়ার নির্দেশ দেয়, যেমন টেক্সট টাইপ করা, কী প্রেস করা, স্ক্রিন কন্টেন্টের জন্য অপেক্ষা করা এবং ঘুম (sleep)। আউটপুট GIF, MP4, WebM, অথবা PNG ফ্রেম সিকোয়েন্স হিসেবে রেন্ডার করা যায়। প্রধান ক্ষমতাগুলো হলো: - টাইপিং, কী প্রেস (Enter, Tab, Backspace, অ্যারো, Ctrl কম্বিনেশন), স্ক্রলিং, রেজেক্স-এর মাধ্যমে অপেক্ষা করা, এবং স্লিপিংয়ের জন্য কমান্ড সহ টেপ ফাইল স্ক্রিপ্টিং। - ফন্ট পরিবার ও সাইজ, টার্মিনাল মাত্রা (পিক্সেল অথবা কলাম/শারি), লেটার স্পেসিং, লাইন হাইট, থিম (JSON বা নামকরণ করা), প্যাডিং, মার্জিন, উইন্ডো বার স্টাইল, বর্ডার রেডিয়াস, ফ্রেমরেট, প্লেব্যাক স্পিড, লুপ অফসেট, এবং কার্সর ব্লিঙ্কের জন্য সেটিংস। - `vhs record` দিয়ে সরাসরি টার্মিনাল সেশন রেকর্ড করে টেপ ফাইলে সংরক্ষণ করা। - vhs.charm.sh-তে GIF প্রকাশ করে ব্রাউজার, HTML, অথবা Markdown লিঙ্ক দিয়ে শেয়ার করা। - স্ব-হোস্টিংয়ের জন্য একটি বিল্ট-ইন SSH সার্ভার (`vhs serve`) যা রিমোট অ্যাক্সেস অনুমোদন করে যেখানে VHS হোস্ট-ইনস্টল করা কমান্ডসহ চলে। - `Require` এর মাধ্যমে ডিপেন্ডেন্সি ঘোষণা করে প্রয়োজনীয় প্রোগ্রাম না থাকলে তাড়াতাড়ি ফেল করা। - সেটআপ অথবা ক্লিনআপের জন্য ফ্রেম ক্যাপচার পজ ও রিজিউম করতে `Hide`/`Show` কমান্ড। - অন্যান্য টেপ ফাইল থেকে কমান্ড আমদানি করতে `Source` কমান্ড। - `Env` দিয়ে পরিবেশ চলক সেট করা। - ক্লিপবোর্ড কপি ও পেস্ট সাপোর্ট। - প্রতিটি ফ্রেমের স্ক্রিনশট সক্ষমতা। VHS-এর জন্য ttyd এবং ffmpeg PATH-তে থাকতে হয়। এটি প্যাকেজ ম্যানেজার (brew, pacman, nix, scoop, winget), Docker, প্রিবিلت ব্যিনারি, অথবা `go install` এর মাধ্যমে ইনস্টল করা যেতে পারে।