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

claude-code-rlm হলো Claude Code-এর একটি হুক যা মূল মডেল প্রম্পটটি হ্যান্ডেল করার আগে কোডবেসের ওপর প্রি-রিসার্চ সম্পন্ন করে। প্রাইমারি মডেলকে (Opus বা Sonnet) প্রথম টুল কলগুলোর মাধ্যমে নিজেকে ওরিয়েন্ট করতে দেওয়ার পরিবর্তে, এই হুকটি প্রথমে দ্রুত এবং সাশ্রয়ী Haiku মডেলটিকে রিপোজিটরি এক্সপ্লোর করার জন্য পাঠায় এবং ফলাফলগুলো ইনজেক্টেড কনটেক্সট হিসেবে মূল মডেলের কাছে হস্তান্তর করে। এটি যেভাবে কাজ করে ১. Claude Code, UserPromptSubmit হুকের মাধ্যমে rlm-hook.mjs-কে কল করে এবং stdin-এর মাধ্যমে prompt, cwd এবং transcript_path-এর মতো ফিল্ডসহ JSON পাঠায়। ২. তুচ্ছ ইনপুটগুলো সাথে সাথে স্কিপ করা হয়: কনফিগার করা ন্যূনতম দৈর্ঘ্যের চেয়ে ছোট প্রম্পট, সাধারণ শেল কমান্ড (ls, pwd, cat, echo, git status, npm, yarn), এক শব্দের স্বীকৃতি, /help, /clear এবং /compact-এর মতো স্ল্যাশ কমান্ড, এবং কোড-ভারী পেস্ট যেখানে ইনপুটের অর্ধেকের বেশি কোড ব্লক থাকে। ৩. প্রম্পট এবং ওয়ার্কিং ডিরেক্টরির একটি SHA-256 হ্যাশ এক ঘণ্টার ডিফল্ট TTL সহ একটি ফাইল ক্যাশের বিপরীতে পরীক্ষা করা হয়। ৪. ক্যাশ মিস হলে, কনফিগার করা Haiku মডেলসহ Claude CLI স্পন করা হয়, যা Read, Glob, Grep এবং git Bash-এ সীমাবদ্ধ থাকে এবং একটি সিস্টেম প্রম্পটের মাধ্যমে নির্দেশ দেওয়া হয় যেন এটি নির্দিষ্ট সংখ্যক টুল কলের মধ্যে কোডবেসটি এক্সপ্লোর করে। ৫. Haiku তার প্রাপ্ত ফলাফলগুলো একটি স্ক্র্যাচ JSON ফাইলে লেখে; হুকটি সেগুলোকে একটি স্ট্রাকচার্ড rlm_preresearch ব্লকে ফরম্যাট করে যার মধ্যে intent, summary, relevant files, existing patterns, recent changes, suggested approach, tasks এবং warnings থাকে, এরপর এটি stdout-এ প্রিন্ট করে যাতে Claude Code ব্যবহারকারীর প্রম্পটের আগে এটি ইনজেক্ট করতে পারে। ৬. টাইমআউট, API এরর এবং JSON পার্স এররসহ যেকোনো ব্যর্থতার ক্ষেত্রে এটি কোনো আউটপুট ছাড়াই এক্সিট করে, যাতে হুকটি কথোপকথনকে বাধাগ্রস্ত বা নষ্ট না করে। মোড এবং কনফিগারেশন সবকিছু এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে কনফিগার করা হয়। Agentic mode (ডিফল্ট) টুল-ভিত্তিক এক্সপ্লোরেশন সক্ষম করে এবং ক্যাশ মিসের ক্ষেত্রে এটি প্রায় ২০ সেকেন্ড সময় নেয়; fast mode টুল কল ছাড়াই সংক্ষিপ্ত বিশ্লেষণ করে যা প্রায় ৪ সেকেন্ড সময় নেয়। অন্যান্য সেটিংসের মধ্যে মডেলের নাম, মোট টাইমআউট, ক্যাশ TTL, ন্যূনতম এবং সর্বোচ্চ ইনপুট দৈর্ঘ্য, সর্বোচ্চ টুল টার্ন, ক্যাশ এবং লগ পাথ এবং একটি মেট্রিক্স ফাইল অন্তর্ভুক্ত। একটি ঐচ্ছিক SDK-Direct মোড সাবপ্রসেসের পরিবর্তে API কী সহ Anthropic SDK ব্যবহার করে। README-তে বর্ণিত অতিরিক্ত ফিচারগুলোর মধ্যে রয়েছে একটি ঐচ্ছিক সেমান্টিক ক্যাশ যা কনফিগারযোগ্য কোসাইন সিমিলারিটি থ্রেশহোল্ডের বিপরীতে এমবেডিং তুলনা করে, কনটেক্সট রিইউজ যা একই ইনটেন্ট বা ফাইল পুনরায় বিশ্লেষণ করা এড়াতে সাম্প্রতিক RLM ব্লকগুলো দেখে, এবং একটি মেট্রিক্স JSONL লগ যার সাথে একটি বান্ডেলড ড্যাশবোর্ড (লোকাল পোর্ট ৯৮৭৬-এ সার্ভ করা হয়) থাকে যা ল্যাটেন্সি ডিস্ট্রিবিউশন, ক্যাশ হিট রেট, মোড-ভিত্তিক পারফরম্যান্স এবং আনুমানিক Haiku খরচ দেখায়। রিপোর্ট করা ল্যাটেন্সি ফিগার: স্কিপ করার সময় প্রায় ২৭ মিলি-সেকেন্ড, ক্যাশ হিটের ক্ষেত্রে প্রায় ৩৭ মিলি-সেকেন্ড, মিসের ক্ষেত্রে agentic মোডে প্রায় ২০ সেকেন্ড এবং fast মোডে প্রায় ৪ সেকেন্ড। প্রয়োজনীয়তা এবং ইনস্টলেশন: Node.js ১৮ বা তার নতুন সংস্করণ এবং PATH-এ Claude Code CLI। প্রদত্ত ইনস্টল স্ক্রিপ্টটি হুকটিকে Claude হুক ডিরেক্টরিতে কপি করে এবং এটিকে এক্সিকিউটেবল করে; Claude Code সেটিংস ফাইলে একটি কমান্ড এবং টাইমআউটসহ একটি হুক এন্ট্রি যোগ করতে হবে। npm স্ক্রিপ্টের মাধ্যমে টেস্টিং এবং বেঞ্চমার্কিং চালানো হয় এবং ইন্টিগ্রেশন টেস্টের জন্য একটি লাইভ claude বাইনারির প্রয়োজন। প্রজেক্টটি MIT লাইসেন্সের অধীনে রিলিজ করা হয়েছে।