awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

27 repositorios

Awesome GitHub RepositoriesStatic Type Checking

The use of a programming language's type system to verify API compatibility and correctness during compilation.

Distinct from Static Type Checking: The candidates are tied to specific languages like TypeScript or environment variables; this is a general architectural use of C++ static typing for API safety.

Explore 27 awesome GitHub repositories matching software engineering & architecture · Static Type Checking. Refine with filters or upvote what's useful.

Awesome Static Type Checking GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • wearehive/project-guidelinesAvatar de wearehive

    wearehive/project-guidelines

    29,458Ver en GitHub↗

    This project is a comprehensive set of architectural and coding standards for organizing and maintaining high-quality JavaScript applications. It provides a framework for JavaScript project best practices across the full software development lifecycle, establishing unified guidelines for project organization and development. The guidelines cover specific standards for REST API design, utilizing resource-oriented interfaces and standardized HTTP methods. It also includes a web accessibility standard focused on semantic HTML and automated audits, alongside a defined Git workflow standard for br

    Integrates static type checking into the development workflow to catch errors before execution.

    JavaScript
    Ver en GitHub↗29,458
  • rwaldron/idiomatic.jsR

    rwaldron/idiomatic.js

    25,712Ver en GitHub↗

    This project is a JavaScript style guide and a set of coding standards designed to ensure codebase consistency. It provides a collection of best practices for writing maintainable and idiomatic code, focusing on variable naming, type checking, and execution context. The project serves as a static analysis guide, offering frameworks and guidelines for using linters and automated tools to identify bugs and verify code correctness before deployment. It establishes standards for formatting, syntax, and variable declarations to standardize code style across a project. The scope of the project cov

    Implements type checking guidelines to verify variable consistency and prevent logic bugs.

    Ver en GitHub↗25,712
  • microsoft/frontend-bootcampAvatar de microsoft

    microsoft/frontend-bootcamp

    10,792Ver en GitHub↗

    Frontend Workshop from HTML/CSS/JS to TypeScript/React/Redux

    Teaches adding static type checking with TypeScript to catch errors during development.

    TypeScriptcsscss-in-jshtml
    Ver en GitHub↗10,792
  • phan/phanAvatar de phan

    phan/phan

    5,617Ver en GitHub↗

    Phan es un analizador estático y verificador de tipos para PHP que identifica errores e incompatibilidades de tipo sin ejecutar el código. Sirve como una puerta de calidad para pipelines de integración continua y una herramienta para verificar la seguridad de tipos, comprobando específicamente tipos de unión, genéricos y formas de array. El proyecto se distingue por el uso de un demonio en segundo plano y una implementación del Protocolo de Servidor de Lenguaje (LSP), que proporcionan diagnósticos y navegación en tiempo real dentro de los editores. También cuenta con un sistema de supresión basado en línea base que permite a los desarrolladores registrar errores existentes en un archivo de instantánea para centrarse exclusivamente en nuevas regresiones. El motor de análisis cubre una amplia gama de capacidades, incluyendo la detección de código muerto, la validación de compatibilidad de lenguaje a través de diferentes versiones de PHP y la inferencia de tipos de variables y plantillas. Admite análisis extensible a través de un sistema de plugins y proporciona correcciones de código automatizadas para un subconjunto de problemas detectados. Los usuarios pueden iniciar el proceso generando un archivo de configuración con niveles de rigor seleccionables para validar gradualmente su base de código.

    Check that assigned values and return types match a defined union of multiple possible types.

    PHP
    Ver en GitHub↗5,617
  • apache/groovyAvatar de apache

    apache/groovy

    5,446Ver en GitHub↗

    Groovy es un lenguaje de programación para la JVM y un framework de metaprogramación que proporciona un entorno compatible con Java para construir aplicaciones. Funciona como un lenguaje de scripting dinámico y una herramienta para crear lenguajes específicos de dominio (DSL), permitiendo la ejecución de scripts personalizados y la creación de mini-lenguajes especializados con una sintaxis concisa. El proyecto se distingue por su capacidad para modificar el comportamiento del programa y las definiciones de clases mediante metaprogramación tanto en tiempo de compilación como en tiempo de ejecución. Utiliza un modelo de tipado híbrido que combina la resolución dinámica de métodos con un chequeo de tipos estático opcional para equilibrar la flexibilidad y el rendimiento de ejecución. El lenguaje cubre una amplia gama de capacidades, incluyendo patrones de programación funcional, transformaciones de árboles de sintaxis abstracta (AST) y la integración directa de bibliotecas de Java. También incluye utilidades de seguridad para prevenir inyecciones SQL, asegurar el parsing de XML y garantizar un parsing seguro de datos estructurados. El sistema traduce la sintaxis de alto nivel a bytecode de la JVM para su ejecución en cualquier Java Virtual Machine compatible.

    Performs compile-time type validation to bypass dynamic dispatch and increase execution performance.

    Javaapachecompilerdynamic-typing
    Ver en GitHub↗5,446
  • torokmark/design_patterns_in_typescriptAvatar de torokmark

    torokmark/design_patterns_in_typescript

    5,430Ver en GitHub↗

    Este proyecto es una librería de patrones de diseño en TypeScript y guía de arquitectura. Proporciona una colección de patrones de arquitectura de software estándar de la industria implementados en TypeScript para demostrar la creación y comunicación de objetos. La librería sirve como referencia práctica para aplicar principios de diseño orientado a objetos, utilizando tipado estático para hacer cumplir los requisitos estructurales de estos patrones durante la fase de compilación. El contenido cubre la implementación de patrones creacionales para desacoplar la instanciación de objetos de la lógica de negocio, patrones estructurales para organizar clases y objetos en composiciones más grandes, y patrones de comportamiento para gestionar la comunicación de objetos y la distribución de responsabilidades.

    Uses the TypeScript type system to verify and enforce the structural correctness of design patterns at compile time.

    TypeScriptadapterbuildercommand
    Ver en GitHub↗5,430
  • crablang/crabAvatar de crablang

    crablang/crab

    5,090Ver en GitHub↗

    Crab es un lenguaje de programación de sistemas seguro para la memoria y un compilador ahead-of-time diseñado para software de alto rendimiento. Utiliza un sistema de tipos basado en reglas estrictas de propiedad y préstamo para evitar errores de acceso a memoria en tiempo de compilación. La cadena de herramientas incluye un generador de documentación automatizado que produce manuales de referencia técnica y guías de API mediante el análisis de anotaciones de código fuente estructuradas. También cuenta con una herramienta de gestión de dependencias para resolver grafos de bibliotecas externas y garantizar compilaciones de proyectos consistentes. El proyecto cubre la automatización de compilación de software, verificación de tipos estática y análisis estático de múltiples pasadas para verificar restricciones antes de generar binarios nativos de la máquina.

    Verifies data types during the compilation process to catch errors before runtime.

    Rust
    Ver en GitHub↗5,090
  • python/typeshedAvatar de python

    python/typeshed

    5,076Ver en GitHub↗

    Typeshed es una colección de definiciones de tipos estáticos y stubs para la biblioteca estándar de Python y paquetes de terceros. Sirve como un recurso estandarizado para analizadores estáticos y entornos de desarrollo integrados (IDE) para validar la corrección del código y proporcionar autocompletado basado en tipos sin modificar el código fuente original de las bibliotecas. El proyecto se centra en la creación y mantenimiento de archivos de pistas de tipo externos que separan las anotaciones de tipo de la implementación en tiempo de ejecución. Utiliza un sistema para versionar y mapear estos stubs a versiones específicas de paquetes en tiempo de ejecución para mantener la compatibilidad. El repositorio incluye una suite de validación para garantizar la precisión de estas definiciones. Esto cubre la validación de tiempo de ejecución a stub para identificar discrepancias entre tipos declarados y reales, verificación de la estructura de directorios y pruebas de regresión para evitar la reintroducción de errores de verificación de tipos conocidos.

    Provides the type definitions necessary for static analysis tools to verify API compatibility and code correctness without execution.

    Pythonpythonstubtypes
    Ver en GitHub↗5,076
  • google/pytypeAvatar de google

    google/pytype

    5,037Ver en GitHub↗

    Pytype es una herramienta de análisis de código estático y motor de inferencia de tipos para Python. Funciona como un analizador de tipos estático que detecta desajustes de tipos y verifica anotaciones de tipos sin requerir pistas manuales completas, sirviendo también como un generador de stubs de tipos para producir archivos de definición independientes. El proyecto se distingue por determinar automáticamente los tipos de variables y funciones mediante un análisis de patrones de código y asignaciones. Este motor de inferencia permite la verificación estructural del código y la generación de stubs de tipos que describen las interfaces de módulos y funciones. El sistema cubre operaciones amplias de análisis estático, incluyendo validación estructural de jerarquías de clases y llamadas a funciones, y seguimiento de símbolos para detectar errores de espacio de nombres y violaciones de acceso a atributos. También proporciona primitivas de verificación de tipos para aplicar anotaciones y un sistema de tipos capaz de modelar estructuras de datos complejas utilizando uniones y opcionales.

    Checks provided type hints against language standards to identify mismatches and logic errors.

    Pythonlinterpythonstatic-analysis
    Ver en GitHub↗5,037
  • cloudtools/troposphereAvatar de cloudtools

    cloudtools/troposphere

    4,942Ver en GitHub↗

    Troposphere es una biblioteca de Python para crear y validar programáticamente plantillas de infraestructura como código. Sirve como un generador para plantillas de AWS CloudFormation y OpenStack, permitiendo que los recursos en la nube se definan como objetos dentro de un lenguaje de programación de propósito general en lugar de a través de marcado JSON o YAML sin procesar. El proyecto se centra en la validación de recursos en la nube mediante la verificación de nombres de propiedades y tipos de datos durante el proceso de construcción de la plantilla. Este sistema identifica errores de configuración y campos obligatorios faltantes antes de que la infraestructura se exporte para su despliegue. La biblioteca cubre una amplia gama de modelado de infraestructura en la nube, incluida la definición de recursos de computación, almacenamiento, redes y seguridad. Proporciona utilidades para convertir estos objetos definidos programáticamente en formatos de exportación JSON o YAML estructurados.

    Uses the programming language type system to validate property names and data types during instantiation.

    Python
    Ver en GitHub↗4,942
  • google/closure-libraryAvatar de google

    google/closure-library

    4,896Ver en GitHub↗

    Closure Library es una librería estándar de JavaScript y un conjunto de herramientas diseñado para construir aplicaciones web a gran escala. Proporciona una colección de módulos de utilidad principales y APIs estandarizadas para simplificar la lógica de aplicación compleja y la gestión de estado. El proyecto está construido como un framework modular que utiliza un sistema de módulos basado en espacios de nombres para evitar la contaminación del ámbito global. Está diseñado específicamente para su uso con Closure Compiler para permitir la eliminación agresiva de código muerto y la minificación, reduciendo el tamaño final de entrega en producción. Para garantizar la fiabilidad en proyectos grandes, la librería utiliza anotaciones JSDoc para la verificación de tipos estáticos, validando los contratos de API antes de la ejecución. La librería cubre la compatibilidad entre navegadores mediante una capa de polyfills y detección de características. Proporciona una arquitectura estructurada para el desarrollo frontend empresarial, centrándose en un comportamiento consistente en diferentes entornos de navegador y contextos de ejecución, incluyendo Node.js.

    Employs JSDoc annotations for static type checking to verify API contracts before execution.

    JavaScript
    Ver en GitHub↗4,896
  • microsoft/typescript-handbookAvatar de microsoft

    microsoft/TypeScript-Handbook

    4,855Ver en GitHub↗

    Este proyecto es una guía completa y recurso educativo para el lenguaje TypeScript. Cubre los principios fundamentales del lenguaje, incluyendo su sistema de tipos estructural, análisis de tipos estáticos y el proceso de transpilación de archivos fuente tipados a JavaScript. El material detalla cómo modelar datos complejos y lógica de tipos reutilizable utilizando genéricos, tipos condicionales y tipos mapeados. También explica el uso de archivos de declaración para proporcionar seguridad de tipos para librerías externas de JavaScript y la integración de verificación de tipos en proyectos de JavaScript existentes mediante anotaciones JSDoc. El alcance del contenido se extiende a patrones de programación orientada a objetos, manipulación del DOM y la configuración de comportamientos del compilador. Incluye orientación sobre la gestión de interoperabilidad de módulos, configuración de pipelines de construcción y utilización de inteligencia de editor para una mejor productividad del desarrollador.

    Enables static type checking of standard JavaScript files using JSDoc annotations.

    JavaScriptdocumentationlearntypescript
    Ver en GitHub↗4,855
  • scala-js/scala-jsAvatar de scala-js

    scala-js/scala-js

    4,701Ver en GitHub↗

    Scala.js es un compilador y cadena de herramientas de lenguaje multiplataforma que transforma código fuente de Scala en JavaScript o WebAssembly. Funciona como una herramienta tipada estáticamente para el ecosistema JavaScript, permitiendo el desarrollo de aplicaciones para navegadores web y entornos Node.js. El proyecto sirve como framework de interoperabilidad con JavaScript, permitiendo la creación de fachadas y bindings tipados de forma segura para interactuar con librerías externas y objetos globales. Proporciona mecanismos para la invocación de JavaScript tanto estática como dinámica, incluyendo la generación de bindings de TypeScript y la capacidad de exportar lógica interna para su uso en código JavaScript externo. La cadena de herramientas incluye una herramienta de construcción frontend para empaquetado de producción y optimización de salida, incluyendo eliminación de código muerto y división de módulos. Cubre una amplia superficie de capacidades, incluyendo verificación de tipos de elementos DOM para desarrollo de UI, intercambio de código multiplataforma para desarrollo full-stack y varios frameworks de pruebas para verificar artefactos de construcción optimizados. Los scripts compilados pueden ejecutarse directamente dentro de un entorno de línea de comandos utilizando un intérprete de JavaScript.

    Provides a statically typed development environment that verifies API compatibility and correctness for the JavaScript ecosystem.

    Scala
    Ver en GitHub↗4,701
  • strawberry-graphql/strawberryAvatar de strawberry-graphql

    strawberry-graphql/strawberry

    4,674Ver en GitHub↗

    Strawberry es una biblioteca GraphQL con tipado fuerte para Python que permite el diseño de esquemas utilizando anotaciones de tipo y dataclasses de Python. Funciona como un servidor GraphQL asíncrono y motor de ejecución, proporcionando un puente para exponer esquemas a través de frameworks web compatibles con ASGI como FastAPI, Django, Flask y Litestar. El proyecto implementa GraphQL Federation, permitiendo la creación de esquemas y entidades distribuidas que se fusionan en un supergrafo unificado a través de múltiples servicios. También incluye un kit de herramientas dedicado para la especificación Relay, soportando la identificación global de objetos y la paginación basada en conexiones. El framework cubre un amplio conjunto de capacidades, incluyendo streaming de datos en tiempo real mediante WebSockets y Server-Sent Events, mapeo de modelos Pydantic y generación automática de código. Proporciona herramientas integradas para seguridad y observabilidad, como limitación de complejidad de consultas, control de acceso basado en roles y rastreo de métricas de ejecución. Los desarrolladores pueden realizar prototipos utilizando un servidor de desarrollo integrado con una interfaz de inspección de esquemas interactiva.

    Validates schema definitions during development using a static analysis plugin to catch type errors.

    Pythonasgiasynciodjango
    Ver en GitHub↗4,674
  • remaxjs/remaxAvatar de remaxjs

    remaxjs/remax

    4,565Ver en GitHub↗

    Remax es un framework de UI multiplataforma y motor para construir mini programas usando React. Funciona como un runtime que traduce componentes y hooks de React a elementos nativos de mini programas, evitando la necesidad de compilación estática. El framework proporciona un entorno de desarrollo con tipado seguro para asegurar la fiabilidad a través de componentes de UI multiplataforma. Permite la creación de mini programas multiplataforma desde un único código base mapeando árboles de componentes React a estructuras nativas durante la ejecución. El sistema cubre el desarrollo de mini programas multiplataforma, incluyendo la construcción de UI con hooks funcionales y verificación de tipos estáticos para reducir errores en tiempo de ejecución.

    Applies static type checking during development to ensure reliability and reduce runtime errors across components.

    TypeScript
    Ver en GitHub↗4,565
  • luals/lua-language-serverAvatar de LuaLS

    LuaLS/lua-language-server

    4,298Ver en GitHub↗

    lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto

    Analyzes variable and function types to detect potential mismatches before the code is executed.

    Luahacktoberfestlanguage-serverlpeg
    Ver en GitHub↗4,298
  • cch123/golang-notesAvatar de cch123

    cch123/golang-notes

    4,032Ver en GitHub↗

    Este proyecto es una referencia técnica y una colección de notas de análisis interno centradas en el runtime y compilador del lenguaje Go. Proporciona un desglose detallado de los aspectos internos del lenguaje, cubriendo la gestión de memoria, la recolección de basura (garbage collection) y el modelo de ejecución del programador. El material se distingue por proporcionar inmersiones profundas en detalles del sistema de bajo nivel, incluyendo una referencia para instrucciones de ensamblador de Go, uso de registros e interfaz de llamadas al sistema. Analiza específicamente la implementación interna de primitivas de concurrencia, como el mecanismo de programación de goroutines, operaciones de canales e implementaciones de bloqueos de mutex. La cobertura se extiende a la teoría de construcción de compiladores, incluyendo análisis léxico y sintáctico, así como la mecánica del sistema de tipos y la gestión de interfaces. También detalla varias técnicas de optimización de rendimiento, utilidades de diagnóstico de runtime para rastreo de pila (stack tracing) y primitivas de E/S de red.

    Analyzes the compiler's ability to verify type consistency and variable scope during compilation.

    HTMLcodegogolang
    Ver en GitHub↗4,032
  • sorbet/sorbetAvatar de sorbet

    sorbet/sorbet

    3,790Ver en GitHub↗

    Sorbet is a static analysis tool and type checker designed for Ruby codebases. It identifies type inconsistencies, potential bugs, and logic errors by examining source code without execution, helping to improve software reliability and maintainability in large-scale projects. The system employs a constraint-based type inference engine that evaluates expressions against defined annotations to validate data structures. To support rapid development, it utilizes incremental analysis and caching to provide feedback by processing only modified files and their dependencies. Beyond static analysis,

    Provides a static type checker that identifies type inconsistencies and enforces safety rules in Ruby codebases.

    Ruby
    Ver en GitHub↗3,790
  • flowtype/flow-typedAvatar de flowtype

    flowtype/flow-typed

    3,759Ver en GitHub↗

    flow-typed is a type definition manager, repository, and library designed to enable static type checking for third-party JavaScript libraries. It provides a curated collection of external type declarations that allow Flow projects to maintain type safety and error detection for non-typed dependencies. The project centers on a command-line interface used to install and update library type definitions from a remote source. This manager resolves compatible type versions based on a project's dependencies and maps them to local directories for use by a static type checker. Beyond type checking, t

    Enables static analysis and error detection in Flow projects by adding type definitions for third-party libraries.

    JavaScript
    Ver en GitHub↗3,759
  • khronosgroup/vulkan-hppAvatar de KhronosGroup

    KhronosGroup/Vulkan-Hpp

    3,633Ver en GitHub↗

    Vulkan-Hpp is a header-only C++ binding library for the Vulkan graphics and compute API. It provides a type-safe wrapper around the Vulkan C API, allowing developers to interface with GPU hardware through a C++ interface that introduces no runtime CPU overhead. The library utilizes Resource Acquisition Is Initialization patterns to manage the lifecycle of Vulkan handles and objects, automating the release of GPU resources. It replaces C-style enumerations and bit-fields with strong typing and static type checking to catch invalid API parameter assignments during compilation. The project cove

    Leverages the C++ type system to validate API compatibility during compilation instead of at runtime.

    C++cppvulkan
    Ver en GitHub↗3,633
Ant.12Siguiente
  1. Home
  2. Software Engineering & Architecture
  3. Static Type Checking

Explorar subetiquetas

  • Bidirectional Type CheckingType checking that propagates type information in both directions between expressions and their expected types. **Distinct from Static Type Checking:** Specializes static type checking by focusing on the bidirectional propagation of type information during analysis.
  • JSDoc Type AnnotationsUsing JSDoc comments to provide static type information for JavaScript code. **Distinct from Static Type Checking:** Specifically uses JSDoc annotations for type checking in JavaScript, whereas the parent is a general architectural concept.
  • Ruby Type CheckersStatic analysis tools designed to verify type consistency and safety in Ruby codebases. **Distinct from Static Type Checking:** Distinct from general static type checking: focuses specifically on the Ruby language ecosystem and its type annotation standards.