44 repositorios
Linters, formateadores y herramientas de análisis estático para Swift.
Explore 44 awesome GitHub repositories matching part of an awesome list · Herramientas de calidad de código. 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.
Este proyecto es un formateador de código determinista e intransigente para Python. Funciona analizando el código fuente en un árbol de sintaxis abstracta y regenerándolo de acuerdo con un conjunto rígido y opinado de reglas de estilo. Al automatizar el proceso de formato, elimina los debates manuales sobre estilo y la sobrecarga de configuración, asegurando que el código permanezca consistente en proyectos completos independientemente de la entrada original. La herramienta se distingue por su enfoque en la velocidad y la integración fluida en los flujos de trabajo de desarrollo. Utiliza el almacenamiento en caché de archivos basado en contenido y el procesamiento paralelo para mantener un alto rendimiento en grandes bases de código, mientras admite ganchos de control de versiones para aplicar la consistencia de estilo antes de que se confirme el código. Para preservar el historial del proyecto, proporciona mecanismos para ignorar confirmaciones específicas en el seguimiento de autoría del control de versiones, asegurando que los cambios de estilo automatizados no oscurezcan la autoría original. Más allá de los archivos fuente estándar, el formateador extiende sus capacidades para incluir cuadernos Jupyter, stubs de tipo y ejemplos de código incrustados dentro de la documentación. Ofrece una amplia compatibilidad a través de complementos para los principales editores de texto y entornos de desarrollo integrados, así como soporte para el protocolo de servidor de lenguaje. La configuración se gestiona a través de archivos a nivel de proyecto que se descubren automáticamente dentro de la jerarquía de directorios, lo que permite un comportamiento consistente en diversos entornos de desarrollo.
Formats Python code automatically.
Este proyecto es una herramienta de análisis estático y linter diseñado para mejorar la calidad, fiabilidad y portabilidad de los scripts de shell. Al realizar un análisis estructural profundo, identifica errores comunes de programación, errores de sintaxis y vulnerabilidades de seguridad antes de que se ejecuten los scripts. Funciona como un revisor de código automatizado que aplica las mejores prácticas y ayuda a los desarrolladores a mantener un código consistente y robusto en diferentes entornos operativos. La herramienta se distingue por su resolución gramatical consciente del dialecto, que adapta su lógica de análisis según el intérprete de shell específico detectado. Utiliza un motor sofisticado que construye un árbol de sintaxis abstracta para evaluar la lógica, las comillas y las preocupaciones de portabilidad. Los desarrolladores pueden ejercer un control granular sobre el proceso de análisis utilizando directivas en línea para suprimir advertencias específicas o configurar cómo la herramienta resuelve los archivos fuente externos. El proyecto cubre una superficie integral de capacidades de diagnóstico, que van desde la validación fundamental de sintaxis hasta comprobaciones lógicas complejas. Proporciona orientación sobre la construcción idiomática de scripts, incluyendo el manejo seguro de archivos, operaciones aritméticas eficientes y la sustitución adecuada de comandos. Estas características aseguran colectivamente que los scripts se adhieran a los estándares POSIX y permanezcan compatibles en varias implementaciones de shell. La herramienta se distribuye como una utilidad de línea de comandos, lo que permite la integración en flujos de trabajo de desarrollo para proporcionar retroalimentación inmediata sobre la integridad del script.
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 es una biblioteca de validación de datos y un framework de análisis para Python. Funciona como un validador de esquemas basado en tipos que utiliza anotaciones de tipo estándar de Python para garantizar que los datos de entrada se ajusten a esquemas estructurales predefinidos. El proyecto proporciona capacidades para analizar datos sin procesar en objetos tipados mediante la conversión y validación automática de tipos. Esto incluye la serialización de datos y la validación de estructuras de datos para garantizar la corrección. El framework cubre varias áreas de aplicación, incluyendo la verificación de solicitudes de API y la gestión de configuraciones de aplicaciones. Permite la transformación de formatos sin procesar como JSON en objetos estructurados de 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 es un marco de pruebas para Python que proporciona un ejecutor de línea de comandos para descubrir y ejecutar conjuntos de pruebas. Está construido sobre una arquitectura modular que utiliza aserciones de lenguaje estándar para verificar la corrección del código, inspeccionando automáticamente las expresiones para proporcionar informes de fallos detallados sin requerir métodos de aserción especializados. El marco se distingue por un sistema de inyección de dependencias que gestiona la lógica de configuración y limpieza resolviendo e inyectando automáticamente recursos en las funciones de prueba. También cuenta con una arquitectura de complementos basada en ganchos (hooks) que permite una personalización profunda del ciclo de vida de la prueba, incluida la recopilación, la ejecución y la generación de informes. Estas capacidades están respaldadas por la parametrización dinámica, que genera múltiples instancias de prueba a partir de una sola definición, y el almacenamiento en caché de estado persistente que permite volver a ejecutar selectivamente las pruebas fallidas entre sesiones. Más allá de su modelo de ejecución central, el proyecto ofrece un conjunto completo de herramientas para gestionar entornos de prueba, incluida la captura de salida, la gestión de registros y la validación de advertencias. Admite escenarios de prueba complejos a través de funciones como la gestión de archivos temporales, la aplicación de parches a objetos y la capacidad de ejecutar conjuntos de pruebas existentes de otros marcos de forma nativa. La configuración se maneja a través de archivos centralizados, lo que permite un control detallado sobre el descubrimiento, el filtrado y el comportamiento de ejecución de las pruebas. El proyecto se distribuye como un paquete estándar de Python e incluye documentación extensa sobre su configuración, sistema de complementos e interfaz de línea de comandos.
Framework for writing and running Python tests.
Hadolint es una herramienta de análisis estático diseñada para validar configuraciones de construcción de contenedores. Funciona como un escáner de seguridad y auditor de configuración, analizando las instrucciones de construcción en un formato estructurado para identificar desviaciones de los estándares de seguridad y eficiencia. La herramienta se distingue por realizar una inspección profunda de los comandos de shell incrustados. Al tokenizar y analizar estos scripts, detecta errores de scripting comunes y vulnerabilidades de seguridad que de otro modo podrían persistir dentro de una imagen de contenedor. Integra herramientas de análisis externas para proporcionar una validación especializada para estos comandos en línea, asegurando que tanto la estructura del contenedor como la lógica de ejecución sean evaluadas. Más allá de la verificación básica de sintaxis, la utilidad admite flujos de trabajo automatizados al identificar la creación ineficiente de capas y configuraciones de seguridad inseguras. Está diseñada para la integración en tuberías de integración y despliegue continuos para detectar problemas de configuración antes de que se construyan las imágenes. El proyecto proporciona una interfaz de línea de comandos para ejecutar estas auditorías en todas las definiciones de contenedores.
Lints Dockerfiles and inline bash.
Stylelint es una herramienta de análisis de código estático y linter para CSS y lenguajes similares a estilos. Identifica errores, aplica convenciones de codificación y opera como un plugin de PostCSS para validar hojas de estilo durante los pipelines de compilación. El proyecto se distingue por su soporte para sintaxis no estándar, incluyendo el análisis de preprocesadores para SCSS y Less, y la capacidad de extraer y lintar estilos incrustados de JavaScript, HTML y literales de plantilla. Cuenta con un sistema de corrección automatizado que corrige programáticamente las violaciones de estilo reparables para garantizar la consistencia. El sistema proporciona una arquitectura de plugins para crear reglas, sintaxis y formateadores personalizados. Cubre una amplia gama de capacidades de garantía de calidad, incluyendo la prevención de sintaxis obsoleta, validación de especificidad de selectores y la aplicación de patrones de nomenclatura y convenciones estilísticas. La configuración se gestiona a través de una lógica de fusión en cascada que admite preajustes compartibles y anulaciones específicas de archivos. La herramienta es accesible a través de una interfaz de línea de comandos, una API programática y varias integraciones de editor.
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.