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

# Crush টার্মিনালের জন্য একটি চমৎকার এজেন্টিক কোডিং অ্যাসিস্ট্যান্ট, যা Charmbracelet তৈরি করেছে। এটি আপনার টুল, কোডবেস এবং ওয়ার্কফ্লোকে সরাসরি কমান্ড লাইন থেকে আপনার পছন্দের LLM-এর সাথে সংযুক্ত করে। ## প্রধান সক্ষমতা - **মাল্টি-মডেল সাপোর্ট**: বিস্তৃত পরিসরের LLM থেকে বেছে নিন অথবা OpenAI- বা Anthropic-সামঞ্জস্যপূর্ণ API-এর মাধ্যমে নিজেরটি কনফিগার করুন। কনটেক্সট সংরক্ষণ করে সেশনের মাঝখানে মডেল পরিবর্তন করুন। - **LSP ইন্টিগ্রেশন**: IDE যেভাবে কাজ করে, অনুরূপভাবে অতিরিক্ত কোডবেস কনটেক্সট সংগ্রহ করতে Language Server Protocol ব্যবহার করে। - **MCP এক্সটেনশন**: `http`, `stdio`, এবং `sse` ট্রান্সপোর্ট ব্যবহার করে Model Context Protocol সার্ভারের মাধ্যমে সম্প্রসারণযোগ্য। - **সেশন ম্যানেজমেন্ট**: প্রতি প্রকল্পে একাধিক ওয়ার্ক সেশন ও কনটেক্সট বজায় রাখুন, SSE-এর মাধ্যমে ক্রস-ক্লায়েন্ট ওয়ার্কস্পেস শেয়ারিং সহ। - **কনফিগারযোগ্য**: কাস্টম প্রোভাইডার, মডেল, অনুমতি এবং স্কিলের জন্য Bash-ভিত্তিক `crushrc` কনফিগারেশন ফাইল। JSON কনফিগারেশনও সমর্থন করে। - **থিম**: কমান্ড প্যালেট (`ctrl+p`)-এর মাধ্যমে লাইভ প্রিভিউ ও কাস্টমাইজেশনসহ বিল্ট-ইন কালার থিম। - **এজেন্ট স্কিল**: গ্লোবাল ও প্রকল্প ডিরেক্টরি থেকে আবিষ্কারযোগ্য পুনঃব্যবহারযোগ্য স্কিল প্যাকেজের জন্য [Agent Skills](https://agentskills.io) ওপেন স্ট্যান্ডার্ড সমর্থন করে। - **অনুমতি সিস্টেম**: সূক্ষ্ম টুল অনুমতি — আলাদাভাবে অনুমোদন করুন, টুল ক্যাটাগরি allow/deny করুন, অথবা `--yolo` দিয়ে সম্পূর্ণভাবে প্রম্পট এড়িয়ে যান। - **ক্রস-প্ল্যাটফর্ম**: macOS, Linux, Windows (PowerShell/WSL), Android, FreeBSD, OpenBSD, এবং NetBSD-তে কাজ করে। ## ইনস্টলেশন Homebrew, NPM, Arch Linux (btw), Nix, FreeBSD pkg, Debian/Ubuntu apt, Fedora/RHEL yum, Winget, Scoop, এবং সরাসরি Go install-এর মাধ্যমে উপলব্ধ। ## প্রোভাইডার Charm Hyper (ডিফল্ট, শূন্য ডেটা রিটেনশনসহ গোপনীয়তা-কেন্দ্রিক), Anthropic, OpenAI, Gemini, OpenRouter, Groq, Hugging Face, Amazon Bedrock, Azure OpenAI, Alibaba এবং আরও অনেককে সমর্থন করে। এনভায়রনমেন্ট ভেরিয়েবল বা কনফিগ ফাইল API কী সেট করতে পারে। OpenAI/Anthropic API-এর সাথে সামঞ্জস্যপূর্ণ প্রায় যেকোনো প্রোভাইডারকে কাস্টম প্রোভাইডার হিসেবে যোগ করা যায়। ## কনটেক্সট ম্যানেজমেন্ট - `.gitignore` মানে এবং অতিরিক্ত ফাইল বাদ দেওয়ার জন্য `.crushignore` সমর্থন করে। - ক্রস-প্রকল্প নির্দেশনার জন্য `~/.config/crush/CRUSH.md` এবং `~/.config/AGENTS.md`-এ গ্লোবাল কনটেক্সট ফাইল। - LSP ও MCP প্রকল্প-নির্দিষ্ট কনটেক্সট দিয়ে এজেন্টের সিদ্ধান্ত সমৃদ্ধ করে। ## কনফিগারেশন Crush স্ব-কনফিগারেশনের জন্য একটি বিল্ট-ইন স্কিলসহ আসে। একটি `crushrc` হলো Crush-নির্দিষ্ট বিল্টইনসহ একটি Bash স্ক্রিপ্ট, যা Windows-সহ সব প্ল্যাটফর্মে অভিন্ন আচরণ প্রদান করে। কনফিগারেশন অগ্রাধিকার গ্লোবালের আগে প্রকল্প-স্থানীয় কনফিগ প্রয়োগ করে। পুরোনো JSON কনফিগ ফরম্যাট এখনও সমর্থিত তবে ডেপ্রিকেটেড।