• टर्मिनल में चलने वाला AI कोडिंग एजेंट है, जो कई LLM (Large Language Model) से इंटीग्रेट होकर कोड लेखन, वर्कफ्लो ऑटोमेशन और कोड संदर्भ बनाए रखने जैसी चीज़ों के जरिए कोड उत्पादकता बढ़ाने में मदद करता है
  • कई मॉडल चुने जा सकते हैं, और सत्र के बीच में भी स्वतंत्र रूप से मॉडल स्विच किया जा सकता है; साथ ही प्रोजेक्ट-स्तर पर सत्र/संदर्भ बनाए रखने का समर्थन भी करता है
  • LSP (Language Server Protocol) इंटीग्रेशन, एक्सटेंसिबल MCP (Model Context Protocol) सपोर्ट, .gitignore और अलग फाइल्स को ignore करने जैसी डेवलपर-फ्रेंडली फीचर्स प्रदान की गई हैं
  • macOS, Linux, Windows, FreeBSD जैसे सभी प्रमुख टर्मिनल वातावरण पर चलता है, और पैकेज मैनेजर या Go, बाइनरी आदि कई तरीकों से इंस्टॉलेशन संभव है
  • इंट्यूटिव सेटअप और एडवांस कस्टमाइज़ेशन दोनों एक साथ उपलब्ध हैं, साथ ही env variables, JSON सेटिंग, टूल व्हाइटलिस्ट जैसी सुविधाओं के साथ इसे एडवांस यूज़र को ध्यान में रखकर डिज़ाइन किया गया है

Crush

  • टर्मिनल वातावरण में रन होने वाला AI कोडिंग एजेंट, जो डेवलपर के पसंदीदा LLM को फ्रीली कनेक्ट करके कोड लिखने, एडिट करने और ऑटोमेशन में मदद करता है
  • कई मॉडल (Anthropic, OpenAI, Groq, OpenRouter आदि) को चुनना व बदलना फ्री है, और प्रत्येक सत्र का संदर्भ अलग-अलग संभाला जाता है
  • LSP (Language Server Protocol) के जरिए हर भाषा के लिए अतिरिक्त संदर्भ लेकर कोड सहायता को और स्मार्ट बनाता है
  • MCP (Model Context Protocol) के जरिये बाहरी सिस्टम, HTTP, कमांड लाइन, SSE आदि स्रोतों से अतिरिक्त जानकारी इकट्ठा करके उपयोग कर सकता है

मुख्य फीचर्स

  • मल्टी- मॉडल सपोर्ट: OpenAI, Anthropic, Groq, OpenRouter आदि कई LLM इंटीग्रेशन, ज़रूरत पड़ने पर सीधे अतिरिक्त मॉडल जोड़ने की सुविधा
  • सत्र-आधारित वर्कफ़्लो: प्रोजेक्ट-स्तर पर कई वर्क सत्र और संदर्भ अलग करके प्रबंधन
  • लचीला मॉडल स्विच: सत्र के बीच में भी मॉडल बदलना संभव, मौजूदा संदर्भ बिना टूटे बना रहता है
  • LSP इंटीग्रेशन: Go, TypeScript, Nix जैसी प्रमुख भाषाओं के LSP से कनेक्ट होकर कोड संदर्भ को मजबूत करता है
  • एक्सटेंसिबिलिटी: MCP प्रोटोकॉल आधारित बाहरी HTTP/CLI/SSE आदि अतिरिक्त फंक्शनलिटी को आसान तरीके से एक्सटेंड कर सकता है
  • वाइड प्लेटफॉर्म सपोर्ट: macOS, Linux, Windows (WSL, PowerShell), FreeBSD, OpenBSD, NetBSD जैसे सभी प्रमुख OS टर्मिनलों पर काम करता है
  • इंट्यूटिव कॉन्फ़िगरेशन: अलग से सेटअप की जरूरत बिना तुरंत उपयोग, और जब चाहें प्रोजेक्ट/ग्लोबल JSON सेटिंग सपोर्ट
  • मज़बूत ignoring फीचर: .gitignore, .crushignore फाइलों से संदर्भ में exclude करने वाली फाइल/डायरेक्टरी मैनेज की जा सकती है
  • टूल व्हाइटलिस्ट: टूल रन होने से पहले पूर्व-अनुमोदन और ऑटो रन विकल्प उपलब्ध; --yolo फ़्लैग से पूरा prompt स्किप किया जा सकता है (सावधानी रखें)
  • कस्टम प्रोवाइडर: OpenAI, Anthropic-कम्पैटिबल API को आसानी से जोड़ें और दाम/संदर्भ जैसे डिटेल विकल्प सेट करें

इंस्टॉलेशन और शुरुआत

  • Homebrew, NPM, Arch, Nix, Debian/Ubuntu, Fedora/RHEL आदि कई पैकेज मैनेजर तथा बाइनरी/Go से इंस्टॉलेशन संभव
  • पहले रन पर पसंदीदा LLM API Key (OpenAI, Anthropic, Groq आदि) डालना ज़रूरी है, इसे environment variables से भी सेट किया जा सकता है
  • environment variables के जरिये कनेक्ट होने वाले प्रमुख LLM: OPENAI_API_KEY, ANTHROPIC_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY, VERTEXAI_PROJECT आदि

सेटिंग उदाहरण

  • ग्लोबल या प्रोजेक्ट-स्तर JSON फाइलें (./.crush.json, ./crush.json, $HOME/.config/crush/crush.json) से एडवांस ऑप्शंस लागू करें
  • LSP सेटिंग: प्रत्येक भाषा के लिए अलग कमांड सेट किया जा सकता है
    {
      "lsp": {
        "go": { "command": "gopls" },
        "typescript": { "command": "typescript-language-server", "args": ["--stdio"] }
      }
    }
    
  • MCP सेटिंग: HTTP/CLI/SSE आधारित बाहरी एक्सटेंशन उदाहरण
    {
      "mcp": {
        "filesystem": {
          "type": "stdio",
          "command": "node",
          "args": ["/path/to/mcp-server.js"]
        }
      }
    }
    
  • फाइल इग्नोर और टूल अप्रूवल
    • .crushignore से खास फाइल/फोल्डर को exclude करें
    • टूल रन व्हाइटलिस्ट या --yolo फ़्लैग से पूरे prompt को स्किप करें

उन्नत उपयोगकर्ता फीचर्स

  • कस्टम प्रोवाइडर रजिस्ट्रेशन: OpenAI/Anthropic compatible API जोड़ना, मूल्य/संदर्भ आदि के डिटेल विकल्प सेट करना
  • लॉगिंग: प्रोजेक्ट-स्तर लॉग फाइल उपलब्ध, crush logs, crush logs --follow जैसी CLI कमांड से रियल-टाइम देखने का विकल्प
  • डिबग विकल्प: --debug फ़्लैग या config से डिटेल्ड लॉगिंग enable करें

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.