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

Hunk হলো একটি টার্মিনাল-ভিত্তিক ডি ভিউয়ার, যা কোডিং এজেন্টদের তৈরি চেঞ্জসেট পর্যালোচনার জন্য ডিজাইন করা হয়েছে। সাধারণ প্যাচ প্রিন্ট করার বদলে এটি OpenTUI এবং Pierre diffs লাইব্রেরির উপর নির্মিত একটি ইন্টারঅ্যাকটিভ রিভিউ ইন্টারফেস খোলে। প্রকল্পটি MIT-লাইসেন্সপ্রাপ্ত এবং macOS, Linux ও Windows-এর জন্য একটি স্বতন্ত্র বাইনারি হিসেবে বিতরণ করা হয়, সাথে npm, Homebrew, mise এবং Nix-এর মাধ্যমে অতিরিক্ত ইনস্টল পথ রয়েছে। মূল ওয়ার্কফ্লো পরিচিত Git কমান্ডের মতোই, তবে ফলাফল একটি রিভিউ UI-তে রেন্ডার করে। `hunk diff` বর্তমান রিপোজিটরি পরিবর্তন দেখায়, যার মধ্যে untracked ফাইলও অন্তর্ভুক্ত; `hunk show` একটি নির্দিষ্ট কমিট পর্যালোচনা করে; এবং `hunk log` একটি হিস্টরি ব্রাউজার খোলে, যা রিডাইরেক্ট করা হলে স্ট্যাটিক আউটপুটে ফিরে যায়। একটি ওয়াচ মোড ওয়ার্কিং ট্রি পরিবর্তনের সাথে সাথে ফাইল- ও Git-ভিত্তিক রিভিউ স্বয়ংক্রিয়ভাবে রিলোড করে। কাঁচা ফাইল ও প্যাচ সরাসরি তুলনাও করা যায়, এবং stdin থেকে প্যাচ পাইপ করা যায়। ইন্টারফেসের প্রধান বৈশিষ্ট্যগুলোর মধ্যে রয়েছে সাইডবার নেভিগেশনসহ মাল্টি-ফাইল রিভিউ স্ট্রিম, স্প্লিট, ইউনিফাইড ও রেসপন্সিভ অটো লেআউট, সিনট্যাক্স হাইলাইটিং, মাউস সাপোর্, রানটাইম ভিউ টগল এবং পেজার-সামঞ্জস্যপূর্ণ মোড। একটি স্বতন্ত্র সক্ষমতা হলো কোডের পাশে রাখা ইনলাইন AI ও এজেন্ট অ্যানোটেশন, যা একটি ডকুমেন্টেড এজেন্ট ওয়ার্কফ্লো দ্বারা সমর্থিত, যেখানে একটি এজেন্ট একটি স্কিল ফাইল লোড করে এবং একটি লাইভ Hunk সেশনের সাথে ইন্টারঅ্যাক্ট করে। Hunk Git ছাড়াও Jujutsu এবং Sapling চেকআউট স্বয়ংক্রিয়ভাবে শনাক্ত করে, এবং তিনটি ভার্সন কন্ট্রোল সিস্টেমের জন্যই পেজার হিসেবে কনফিগার করা যায়। পছন্দগুলো ব্যবহারকারী বা রিপোজিটরি স্তরের TOML কনফিগ ফাইলে সংরক্ষিত হয়, যেখানে থিম, লেউট মোড, VCS নির্বাচন, ট্যাব প্রস্থ, স্পেসিং, অ্যানিমেশন ইত্যাদি কভার করা হয়। প্রতিটি কীবোর্ড শর্টকাট একটি নামযুক্ত কমান্ড, যা একটি keybindings টেবিলের মাধ্যমে রিম্যাপ করা যায়। একটি পরীক্ষামূলক এক্সটেনশন API TypeScript এক্সটেনশন লোড করার সুযোগ দেয়, যা CLI ওয়ার্কফ্লো যোগ করতে, থিম ও ভাষা ম্যাপিং অবদান রাখতে, VCS ব্যাকএন্ড যোগ করতে, পর্যালোচনার আগে চেঞ্জসেট রূপান্তর করতে, সাইডবারকে একটি কাস্টম React কম্পোনেন্ট দিয়ে প্রতিস্থাপন করতে এবং লাইফসাইকল ইভেন্টে সাড়া দিতে পারে। Git রিপোজিটরি থেকে এক্সটেনশন ইনস্টল করা যায়, এবং একটি `hunk-extension` GitHub টপিক কমিউনিটি অবদান চিহ্নিত করে। একই ডিফ রেন্ডারার একটি OpenTUI কম্পোনেন্ট হিসেবেও প্রকাশিত হয়, যা অন্য অ্যাপ্লিকেশনে এমবেড করা যায়। README-তে lumen, difftastic, delta, diff-so-fancy এবং GNU diff-এর বিরুদ্ধে একটি ফিচার তুলনা টেবিল রয়েছে, যেখানে উল্লেখ করা হয়েছে যে Hunk স্ট্রাকচারাল ডিফিংয়ের বদলে ইন্টারঅ্যাকটিভ পূর্ণ-চেঞ্জসেট পর্যালোচনার উপর মনোযোগ দেয়।