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

gaur হলো Go-তে তৈরি Arch Linux প্যাকেজ ব্যবস্থাপনার একটি TUI (টার্মিনাল ইউজার ইন্টারফেস)। এটি pacman, একটি AUR হেল্পার (paru বা yay) এবং fzf-কে মোড়ক হিসেবে ব্যবহার করে সাধারণ প্যাকেজ কার্যক্রমের জন্য একক কীবোর্ড-চালিত ইন্টারফেস প্রদান করে। **অনুসন্ধান ও ইনস্টল** - fzf-চালিত ফাজি র‍্যাঙ্কিং, সাথে মিল হাইলাইটিং। - রেপো-ভিত্তিক কুয়েরি প্রিফিক্স: c: (core), e: (extra), m: (multilib), a: (AUR)। প্রিফিক্স একসাথে ব্যবহার করা যায়, যেমন ae:firefox AUR এবং Extra-তে অনুসন্ধান করে। - Tab দিয়ে একাধিক প্যাকেজ চিহ্নিত করুন এবং এক কমান্ডে সেগুলোতে কাজ করুন। - লাইভ ডিটেইলস প্যান যেখানে রেপোজিটরি, ভার্সন, লাইসেন্স এবং আপস্ট্রিম URL দেখানো হয়। **রক্ষণাবেক্ষণ** - প্যাকেজ সংখ্যা, ডিস্ক ব্যবহারের বার এবং রেপোজিটরি বিতরণসহ ড্যাশবোর্ড। - সম্পূর্ণ সিস্টেম আপডেট বা হাতে বাছাই করা উপসেটের নির্বাচিত আপডেট। - keep নীতিসহ ক্যাশে ক্লিনার এবং প্রতি-প্যাকেজ নির্বাচিত পরিষ্কার। - অরফান শনাক্তকরণ এবং এক-কী অপসারণ। **ইন্টারফেস** - এগারোটি বিল্ট-ইন থিম (Catppuccin ভ্যারিয়েন্ট, Dracula, Gruvbox, Monokai Pro, One Dark, Rose Pine, Solarized Dark, Tokyonight), স্ক্রল করার সময় লাইভ প্রিভিউসহ। - --export-themes-এর মাধ্যমে কাস্টম TOML থিম সমর্থন। - মোড-ভিত্তিক রঙ, কেন্দ্রীভূত ডায়ালগ, মাউস হুইল সমর্থন। - রিস্টার্ট ছাড়াই থিম, AUR হেল্পার এবং বর্ডার টাইপ পরিবর্তনের জন্য সেটিংস মেনু (কমা কী)। **মোড**: install, dashboard, remove এবং update, i/d/r/u কী বা Alt+সংখ্যা শর্টকাট দিয়ে পরিবর্তনযোগ্য। **remove মোডে অনুসন্ধান ফিল্টার**: t: (সব ইনস্টল করা), e:/l: (স্পষ্টভাবে ইনস্টল করা), f:/a: (foreign/AUR প্যাকেজ), o: (অরফান)। **নিরাপত্তা পদ্ধতি**: কমান্ড আর্গুমেন্ট অ্যারে হিসেবে তৈরি হয়, কখনো শেল স্ট্রিং হিসেবে নয়। প্যাকেজ নাম কঠোর allowlist-এর বিরুদ্ধে যাচাই করা হয়, কনফিগ মান বিশ্বাস না করে clamp করা হয়, এবং CI-তে gosec, CodeQL ও govulncheck-এর পাশাপাশি নিবেদিত command-injection, privilege-escalation এবং TUI-spoofing পরীক্ষা চালানো হয়। **এটি কীভাবে কাজ করে**: রেপোজিটরি প্যাকেজগুলো pacman -Sl দিয়ে একবার পড়া হয় এবং মেমরিতে রাখা হয়; টাইপ করার সময় প্রতি কীস্ট্রোকে pacman-এ শেল আউট হয় না। প্রতিটি কীস্ট্রোক সম্মিলিত repo + AUR তালিকা fzf --filter-এর মধ্য দিয়ে পাঠায়। AUR কুয়েরির জন্য ন্যূনতম দুই অক্ষর প্রয়োজন, ডুপ্লিকেট অনুরোধ এড়ানো হয় এবং পুরনো রেসপন্স বাদ দেওয়া হয়। ইনস্টল, অপসারণ এবং আপডেট কার্যক্রম tea.ExecProcess-এর মাধ্যমে চলে যাতে sudo প্রম্পট এবং কনফ্লিক্ট সমাধান gaur-এর বাইরের মতোই আচরণ করে। **প্রয়োজনীয়তা**: Arch Linux বা Arch-ভিত্তিক ডিস্ট্রিবিউশন, একটি AUR হেল্পার (paru বা yay), fzf, pacman-contrib থেকে paccache, এবং সোর্স থেকে বিল্ড করলে Go 1.24+। **ইনস্টলেশন**: AUR-এ gaur-bin হিসেবে উপলব্ধ (paru -S gaur-bin বা yay -S gaur-bin), go install-এর মাধ্যমে, বা সোর্স থেকে বিল্ড করে। **কনফিগারেশন**: প্রথম রানে ~/.config/gaur/config.toml লেখে, যেখানে ডিফল্ট স্টার্টআপ মোড, UI থিম ও বর্ডার টাইপ, AUR হেল্পার নির্বাচন, install/remove ফ্ল্যাগ, ক্যাশে টুল এবং debounce টাইমিং রয়েছে। বেশিরভাগ সেটিং অ্যাপের ভেতরের সেটিংস মেনু থেকেও লাইভ সম্পাদনা করা যায়। GPL-3.0-এর অধীনে লাইসেন্সকৃত।