عن المشروع

Lintro هي أداة سطر أوامر توحد مجموعة كبيرة من أدوات تنسيق الكود، والتدقيق (linting)، وفحص الأنواع، والأدوات الأمنية خلف واجهة واحدة. تم نشرها بموجب رخصة MIT وتتطلب Python 3.11 أو أحدث لحزمة Python، على الرغم من توفر حزمة Node مستقلة بذاتها. تركز البداية السريعة على أمرين: "lintro check" (الاسم المستعار "chk") للعثور على المشكلات، و "lintro format" (الاسم المستعار "fmt") لإصلاحها. تشمل الأوامر الإضافية "lintro badge" للحصول على شارة عدد المشكلات من shields.io، و "lintro list-tools" لعرض الأدوات المتاحة، و "lintro init" و "lintro doctor" للإعداد وفحوصات الحالة، و "lintro install --profile recommended" لتوفير الأدوات. يمكن عرض النتائج بتنسيقات متعددة: grid و JSON و HTML و CSV و Markdown، مع خيارات مثل --output-format grid، و --group-by file، و --tools لاختيار أدوات محددة، و --exclude للمجلدات، و --auto-install للأدوات القائمة على Node، و --diff لحصر الفحوصات في الملفات التي تم تغييرها مقابل مرجع git. يسرد ملف README مصفوفة أدوات واسعة مقسمة إلى أدوات التدقيق (linters)، وأدوات التنسيق (formatters)، وأدوات تقوم بكليهما، وفاحصات الأنواع، والماسحات الأمنية، وأدوات الذكاء الاصطناعي. تشمل الأمثلة Actionlint و Clippy و commitlint و Cppcheck و golangci-lint و Hadolint و html-validate و Markdownlint-cli2 و Vale و Oxlint و pylint و ShellCheck و Spectral و Yamllint للتدقيق؛ و Black و Oxfmt و Prettier و shfmt و rustfmt للتنسيق؛ و Ruff و SQLFluff و Taplo و dotenv-linter و Stylelint و typos للتدقيق والتنسيق معاً؛ و 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"، لذا لا تحتاج إلى تثبيت منفصل. تهدف الإعدادات إلى تجنب أعمال الهجرة: يتم اكتشاف واحترام التكوينات الأصلية الموجودة مثل .prettierrc أو pyproject.toml [tool.ruff] أو .yamllint، بينما يمكن فرض الإعدادات المشتركة باستمرار واستخدام افتراضيات معقولة عند عدم وجود تكوين أصلي. تصف الوثائق نظام تكوين مكون من خمس طبقات. تتبع أدوات Node.js ترتيب دقة محدد: أولاً node_modules/.bin الخاص بالمشروع المستهدف، ثم ملف ثنائي على PATH، ثم جلب نسخة محددة عبر bunx/npx. تشمل خيارات التثبيت uv pip أو pip install (خفيفة أو مع الإضافة الكاملة full)، و Homebrew tap، وحزمة bun/npm عالمية، وصور Docker من GHCR، مع صور منفصلة لـ "tools" و "base". كما توثق المستودع تكامل CI/CD و pre-commit في مجلد docs الخاص بها. ميزات الذكاء الاصطناعي اختيارية ومعطلة افتراضياً، وتتطلب مفتاح API يقدمه المستخدم من Anthropic Claude أو OpenAI GPT. يتم تثبيتها من خلال إضافة ai ويمكنها تقديم ملخص رفيع المستوى مع تحليل للأنماط، واقتراحات إصلاح تفاعلية مع تصنيف للمخاطر، وملخص ما بعد الإصلاح. تغطي بقية الوثائق كيفية البدء، والتكوين، واستخدام Docker، وتكامل GitHub، و pre-commit، والمساهمة، واستكشاف الأخطاء وإصلاحها، بالإضافة إلى تحليل الأدوات المتقدم، والبنية التحتية، ومواد الأمن.