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
·
peripheryapp avatar

peripheryapp/periphery

0
View on GitHub↗
6,145 estrellas·230 forks·Swift·MIT·3 vistas

Periphery

Periphery es una herramienta de análisis estático y detección de código muerto para proyectos Swift. Identifica clases, structs, funciones y propiedades sin referencias, y actúa como un optimizador de la superficie de API para encontrar declaraciones públicas que pueden restringirse a acceso interno.

La herramienta incluye un escaneo especializado para archivos de Interface Builder, como storyboards y XIBs, para asegurar que los miembros conectados a la UI no sean marcados incorrectamente como no utilizados. También proporciona eliminación automática de código para eliminar código muerto y parámetros no utilizados directamente de los archivos fuente.

Sus capacidades de análisis cubren la detección de protocolos redundantes, casos de enum no utilizados, importaciones innecesarias y propiedades que solo se asignan. El sistema gestiona la deuda técnica mediante filtrado de comparación de línea base y soporta proyectos en lenguajes mixtos preservando los símbolos expuestos al runtime de Objective-C.

Periphery se integra con sistemas de compilación y pipelines de CI utilizando configuración basada en YAML y puede exportar los resultados del análisis en múltiples formatos estándar de la industria.

Features

  • Dead Code Cleanup - Statically analyzes Swift projects to identify unreferenced classes, structs, functions, and properties.
  • Call Graph Traversals - Identifies unreferenced symbols by building and traversing a dependency graph of declarations and their call sites.
  • Unused Code Identification - Uses binary index store data to identify unused code without requiring a full project rebuild.
  • Swift Linters - Provides static analysis of Swift project graphs to find redundant declarations and unused imports.
  • Compiler Index Store Integration - Processes binary index stores from the Swift compiler to efficiently determine symbol usage.
  • Interface Builder Parsing - Scans Storyboard and XIB files to ensure UI-connected members are not incorrectly flagged as unused.
  • Redundant Accessibility Detection - Identifies declarations marked public that are never referenced from outside their home module.
  • Accessibility Level Analysis - Swift Unused Code Detector identifies public declarations that can be made private because they are only used internally.
  • API Surface Reduction - Identifies public declarations that can be restricted to internal access to optimize the module's API surface.
  • Dead Code Removal - Automatically removes identified dead code and unused parameters directly from Swift source files.
  • Interface Builder Analyzers - Parses XIB and storyboard files to ensure UI-connected members are not incorrectly flagged as unused.
  • Mixed-Language Project Support - Retains declarations accessible to the runtime to prevent false positives in multi-language codebases.
  • Assign-Only Property Detection - Identifies properties that are assigned values but never read, including those in structs with synthesized initializers.
  • Redundant Protocol Detection - Identifies protocols that are conformed to but never used as existential types or for generic specialization.
  • Runtime Interop Analysis - Preserves symbols exposed to the Objective-C runtime to prevent false positives in mixed-language projects.
  • Synthesized Code Handling - Preserves properties on types with compiler-generated code to avoid marking synthesized members as unused.
  • Unused Enum Case Detection - Identifies individual cases within non-raw-representable enumerations that are never referenced.
  • Unused Import Detection - Identifies import statements that are not required by any declaration in the source file.
  • Unused Parameter Detection - Identifies parameters in functions, protocols, and overridden methods that are never accessed.
  • Baseline-Based Debt Management - Provides a mechanism to track known unused code in a baseline file to isolate new regressions from legacy debt.
  • General Utilities - Identifies unused code in Swift projects.

Historial de estrellas

Gráfico del historial de estrellas de peripheryapp/peripheryGráfico del historial de estrellas de peripheryapp/periphery

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace peripheryapp/periphery?

Periphery es una herramienta de análisis estático y detección de código muerto para proyectos Swift. Identifica clases, structs, funciones y propiedades sin referencias, y actúa como un optimizador de la superficie de API para encontrar declaraciones públicas que pueden restringirse a acceso interno.

¿Cuáles son las características principales de peripheryapp/periphery?

Las características principales de peripheryapp/periphery son: Dead Code Cleanup, Call Graph Traversals, Unused Code Identification, Swift Linters, Compiler Index Store Integration, Interface Builder Parsing, Redundant Accessibility Detection, Accessibility Level Analysis.

¿Qué alternativas de código abierto existen para peripheryapp/periphery?

Las alternativas de código abierto para peripheryapp/periphery incluyen: jendrikseipp/vulture — Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python… crate-ci/typos — Typos is a source code spell checker and automated typo fixer designed to detect and correct spelling errors across… go-task/task — Task is a YAML-based task runner and build tool used to define and automate development workflows. It functions as a… squizlabs/php_codesniffer — PHP_CodeSniffer is a static analysis tool, coding standard linter, and command-line validator for PHP. It scans files… checkstyle/checkstyle — Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best… pycqa/pylint — Pylint is a static code analysis tool for Python that checks source code for errors, coding standard violations, and…

Alternativas open-source a Periphery

Proyectos open-source similares, clasificados según cuántas características comparten con Periphery.
  • jendrikseipp/vultureAvatar de jendrikseipp

    jendrikseipp/vulture

    4,655Ver en GitHub↗

    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

    Pythondead-code-removalpython
    Ver en GitHub↗4,655
  • crate-ci/typosAvatar de crate-ci

    crate-ci/typos

    4,002Ver en GitHub↗

    Typos is a source code spell checker and automated typo fixer designed to detect and correct spelling errors across programming languages and project files. It functions as a CI spelling validator and SARIF compatible linter, allowing projects to prevent misspelled text from reaching production. The tool features a customizable dictionary engine that utilizes TOML configuration and locale-specific dictionaries to manage project-specific terminology. It differentiates itself by splitting programming language identifiers into individual words for validation and verifying the spelling of filenam

    Rust
    Ver en GitHub↗4,002
  • go-task/taskAvatar de go-task

    go-task/task

    15,721Ver en GitHub↗

    Task is a YAML-based task runner and build tool used to define and automate development workflows. It functions as a dependency-based build system and cross-platform task automator, allowing users to execute shell commands across different operating systems using a declarative configuration file. The project operates as an incremental build tool, utilizing file fingerprints and checksums to track state and avoid redundant work by determining if tasks are up to date. It manages execution via a dependency graph to ensure prerequisites are completed before target commands run. The system includ

    Go
    Ver en GitHub↗15,721
  • checkstyle/checkstyleAvatar de checkstyle

    checkstyle/checkstyle

    8,867Ver en GitHub↗

    Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement

    Javacode-qualitycommand-line-toolhacktoberfest
    Ver en GitHub↗8,867
  • Ver las 30 alternativas a Periphery→