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

Scantool ایک کوڈ سٹرکچر تجزیہ ٹول ہے جو AI کوڈنگ ایجنٹس (Claude Code, Cursor, VS Code Copilot اور دیگر) کو کوڈ بیسز کو مؤثر طریقے سے سمجھنے میں مدد دینے کے لیے ڈیزائن کیا گیا ہے۔ کسی فنکشن یا کلاس کو تلاش کرنے کے لیے پوری فائلیں پڑھنے کے بجائے، ایجنٹس کو ایک ساختی نقشہ ملتا ہے—ہر کلاس، فنکشن، کالر اور ہیڈنگ لائن نمبرز کے ساتھ—ایک ہی کال میں۔ یہ MCP (Model Context Protocol) سرور اور شیل کمانڈ (`sct`) دونوں کے طور پر کام کرتا ہے، لہٰذا ایجنٹس دونوں میں سے کسی بھی انٹرفیس کے ذریعے اسے استعمال کر سکتے ہیں۔ یہ ٹول 20+ زبانوں کے لیے tree-sitter پارسرز پر مبنی ہے اور اسے کسی انڈیکس، API کلید یا ایک کمانڈ کے علاوہ کسی سیٹ اپ کی ضرورت نہیں ہے۔ کلیدی صلاحیتوں میں شامل ہیں: ارد گرد کے سیاق و سباق اور کالر لیڈز کے ساتھ ڈھانچے تلاش کرنا؛ انٹری پوائنٹس، ہاٹ فنکشنز اور مرکزی فائلوں کے لیے ڈائریکٹری اسکین کرنا؛ کسی ایک فنکشن یا ہیڈنگ پر اس کے ورڈیٹم کوڈ اور ایک سطح کے آؤٹ لائن کے ساتھ فوکس کرنا؛ git refs کے درمیان ساختی تفریق کا حساب لگانا؛ فنکشن کی اصل کال سائٹس تلاش کرنا؛ برانچ اوورلیپ اور مرج کنفلکٹس کا پتہ لگانا؛ پبلک API سطح کی تبدیلیوں کی جانچ کرنا؛ ان فنکشنز کی شناخت کرنا جو سسٹر کال پیٹرن سے ہٹتے ہیں؛ اور git refs میں ایڈریسز کو حل کرنا۔ سورس کوڈ کے علاوہ، Scantool دستاویزات—Markdown ہیڈنگز، SQL ٹیبلز اور ویوز، YAML/TOML/JSON کیز، CSS سلیکٹرز اور مزید—کو لائن رینجز کے ساتھ قابلِ ایڈریس ساخت کے طور پر ہینڈل کرتا ہے۔ یہ ٹول فائلوں کو مانگ پر پارس کرتا ہے اور git blob ID کے ذریعے کیش کرتا ہے، لہٰذا ایک ہی بائٹس کسی ریف پر، stdin پر یا اگلے عمل میں دو بار پارس نہیں ہوتے۔ فنکشنز کو کنڈینسڈ سکیلیٹن کے طور پر دکھایا جاتا ہے جس میں کنٹرول فلو، کالز اور ریٹرنز برقرار رہتے ہیں جبکہ معمولی سٹیٹمنٹس فولڈ کر دیے جاتے ہیں۔ ہر جواب میں ایک کوریج لائن شامل ہوتی ہے جو دیکھی گئی فائلوں، دکھائے گئے ڈھانچوں اور جو خارج کیا گیا اس کی گنتی کرتی ہے۔ حقیقی ایجنٹ ایپی سوڈز پر ناپے گئے نتائج کے مطابق، Scantool نے ٹارگٹڈ تلاشوں کے لیے ٹوکن کا استعمال 25 گنا کم کیا (grep کے لیے 9,370 کے مقابلے میں 378 ٹوکن) اور فوکسڈ ریڈز کے لیے 75% کم (54,337 کے مقابلے میں 13,523 ٹوکن) جبکہ حقائق کی کوریج میں کوئی تبدیلی نہیں آئی۔ 22 ایپی سوڈز میں، Scantool ایجنٹس نے 88% حقائق کی کوریج حاصل کی جبکہ صرف grep استعمال کرنے والے ایجنٹس نے 73%۔ grep اب بھی سادہ لفظی تلاشوں اور ٹاپ لیول جائزوں میں بالترتیب 1.4x اور 1.6x سے بہتر کارکردگی دکھاتا ہے۔ جن زبانوں کی حمایت کی جاتی ہے ان میں Python, JavaScript, TypeScript, Rust, Go, C, C++, Java, PHP, C#, Ruby, Zig, Swift, SQL, HTML, CSS, SCSS, YAML, Markdown, Jupyter notebooks, سادہ متن، JSON, TOML اور تصاویر شامل ہیں۔ خراب فائلوں کے لیے ریجیکس نکالنے کا فال بیک استعمال ہوتا ہے۔ دیگر کوڈ ایکسپلوریشن MCP سرورز کے مقابلے میں: Repomix پوری ریپو کو ایک فائل میں پیک کرتا ہے؛ Serena لینگویج سرورز کو علامت بہ علامت استعمال کرتا ہے اور کوڈ میں ترمیم کر سکتا ہے؛ claude-context ویکٹر ڈیٹا بیس کے ساتھ ایمبیڈنگ انڈیکس استعمال کرتا ہے اور API کلیدوں کی ضرورت ہوتی ہے۔ Scantool کا طریقہ—بغیر انڈیکس کے مانگ پر پارس کرنا—ان اخراجات سے بچتا ہے اور دستاویز کا وہ ڈھانچہ بھی نکالتا ہے جسے دیگر سرورز میں سے کوئی حل نہیں کرتا۔ انسٹالیشن کے لیے uv کی ضرورت ہوتی ہے، پھر MCP سرور کو رجسٹر کرنے کے لیے ایک کمانڈ کافی ہے۔ یہ ٹول MIT لائسنس کے تحت ہے اور FastMCP, tree-sitter اور uv پر بنایا گیا ہے۔