منصوبے کے بارے میں
Lintro ایک کمانڈ لائن ٹول ہے جو کوڈ فارمیٹنگ، linting، type-checking اور سیکیورٹی ٹولز کے ایک بڑے سیٹ کو ایک ہی انٹرفیس کے پیچھے متحد کرتا ہے۔ اسے MIT لائسنس کے تحت شائع کیا گیا ہے اور پائتھون پیکیج کے لیے Python 3.11 یا اس سے نئے ورژن کی ضرورت ہوتی ہے، حالانکہ ایک خود مختار Node پیکیج بھی پیش کیا گیا ہے۔
کوئیک اسٹارٹ دو کمانڈز پر مرکوز ہے: مسائل تلاش کرنے کے لیے "lintro check" (alias "chk") اور انہیں ٹھیک کرنے کے لیے "lintro format" (alias "fmt")۔ اضافی کمانڈز میں shields.io ایشو-کاؤنٹ بیج کے لیے "lintro badge"، دستیاب ٹولز دکھانے کے لیے "lintro list-tools"، سیٹ اپ اور ہیلتھ چیک کے لیے "lintro init" اور "lintro doctor"، اور ٹولز کی فراہمی کے لیے "lintro install --profile recommended" شامل ہیں۔ نتائج کو کئی فارمیٹس میں رینڈر کیا جا سکتا ہے: grid، JSON، HTML، CSV اور Markdown، جس میں --output-format grid، --group-by file، مخصوص ٹولز منتخب کرنے کے لیے --tools، ڈائریکٹریز کے لیے --exclude، Node- tabadul ٹولز کے لیے --auto-install، اور git ref کے مقابلے میں تبدیل شدہ فائلوں تک چیکز کو محدود کرنے کے لیے --diff جیسے آپشنز شامل ہیں۔
README میں linters، formatters، ایسے ٹولز جو lint اور format دونوں کرتے ہیں، type checkers، سیکیورٹی اسکینرز اور AI ٹولز کے گروپ میں تقسیم ایک وسیع ٹول میٹرکس کی فہرست دی گئی ہے۔ linting کے لیے Actionlint، Clippy، commitlint، Cppcheck، golangci-lint، Hadolint، html-validate، Markdownlint-cli2، Vale، Oxlint، pylint، ShellCheck، Spectral اور Yamllint مثالیں ہیں؛ فارمیٹنگ کے لیے Black، Oxfmt، Prettier، shfmt اور rustfmt؛ lint-plus-format کے لیے Ruff، SQLFluff، Taplo، dotenv-linter، Stylelint اور typos؛ type checking کے لیے Astro، Mypy، svelte-check، TypeScript اور vue-tsc؛ اور سیکیورٹی کے لیے Bandit، Checkov، Gitleaks، cargo-audit، cargo-deny، OSV-Scanner، pip-audit، Semgrep اور TruffleHog شامل ہیں۔ Python ٹولز جیسے ruff، black، mypy، bandit، import-linter، pydoclint، pylint اور yamllint کو "full" extra کے ذریعے بنڈل کیا جا سکتا ہے، لہذا انہیں الگ سے انسٹال کرنے کی ضرورت نہیں ہے۔
کنفیگریشن کا مقصد مائیگریشن کے کام سے بچنا ہے: موجودہ نیٹو کنفیگز جیسے .prettierrc، pyproject.toml [tool.ruff] یا .yamllint کو پہچانا اور تسلیم کیا جاتا ہے، جبکہ مشترکہ سیٹنگز کو مستقل طور پر نافذ کیا جا سکتا ہے اور جہاں کوئی نیٹو کنفیگ موجود نہ ہو وہاں مناسب ڈیفالٹس استعمال کیے جاتے ہیں۔ دستاویزات پانچ سطحوں کے کنفیگریشن سسٹم کی وضاحت کرتی ہیں۔ Node.js ٹولز ایک بیان کردہ ریزولوشن آرڈر پر عمل کرتے ہیں: پہلے ٹارگٹ پروجیکٹ کا node_modules/.bin، پھر PATH پر موجود بائنری، اور پھر ایک ورژن-پینڈ bunx/npx فیچ۔
انسٹالیشن کے اختیارات میں uv pip یا pip install (ہلکا پھلکا یا full extra کے ساتھ)، ایک Homebrew tap، ایک گلوبل bun/npm پیکیج، اور GHCR سے Docker images شامل ہیں، جس میں الگ "tools" اور "base" امیجز ہیں۔ ریپوزٹری اپنے docs فولڈر میں CI/CD اور pre-commit انٹیگریشن کی بھی دستاویزات فراہم کرتی ہے۔
AI فیچرز اختیاری ہیں اور ڈیفالٹ طور پر بند ہوتے ہیں، جس کے لیے Anthropic Claude یا OpenAI GPT سے صارف کی فراہم کردہ API key کی ضرورت ہوتی ہے۔ انہیں ai extra کے ذریعے انسٹال کیا جاتا ہے اور وہ پیٹرن تجزیہ کے ساتھ اعلیٰ سطح کا خلاصہ، رسک درجہ بندی کے ساتھ انٹرایکٹو اصلاح تجاویز، اور پوسٹ-فکس خلاصہ فراہم کر سکتے ہیں۔ بقیہ دستاویزات میں آغاز کرنا، کنفیگریشن، Docker کا استعمال، GitHub انٹیگریشن، pre-commit، تعاون کرنا، ٹربل شوٹنگ، پلس ایڈوانس ٹول تجزیہ، آرکیٹیکچر اور سیکیورٹی مواد شامل ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.