23 مستودعات
Tools that parse code to identify structures and map them to tokens.
Distinguishing note: Focuses on the analysis aspect of the parsing engine.
Explore 23 awesome GitHub repositories matching software engineering & architecture · Static Code Analyzers. Refine with filters or upvote what's useful.
Awesome Copilot is a comprehensive framework for autonomous software development, providing the infrastructure to orchestrate multi-agent teams and automate complex coding workflows. It functions as a centralized platform for managing AI-driven development, enabling developers to deploy specialized agents that interact with local files, terminal commands, and external APIs to execute end-to-end software delivery tasks. The project distinguishes itself through its focus on governance and extensibility, offering a suite of security controls, policy-based execution guardrails, and audit trails t
Parses function signatures and type definitions to ensure generated code aligns with project logic.
YouCompleteMe is a completion engine and semantic code analyzer for the Vim editor. It provides an integrated suite of development tools, including a Language Server Protocol client and a semantic analyzer that utilizes Clang to offer context-aware symbols and type-based highlighting. The project distinguishes itself through specialized semantic completion for C-family languages and JavaScript, offering identifiers, snippets, and automatic imports. It provides advanced visual feedback such as inlay hints for type information and parameter names, as well as semantic highlighting based on the a
Utilizes Clang to perform deep static analysis of C-family source code for context-aware intelligence.
Highlight.js is a syntax highlighting library that automatically detects and applies color-coded styling to source code blocks within web pages. It functions as a language-agnostic formatting engine, utilizing a modular processor that applies consistent visual themes to diverse programming languages based on their specific grammatical rules. By decoupling the core parsing logic from language-specific definitions, the library provides a unified execution environment that operates without requiring internal knowledge of the target language. The project is distinguished by its modular architectu
Parses text input to identify programming language structures for improved readability.
Cheat Engine is a software reverse engineering suite and memory editor designed for the Windows environment. It functions as a comprehensive platform for inspecting, analyzing, and modifying the internal logic and data structures of running applications. The tool provides capabilities for real-time memory scanning and manipulation, allowing users to locate and alter specific values within a process's address space. It distinguishes itself through advanced debugging features, including hardware-assisted debugging, kernel-mode driver injection for bypassing memory protections, and dynamic binar
Dissects and inspects structures and methods within managed applications to facilitate targeted modifications.
This project is a static analysis framework and linting engine designed to inspect TypeScript codebases. It functions as a plugin suite that enables standard linting workflows to parse source code into abstract syntax trees, allowing for the automated enforcement of coding standards and the identification of potential bugs through a modular, rule-based visitor pattern. The engine distinguishes itself by integrating directly with the TypeScript compiler to perform type-aware analysis. By accessing compiler type information, it can identify complex errors and unsafe patterns that standard synta
Accesses the compiler type checker to identify nuanced bugs and best practice violations that require deep understanding of code structure.
Swift Evolution serves as the central governance and design platform for the Swift programming language. It provides a structured, collaborative framework for tracking, discussing, and managing the formal proposals and technical goals that define the language's syntax, semantics, and core features. By maintaining a comprehensive collection of design documentation, the project ensures the long-term stability and consistency of the language as it matures. The repository acts as the primary hub for the language's evolution, coordinating community feedback and technical decisions through a transp
Transforms raw syntax trees into fully checked representations to identify logical errors and validate type safety.
This project is a CommonJS module bundler and resolver designed to combine interdependent JavaScript files into a single script for execution in web browsers. It functions as a Node.js JavaScript bundler that emulates server-side core modules and resolves dependencies to ensure compatibility between server-side logic and browser environments. The system features an extensible bundling pipeline and a browser-side module resolver. It provides a plugin architecture for transforming source code and a source map generator to correlate bundled output back to original files for debugging. The proje
Allows specific dependencies to be excluded from the internal bundle to be loaded as separate external scripts.
Swag is a documentation tool for Go that generates standardized API specification files by parsing declarative annotations within source code. It functions by analyzing source files to extract metadata from comments and function signatures, transforming them into machine-readable formats such as JSON or YAML. This process ensures that technical documentation remains synchronized with the underlying code structure throughout the development lifecycle. The tool distinguishes itself through its ability to perform static source code parsing and type-system reflection, which allows it to map compl
Analyzes source code using abstract syntax trees to extract metadata without executing the application.
Nitro is a cross-platform server engine and JavaScript server framework designed to bundle backend code for deployment across diverse cloud providers, edge functions, and serverless environments. It functions as a platform-agnostic backend runtime that translates platform-specific event objects into a standardized request and response format. The project utilizes a file-system based router to map the physical directory structure of the server folder directly to URL endpoints. It employs a build process to generate platform-agnostic bundles, ensuring the same server logic can run across differ
Analyzes the dependency graph to separate shared logic from route-specific code to reduce final deployment size.
TypeResolver is a PHP namespace resolver and type parser designed to convert partial class and element names into fully qualified names. It functions as a utility for static code analysis, transforming complex type expressions and primitives into structured value objects. The project implements PSR-5 standards to ensure consistent type referencing. It manages the resolution of structural elements by tracking current namespaces and alias contexts to expand partial identifiers into their full definitions. The tool covers the parsing of compound type strings and the management of PHP imports an
Parses type expressions and compound strings into value objects for static analysis without execution.
Hatch is a unified tool for managing Python environments, building packages, scaffolding projects, and installing Python versions. It provides a single command-line interface for automating common development workflows, including running scripts, tests, and static analysis with automatic dependency resolution and configuration. The tool manages project settings, dependencies, and build instructions through a declarative TOML configuration file, ensuring reproducibility across environments. It creates and manages isolated virtual environments across all major shells, installs and manages multi
Analyzes code statically with Ruff using current, sensible default configurations.
TSLint is an extensible static analysis tool that checks TypeScript source files against a configurable set of lint rules. It scans code by walking the parsed TypeScript abstract syntax tree, applying rule objects to detect readability, maintainability, and functionality errors. The tool supports rule severity configuration, inline suppression through comment directives, and automatic attachment of fix objects for correcting violations. The project provides a framework for developing custom lint rules and formatters, allowing teams to enforce project-specific coding conventions beyond the bui
Scans TypeScript source code against configurable rules to catch errors and enforce coding standards.
Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code smells, and type-related issues without executing the program. It functions as a plugin-based linter framework, allowing users to extend its analysis capabilities with custom or third-party checks for project-specific rules and framework support. The tool also includes a duplicate code detector that identifies identical or near-identical code blocks across a project to help reduce redundancy. Beyond its core linting functionality, Pylint can generate UML class and package diagrams f
Scans Python source code for errors, coding standard violations, and code smells without executing the program.
Pylint هي أداة تحليل كود استاتيكي لـ Python تتحقق من الكود المصدري بحثاً عن الأخطاء، وانتهاكات معايير البرمجة، وروائح الكود دون تنفيذ البرنامج. تقوم بتحليل الكود إلى شجرة بناء جملة مجردة وتتجول في الشجرة لاكتشاف المشكلات، وتفرض قواعد أسلوب واتفاقيات تسمية قابلة للتكوين، وتحدد كتل الكود المكررة من خلال مقارنة تسلسلات المصدر المرمزة. تتضمن الأداة أيضاً محرك استنتاج يستنتج أنواع المتغيرات عن طريق محاكاة مسارات الكود، مما يتيح تحليلاً أعمق حتى في الكود غير المكتوب. ما يميز Pylint هو بنية المدقق القائمة على الإضافات، والتي تسمح للمستخدمين بتوسيع التحليل عن طريق تحميل وحدات Python خارجية تسجل مدققين مخصصين وقواعد استنتاج في وقت التشغيل. تدعم طبقات ملفات الإعدادات، ودمج الإعدادات من ملفات إعدادات متعددة ووسائط سطر الأوامر بحيث يمكن تجاوز الإعدادات الافتراضية على مستوى المشروع بواسطة خيارات محلية أو خاصة بالإضافات. يتتبع Pylint أيضاً جودة الكود بمرور الوقت من خلال مقارنة نتائج التحليل الحالية مقابل درجة أساسية مخزنة، والإبلاغ عن التحسن أو التراجع في التشغيلات المتتالية، ويمكنه توليد مخططات فئات وحزم UML من شجرة بناء الجملة المجردة بتنسيقات Graphviz أو PlantUML أو MermaidJS. تتكامل الأداة في خطوط أنابيب التكامل المستمر وخطافات ما قبل الالتزام لتشغيل الفحوصات عبر إصدارات مترجم Python متعددة تلقائياً. يمكن تثبيتها عبر pip أو conda أو مدير حزم النظام، وتوفر تدقيقاً إملائياً اختيارياً لمعرفات الكود من خلال مكتبة enchant. يوفر Pylint أيضاً تكاملاً للمحرر لبيئات مثل Emacs و TextMate، ويتضمن عارض شرح الرسائل الذي يطبع الوصف الكامل وسياق أي رمز تحذير أو خطأ محدد مباشرة من سطر الأوامر.
Checks Python source code for errors, coding standard violations, and code smells without execution.
Credo هي أداة تحليل ساكن ومدقق كود (linter) لـ Elixir. تعمل كمحلل لجودة الكود يقوم بمسح الكود المصدري لتحديد التناقضات الأسلوبية، والأخطاء الشائعة، والثغرات الأمنية المحتملة. توفر الأداة إطار عمل قابلاً للتخصيص لتعريف واختبار قواعد متخصصة لفرض معايير ترميز خاصة بالمشروع. تحدد أجزاء الكود المعقدة والتكرار لتسليط الضوء على فرص إعادة الهيكلة والتبسيط. تغطي إمكانياتها مراجعات الكود المؤتمتة، وفرض معايير ترميز Elixir، وردود الفعل الفورية للمطورين من خلال تكاملات المحرر.
Parses Elixir code to identify structures and map them to tokens for consistency and quality analysis.
gocode هو خادم لغة (language server) وخلفية لبرنامج الإكمال التلقائي للغة Go. يعمل كمحلل كود ثابت ومفهرس للرموز يوفر اقتراحات فورية للمعرفات والرموز لمحررات النصوص. يستخدم المشروع بنية خادم-عميل للحفاظ على عملية خلفية مستمرة، مما يتجنب عبء إعادة تحميل بيانات تعريف الحزمة لكل طلب. ويستخدم نظام تخزين مؤقت للبيانات الوصفية من مستويين ويقوم بتحليل ملفات الحزم المجمعة لتمكين عمليات بحث سريعة عن الرموز واسترجاع التعريفات. يغطي النظام مجالات واسعة من الإمكانيات بما في ذلك الإكمال التلقائي الحساس للسياق لحقول الأعضاء وتوقيعات الدوال والمتغيرات، بالإضافة إلى تنسيق الكود التلقائي. كما يدير تتبع النطاق المعجمي وحل الرموز المتكرر لضمان إكمال دقيق للأنواع والمتغيرات. تسمح الأدوات الإدارية بتكوين الخادم، والتحكم في الحالة، ووضع تصحيح الأخطاء مع سجلات مفصلة لمراقبة عملية الخلفية.
Tracks lexical scopes and resolves package imports to ensure accurate type and variable completions.
preact-cli هو أداة سطر أوامر للسقالات والتطوير وبناء التطبيقات باستخدام مكتبة Preact. يوفر خط أنابيب بناء قائم على Webpack لتنسيق تحويل الكود، وتحسين الأصول، وتجميع الإنتاج. تتضمن مجموعة الأدوات عارضًا مسبقًا للموقع الساكن لتحويل مسارات التطبيق إلى ملفات HTML ساكنة ومجموعة أدوات تطوير PWA لإنشاء عمال الخدمة والتخزين المؤقت للأصول دون اتصال. كما يعمل كخادم تطوير للواجهة الأمامية يتميز باستبدال الوحدة الساخن (hot module replacement) ووكيل لتكرار التطبيق في الوقت الفعلي. يغطي المشروع مجموعة واسعة من القدرات، بما في ذلك سقالات المشروع، وتحسين البناء من خلال تقسيم الكود التلقائي القائم على المسار، وتكامل خطوط أنابيب معالجة CSS المسبقة. كما يدعم إدارة متغيرات البيئة وتخصيص تكوينات البناء من خلال الإضافات والتجاوزات.
Implements automatic route-based code splitting to reduce the initial bundle size for faster page loads.
Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python source code. It operates as a dead code detector and unused code finder that scans source files to identify unreachable expressions and imports without executing the code. The tool employs a confidence-based heuristic scoring system to assign probability values to detections, helping to distinguish truly unused symbols from potential false positives. It further assists in pruning dead logic by sorting detected unused classes and functions by line count to prioritize the removal of
Scans source files for unreachable expressions and unused imports without executing the code.
هذا المشروع عبارة عن مرجع تقني ودليل لتحسين أداء تطبيقات Angular. يوفر قائمة مرجعية شاملة لتحسين السرعة والكفاءة من خلال التركيز على تحسين الحزم (bundle)، وأفضل ممارسات العرض، وتنفيذ وقت التشغيل. يغطي الدليل مجموعة واسعة من الميزات بما في ذلك تنفيذ استراتيجيات تطبيقات الويب التقدمية (PWA) من خلال عمال الخدمة (service workers) والتخزين المؤقت دون اتصال. كما يفصل طرق تحسين أوقات التحميل المتصورة باستخدام العرض من جانب الخادم (SSR) وأغلفة التطبيقات. يوفر المستودع توجيهاً حول مجالات إمكانيات أوسع مثل ضبط اكتشاف التغيير، واستخدام عمال الويب (web workers) لتفريغ الحسابات الثقيلة، وإدارة DOM عبر التمرير الافتراضي. كما يغطي تقليل حجم الحزمة من خلال التخلص من الكود غير المستخدم (tree-shaking)، والضغط، وتقسيم الوحدات بالتحميل الكسول.
Divides the application into smaller chunks that load only when specific routes are accessed.
after.js is a server-side rendering framework for React applications that integrates with React Router to coordinate data loading, routing, and hydration. It functions as both a rendering framework and a static site generator, capable of exporting pages as static HTML and JSON files for delivery via content delivery networks. The framework provides a server-side data fetching layer that populates component properties during the render process. It manages navigation through a system of status-code driven redirections and dynamic error handling, allowing the application to trigger redirects or
Defines lazy-loaded routes to divide application bundles into smaller chunks, reducing initial load times.