44 مستودعات
أدوات التدقيق (Linters)، والتنسيق، والتحليل الساكن لـ Swift.
Explore 44 awesome GitHub repositories matching part of an awesome list · أدوات جودة الكود. Refine with filters or upvote what's useful.
Rich is a comprehensive library for building sophisticated command-line interfaces and terminal applications. It provides a robust console formatting engine and a layout framework that enables developers to render rich text, syntax-highlighted code, and complex data structures directly in the terminal. By utilizing a recursive constraint-based layout engine, the library allows for the creation of hierarchical grids, panels, and trees that maintain their structure even as terminal dimensions change. What distinguishes the library is its ability to manage persistent, real-time terminal interfac
Library for rich terminal text and formatting.
Prettier is an opinionated code formatter that parses source code and reprints it from scratch to enforce a consistent, project-wide visual style. By transforming code into an abstract syntax tree and applying a recursive document printing process, it eliminates manual style debates and ensures that all source files adhere to a unified appearance. The project is distinguished by its extensible, plugin-based architecture, which decouples language-specific parsing logic from the core engine. This modular design allows for uniform style enforcement across diverse programming languages and comple
Opinionated multi-language code formatter.
هذا المشروع عبارة عن منسق كود حتمي لا يساوم لـ Python. يعمل عن طريق تحليل الكود المصدري إلى شجرة بناء جملة مجردة وإعادة إنشائه وفقاً لمجموعة صارمة ومحددة من قواعد الأسلوب. من خلال أتمتة عملية التنسيق، فإنه يلغي نقاشات الأسلوب اليدوية وعبء الإعداد، مما يضمن بقاء الكود متسقاً عبر المشاريع بأكملها بغض النظر عن الإدخال الأصلي. تتميز الأداة بتركيزها على السرعة والتكامل السلس في سير عمل التطوير. تستخدم التخزين المؤقت للملفات القائم على المحتوى والمعالجة المتوازية للحفاظ على أداء عالٍ في قواعد الكود الكبيرة، مع دعم خطافات التحكم في الإصدار لفرض اتساق الأسلوب قبل الالتزام بالكود. للحفاظ على تاريخ المشروع، توفر آليات لتجاهل التزامات معينة في تتبع اللوم للتحكم في الإصدار، مما يضمن أن تغييرات الأسلوب المؤتمتة لا تحجب التأليف الأصلي. إلى جانب ملفات المصدر القياسية، توسع الأداة قدراتها لتشمل دفاتر Jupyter، وملفات تعريف النوع، وأمثلة الكود المضمنة داخل التوثيق. توفر توافقاً واسعاً من خلال إضافات لمحررات النصوص الرئيسية وبيئات التطوير المتكاملة، بالإضافة إلى دعم بروتوكول خادم اللغة. تُدار الإعدادات من خلال ملفات على مستوى المشروع يتم اكتشافها تلقائياً داخل هرمية المجلدات، مما يسمح بسلوك متسق عبر بيئات التطوير المتنوعة.
Formats Python code automatically.
هذا المشروع عبارة عن أداة تحليل استاتيكي ومدقق مصمم لتحسين جودة وموثوقية وقابلية نقل نصوص الصدفة (shell scripts). من خلال إجراء تحليل هيكلي عميق، فإنه يحدد مخاطر البرمجة الشائعة، وأخطاء بناء الجملة، والثغرات الأمنية قبل تنفيذ النصوص. يعمل كمراجع كود مؤتمت يفرض أفضل الممارسات ويساعد المطورين في الحفاظ على كود متسق وقوي عبر بيئات تشغيل مختلفة. تتميز الأداة بحل القواعد النحوية الواعي باللهجة، والذي يكيف منطق التحليل الخاص به بناءً على مترجم الصدفة المحدد المكتشف. تستخدم محركاً متطوراً يبني شجرة بناء جملة مجردة لتقييم المنطق، والاقتباس، ومخاوف القابلية للنقل. يمكن للمطورين ممارسة تحكم دقيق في عملية التحليل باستخدام توجيهات مضمنة لقمع تحذيرات معينة أو تكوين كيفية حل الأداة لملفات المصدر الخارجية. يغطي المشروع سطحاً شاملاً من قدرات التشخيص، بدءاً من التحقق الأساسي من بناء الجملة وصولاً إلى فحوصات المنطق المعقدة. يوفر توجيهاً حول بناء النصوص الاصطلاحي، بما في ذلك التعامل الآمن مع الملفات، والعمليات الحسابية الفعالة، والاستبدال المناسب للأوامر. تضمن هذه الميزات مجتمعة التزام النصوص بمعايير POSIX وبقائها متوافقة عبر تطبيقات الصدفة المختلفة. يتم توزيع الأداة كأداة سطر أوامر، مما يسمح بالتكامل في سير عمل التطوير لتوفير ملاحظات فورية حول سلامة النص.
Analyzes shell scripts for errors.
Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style guide. It functions as a static code analyzer that scans source code for style violations and potential errors without executing the program. The project provides an automatic code fixer that rewrites source code to resolve formatting issues and enforce syntax consistency. It implements a standardized set of rules for JavaScript formatting and syntax to ensure a uniform appearance across different projects. The system covers a wide range of static analysis capabilities, includi
JavaScript style guide with built-in linter and auto-fixer.
Pydantic هي مكتبة للتحقق من صحة البيانات وإطار عمل للتحليل لـ Python. تعمل كمدقق مخطط يعتمد على النوع يستخدم تعليقات النوع القياسية في Python لضمان توافق بيانات الإدخال مع المخططات الهيكلية المحددة مسبقاً. يوفر المشروع قدرات لتحليل البيانات الخام إلى كائنات مكتوبة من خلال التحويل التلقائي للنوع والتحقق من الصحة. يتضمن ذلك تسلسل البيانات والتحقق من هياكل البيانات لفرض الصواب. يغطي إطار العمل العديد من مجالات التطبيق، بما في ذلك التحقق من طلبات API وإدارة إعدادات التطبيق. يسمح بتحويل التنسيقات الخام مثل JSON إلى كائنات Python مهيكلة.
Validates data using Python type hints.
This project is a static analysis engine designed to identify patterns, enforce coding standards, and automate code quality improvements in software projects. By parsing source code into structured abstract syntax trees, it enables deep programmatic inspection and the automated remediation of identified programming issues. The engine functions as a pluggable linting framework, allowing developers to extend its core capabilities through a modular architecture. Users can inject custom rules, parsers, and processors to support non-standard file formats or domain-specific logic. This extensibilit
Pluggable and configurable JavaScript linting utility.
mypy is a static type checker for Python that analyzes source code to detect type errors and inconsistencies without executing the program. It functions as a static analysis tool and type inference engine, providing a gradual typing system that allows type hints to be added to a codebase incrementally while maintaining compatibility with dynamic typing. The project distinguishes itself through a combination of performance and precision features. It utilizes a daemon-based incremental checking system and multi-process parallel analysis to manage large codebases, supported by binary cache persi
Optional static type checker for Python.
SwiftLint is a static analysis tool and code formatter designed to enforce consistent coding styles and identify semantic issues within Swift source code. It functions as a command-line utility that evaluates code against established conventions to ensure uniform structure and architectural standards across a project. The tool distinguishes itself through a custom linting engine that leverages compiler-integrated syntax analysis to perform deep inspections of code structure. Beyond simple pattern matching, it supports automated source code transformation to correct formatting violations and r
Enforces coding conventions and style guides.
Commitlint is a command-line utility designed to lint and validate Git commit messages against established conventions. By parsing commit messages into structured components, it ensures that project history remains consistent, which facilitates automated changelog generation and semantic versioning. The tool distinguishes itself through a schema-driven validation engine that supports custom rule definitions and plugin-based extensions. It enables standardized project governance by allowing teams to distribute and inherit shared configuration rule sets across multiple repositories, ensuring un
Enforces conventional commit message formatting.
Pre-commit is a framework for managing and executing automated tasks during the version control commit process. It functions as a configuration-driven utility that enforces project standards by running linters, formatters, and security scanners on staged files before they are committed to a repository. The system uses a centralized manifest to orchestrate these tasks, ensuring consistent developer tooling across teams. It distinguishes itself by provisioning isolated environments for each tool, which prevents dependency conflicts and ensures that all required versions are present. The framewo
Framework for managing pre-commit hooks.
lint-staged is a git pre-commit task runner that executes linters and formatters specifically on files staged in git. It functions as a staged file filter and a monorepo task orchestrator, identifying the correct configuration and working directory for files across multiple packages in a repository. The system automatically adds formatting changes back to the git stage after a successful task run. It uses a mechanism to match files in the git index against glob patterns to determine which tasks to execute and can automatically update git indices after formatting. The project covers sequentia
Runs linters on staged Git files.
pytest هو إطار عمل للاختبار لـ Python يوفر مشغل سطر أوامر لاكتشاف وتنفيذ مجموعات الاختبار. تم بناؤه على بنية معيارية تستخدم تأكيدات اللغة القياسية للتحقق من صحة الكود، حيث يقوم بفحص التعبيرات تلقائياً لتقديم تقارير فشل مفصلة دون الحاجة إلى طرق تأكيد متخصصة. يتميز إطار العمل بنظام حقن التبعية (dependency injection) الذي يدير منطق الإعداد والإنهاء عن طريق حل الموارد وحقنها تلقائياً في دوال الاختبار. كما يتميز ببنية إضافات قائمة على الخطافات (hook-based) تسمح بتخصيص عميق لدورة حياة الاختبار، بما في ذلك الجمع والتنفيذ وإعداد التقارير. يتم دعم هذه القدرات من خلال التقييم الديناميكي (parametrization)، الذي يولد حالات اختبار متعددة من تعريف واحد، والتخزين المؤقت للحالة المستمرة الذي يتيح إعادة تشغيل الاختبارات الفاشلة بشكل انتقائي عبر الجلسات. بعيداً عن نموذج التنفيذ الأساسي الخاص به، يقدم المشروع مجموعة شاملة من الأدوات لإدارة بيئات الاختبار، بما في ذلك التقاط المخرجات، وإدارة السجلات، والتحقق من التحذيرات. وهو يدعم سيناريوهات الاختبار المعقدة من خلال ميزات مثل إدارة الملفات المؤقتة، وتصحيح الكائنات (patching)، والقدرة على تنفيذ مجموعات الاختبار الموجودة من أطر عمل أخرى بشكل أصلي. تتم معالجة التكوين من خلال ملفات مركزية، مما يسمح بالتحكم الدقيق في اكتشاف الاختبار وتصفيته وسلوك التنفيذ. يتم توزيع المشروع كحزمة Python قياسية ويتضمن وثائق واسعة النطاق حول تكوينه ونظام الإضافات وواجهة سطر الأوامر.
Framework for writing and running Python tests.
Hadolint هي أداة تحليل استاتيكي مصممة للتحقق من صحة إعدادات بناء الحاويات. تعمل كماسح أمني ومدقق إعدادات، حيث تحلل تعليمات البناء إلى تنسيق مهيكل لتحديد الانحرافات عن معايير الأمان والكفاءة. تتميز الأداة بإجراء فحص عميق لأوامر الصدفة المضمنة. من خلال ترميز وتحليل هذه النصوص، تكتشف أخطاء البرمجة الشائعة والثغرات الأمنية التي قد تستمر بخلاف ذلك داخل صورة الحاوية. تدمج أدوات تحليل خارجية لتوفير تحقق متخصص لهذه الأوامر المضمنة، مما يضمن تقييم كل من هيكل الحاوية ومنطق التنفيذ. إلى جانب التحقق الأساسي من بناء الجملة، تدعم الأداة سير العمل المؤتمت من خلال تحديد إنشاء الطبقات غير الفعال وإعدادات التكوين غير الآمنة. تم تصميمها للتكامل في خطوط أنابيب التكامل والنشر المستمر لاكتشاف مشكلات التكوين قبل بناء الصور. يوفر المشروع واجهة سطر أوامر لتنفيذ هذه التدقيقات عبر تعريفات الحاوية.
Lints Dockerfiles and inline bash.
Stylelint هي أداة تحليل كود ثابت و linter لـ CSS واللغات الشبيهة بالأسلوب. تحدد الأخطاء، وتفرض اتفاقيات البرمجة، وتعمل كإضافة PostCSS للتحقق من صحة أوراق الأنماط أثناء خطوط أنابيب البناء. يتميز المشروع بدعم بناء الجمل غير القياسي، بما في ذلك تحليل المعالج المسبق لـ SCSS و Less، والقدرة على استخراج وتدقيق الأنماط المضمنة من JavaScript و HTML و template literals. يتميز بنظام إصلاح آلي يصحح برمجياً انتهاكات التصميم القابلة للإصلاح لضمان الاتساق. يوفر النظام بنية إضافات لإنشاء قواعد وتنسيقات مخصصة. يغطي مجموعة واسعة من قدرات ضمان الجودة، بما في ذلك منع بناء الجمل المهملة، والتحقق من خصوصية المحدد، وفرض أنماط التسمية واتفاقيات الأسلوب. تتم إدارة التكوين من خلال منطق دمج متسلسل يدعم الإعدادات المسبقة القابلة للمشاركة والتجاوزات الخاصة بالملف. الأداة متاحة عبر واجهة سطر أوامر، وواجهة برمجة تطبيقات برمجية، وتكاملات محرر مختلفة.
Modern CSS and style sheet linting tool.
Icecream is a Python debugging utility designed for inspecting variable values and execution flow during development. It provides a variable inspector that automatically labels values and attaches file and line number metadata to each output. The tool features a builtins injector that adds debugging functions to the global namespace, allowing for universal access across all project files without manual imports. It also includes an inline debugging tool that returns its arguments to the caller, enabling the insertion of inspection calls directly into active expressions without altering program
Debugging tool for inspecting code without print statements.
js-beautify is a web language beautifier and code formatter designed to standardize the layout and structure of JavaScript, HTML, and CSS files. It reorganizes source code into a consistent, readable style by applying configurable indentation and spacing rules. The project includes a utility for unpacking minified scripts, which transforms compressed or obfuscated JavaScript into a human-readable format. It provides a command-line interface for executing bulk code reformatting across multiple files. The tool supports customizable formatting rules and language-specific overrides, which can be
Beautifies JavaScript code.
SwiftFormat is a tool for the Swift language that functions as a code formatter, linter, and refactoring utility. It automatically applies consistent style rules and visual formatting to source files to ensure a uniform appearance across a project. The project differentiates itself by providing both a command-line interface for batch processing and an Xcode extension for integration directly into the development environment. It includes specialized capabilities for modernizing legacy API usage, simplifying language constructs, and inferring formatting options by analyzing an existing codebase
Formats Swift code automatically.
xo is a zero-configuration linting tool for JavaScript and TypeScript. It functions as a wrapper for the ESLint engine, providing a set of strict default rules and static analysis to enforce professional coding standards without requiring manual configuration files. The tool distinguishes itself by providing a zero-config runtime that automatically determines parser settings and linting rules at execution time. It includes a code style formatter to standardize indentation and syntax across all project files. The project covers automated error correction and source code formatting to eliminat
Opinionated JavaScript/TypeScript linter with sensible defaults.
Performs static analysis on C/C++ code.