منصوبے کے بارے میں

diffctx ایک CLI ٹول اور MCP سرور ہے جو LLM کو git diff کا جائزہ لینے کے لیے درکار کم سے کم کوڈ سیاق و سباق منتخب کرتا ہے۔ پوری فائلیں پیسٹ کرنے کے بجائے، یہ 50+ فائل اقسام میں کوڈ گراف (imports، co-changes، type references) بناتا ہے، تبدیل شدہ لائنوں سے متعلقہ پن کو باہر پھیلاتا ہے، اور اس وقت رک جاتا ہے جب متعلقہ پن کسی حد سے نیچے گر جائے یا ٹوکن بجٹ کی حد تک پہنچ جائے۔ اہم صلاحیتیں: - Diff context mode: git range (HEAD~1..HEAD، main..feature) یا دورانیے کی ونڈو (24h، 8d، 90min) قبول کرتا ہے جو working tree کو ونڈو سے پہلے کے آخری commit کے خلاف diff کرتی ہے۔ Markdown، JSON، یا YAML آؤٹ پٹ کرتا ہے۔ - متعدد اسکورنگ الگورتھم: ego (محدود توسیع)، PPR (Personalized PageRank)، BM25 (lexical retrieval)، RRF (reciprocal-rank fusion)، اور PIT (percentile fusion)۔ - o200k_base tokenizer کے ساتھ ٹوکن بجٹنگ؛ بجٹ rendered artifact کو محدود کرتا ہے، ہر تبدیل شدہ فائل کو witness fragment ملنے کے بعد متعلقہ پن باقی جگہ بھرتا ہے۔ - graph subcommand: Mermaid، JSON، یا GraphML آؤٹ پٹ کے ذریعے انحصاری گراف براہ راست دریافت کریں؛ cycle، hotspot، اور coupling metrics شامل ہیں۔ - مکمل codebase export mode: قابل ترتیب گہرائی، ignore patterns، اور clipboard سپورٹ کے ساتھ Markdown/JSON tree آؤٹ پٹ۔ - MCP سرور: AI معاونین (Claude Code، Cursor، Windsurf، Codex CLI، Gemini CLI، VS Code) کے لیے diffctx_context ٹول فراہم کرتا ہے تاکہ وہ code review کے دوران اسے کال کر سکیں۔ سرکاری MCP registry میں شائع شدہ۔ - Python API: پروگراماتی استعمال کے لیے build_diff_context() اور map_directory() فنکشنز۔ تنصیب uvx، pipx، pip، cargo، npm، Docker، اور Windows پر Scoop کے ذریعے دستیاب ہے۔ پہلے سے بنی binaries Linux (x86_64/aarch64)، macOS (arm64/x86_64)، اور Windows (x64/arm64) کا احاطہ کرتی ہیں۔ native binary اور Docker image YAML/JSON آؤٹ پٹ کے ساتھ diff mode سنبھالتے ہیں؛ tree mode، Markdown آؤٹ پٹ، graph subcommand، اور MCP سرور کے لیے Python پیکیج درکار ہے۔ یہ ٹول .gitignore اور .diffctx/ignore کو درجہ بندی کے ساتھ برتاؤ کرتا ہے، خفیہ جیسی راہوں کو خودکار طور پر فلٹر کرتا ہے، فی-blob tokenization کیش کرتا ہے، اور stderr پر ٹوکن شمار رپورٹ کرتا ہے۔ Exit codes کامیابی، runtime errors، usage errors، environment errors، اور empty-diff حالات میں فرق کرتے ہیں۔ Apache 2.0 کے تحت لائسنس یافتہ۔