awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to ast-grep/ast-grep

Open-source alternatives to Ast Grep

30 open-source projects similar to ast-grep/ast-grep, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Ast Grep alternative.

  • comby-tools/combycomby-tools avatar

    comby-tools/comby

    2,657View on GitHub↗

    Comby is a command-line utility designed for structural code search and transformation across diverse programming languages. It functions as a code transformation engine that identifies and modifies source code patterns by utilizing syntax-aware templates, ensuring that operations respect language boundaries such as nested blocks, strings, and comments. The tool distinguishes itself by mapping various programming languages to a unified structural representation, allowing for consistent pattern matching that ignores irrelevant whitespace and formatting. It performs these operations by executin

    OCamlcgojava
    View on GitHub↗2,657
  • biomejs/gritqlbiomejs avatar

    biomejs/gritql

    4,530View on GitHub↗

    GritQL is an AST-based code transformation engine and structural search tool. It uses a declarative query language to identify and rewrite source code patterns across multiple programming languages by matching abstract syntax tree nodes rather than literal text. The system functions as an automated refactoring framework for large-scale migrations and API updates. It distinguishes itself by utilizing sequential transformation pipelines and reusable blueprints that can be synced between local environments and remote repositories. The tool covers a broad range of capabilities including static a

    Rustastcodemodjavascript
    View on GitHub↗4,530
  • phpstan/phpstanphpstan avatar

    phpstan/phpstan

    13,999View on GitHub↗

    This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code structure and type annotations to identify potential bugs, type mismatches, and logic errors without executing the application. By parsing code into an abstract syntax tree and applying a rule-based validation framework, it enforces code quality and safety standards across a project. What distinguishes this tool is its sophisticated type inference engine, which models dynamic language features, magic methods, and conditional types to maintain accuracy even in unconventional code. It

    PHPphpphp7phpstan
    View on GitHub↗13,999

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • analysis-tools-dev/static-analysisanalysis-tools-dev avatar

    analysis-tools-dev/static-analysis

    14,389View on GitHub↗

    This project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It serves as a central resource for developers to discover, compare, and select tools based on specific programming languages, licensing models, and integration requirements. The directory distinguishes itself by providing deep metadata for each listed utility, including community-driven popularity rankings, maintenance status, and deployment methods. By aggregating these tools into a single searchable index, it enables teams to identify solutions for enforcing coding standards, ma

    Rustanalysisawesome-listcode-quality
    View on GitHub↗14,389
  • babel/babelbabel avatar

    babel/babel

    44,009View on GitHub↗

    Babel is a pluggable JavaScript compiler and transpiler that converts modern ECMAScript syntax into backwards-compatible versions of the language. It functions as an abstract syntax tree manipulator, parsing source code into a hierarchical structure to traverse and modify nodes for custom code transformations. The system utilizes a plugin-driven architecture to apply specific transformation rules and supports presets that bundle multiple plugins into named configuration groups. This enables the transformation of experimental syntax and the injection of non-global polyfills to ensure consisten

    TypeScriptastbabelcompiler
    View on GitHub↗44,009
  • rectorphp/rectorrectorphp avatar

    rectorphp/rector

    10,199View on GitHub↗

    Rector is an automated PHP refactoring and modernization tool designed to upgrade language versions and modernize syntax using predefined rules. It functions as a static analysis engine that inspects code structures and types to identify refactoring targets without executing the code. The project provides a framework for defining custom transformation logic to automate project-specific changes. It distinguishes itself by offering specialized capabilities for migrating legacy or custom frameworks to modern alternatives and converting docblock annotations into native language attributes. The s

    PHPastautomated-upgradesinstant-upgrades
    View on GitHub↗10,199
  • facebook/jscodeshiftfacebook avatar

    facebook/jscodeshift

    9,952View on GitHub↗

    jscodeshift is a JavaScript AST transformation toolkit and codemod engine designed for large-scale code refactoring and structural migrations. It provides a set of utilities to parse source code into abstract syntax trees, programmatically modify those trees, and convert them back into source text. The tool distinguishes itself by preserving original source formatting and stylistic properties during the transformation process. It utilizes a builder for generating structurally valid AST nodes and integrates interchangeable parsing engines to support different language standards and experimenta

    JavaScript
    View on GitHub↗9,952
  • adamchainz/django-upgradeadamchainz avatar

    adamchainz/django-upgrade

    1,214View on GitHub↗

    Django-upgrade is a command-line tool that automatically modernizes legacy Python and Django codebases by rewriting outdated syntax patterns into current idioms. It operates as a static analysis linter and source code transformation engine, parsing files to identify deprecated constructs and replacing them in place while preserving project integrity. The software uses a rule-based transformation architecture driven by abstract syntax tree parsing to execute modular refactoring tasks. Developers can configure target version settings to ensure the tooling only applies updates appropriate for th

    Pythondjango
    View on GitHub↗1,214
  • semgrep/semgrepsemgrep avatar

    semgrep/semgrep

    15,603View on GitHub↗

    Semgrep is a static analysis security testing tool designed to identify vulnerabilities and logic errors by matching source code against declarative patterns. It functions as an automated scanner that integrates into development workflows to detect insecure code patterns and enforce coding standards before deployment. The engine utilizes a language-agnostic intermediate representation and a modular parser architecture to normalize diverse programming languages into a unified format. This allows for consistent rule execution across different codebases, enabling users to perform custom structur

    OCamlcgojava
    View on GitHub↗15,603
  • dsherret/ts-morphdsherret avatar

    dsherret/ts-morph

    6,110View on GitHub↗

    ts-morph is a TypeScript AST manipulation library and a high-level wrapper for the TypeScript compiler API. It provides a programmatic interface for analyzing, modifying, and generating TypeScript source code, serving as a tool for automated code refactoring and source code generation. The library simplifies the process of navigating and inspecting project structures by offering an object-oriented abstraction over the underlying compiler API. It allows for the programmatic transformation of existing codebases to automate structural updates and bulk code migrations. Its capabilities cover sta

    TypeScript
    View on GitHub↗6,110
  • openrewrite/rewriteopenrewrite avatar

    openrewrite/rewrite

    3,312View on GitHub↗

    OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic tree parser to represent source code as type-aware trees that preserve original whitespace and formatting, enabling precise and deterministic modifications. The project utilizes a declarative refactoring pipeline where sequences of transformations are defined in YAML to resolve breaking changes and technical debt. It features type-aware pattern matching and cross-language model mapping to apply similar refactoring patterns across different programming languages. The framework

    Javaabstract-syntax-treeastcode-search
    View on GitHub↗3,312
  • nrwl/nxnrwl avatar

    nrwl/nx

    28,939View on GitHub↗

    This project is a build orchestration engine and development toolkit designed for managing large-scale monorepos. It provides a unified workspace environment that maps project relationships and dependencies, enabling the system to perform intelligent impact analysis and execute only the tasks affected by specific code changes. The system distinguishes itself through a persistent daemon that monitors file changes for near-instant feedback and a content-addressable caching mechanism that stores task outputs to prevent redundant computation across local and remote environments. It further suppor

    TypeScriptangularbuildbuild-system
    View on GitHub↗28,939
  • php-cs-fixer/php-cs-fixerPHP-CS-Fixer avatar

    PHP-CS-Fixer/PHP-CS-Fixer

    13,463View on GitHub↗

    This tool is a command-line utility designed to automatically detect and correct coding standard violations in PHP source files. It functions as a static analysis and refactoring engine that ensures consistent project-wide formatting by applying predefined community conventions or custom organizational rules. The project distinguishes itself through a modular rule-based engine that supports both automated style correction and codebase modernization. It allows developers to update legacy syntax to align with newer language versions and testing framework requirements, facilitating the adoption

    PHPcode-standardscode-stylephp
    View on GitHub↗13,463
  • checkstyle/checkstylecheckstyle avatar

    checkstyle/checkstyle

    8,867View on 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
    View on GitHub↗8,867
  • astral-sh/tyastral-sh avatar

    astral-sh/ty

    17,287View on GitHub↗

    This project is a high-performance static type checker and comprehensive development toolkit for Python. It functions as a core analysis engine that identifies type inconsistencies and enforces code correctness, while simultaneously providing a language server implementation to deliver real-time diagnostics and intelligence directly within development environments. The tool distinguishes itself through a parallelized execution engine that maximizes performance across large-scale codebases and monorepo structures. It supports gradual type adoption, allowing developers to integrate type checkin

    Python
    View on GitHub↗17,287
  • sharkdp/fdsharkdp avatar

    sharkdp/fd

    43,362View on GitHub↗

    This project is a high-performance command-line utility designed for rapid filesystem navigation and file discovery. It enables users to locate files and directories within large project structures using recursive search, pattern matching, and metadata-aware filtering. By employing multi-threaded parallel traversal, it provides an efficient way to explore complex directory trees. What distinguishes this tool is its ability to integrate directly into terminal workflows and automate file management tasks. It automatically respects version control ignore files and hidden file settings, ensuring

    Rustclicommand-linefilesystem
    View on GitHub↗43,362
  • rust-lang/rust-analyzerrust-lang avatar

    rust-lang/rust-analyzer

    16,590View on GitHub↗

    Rust-analyzer is a language server implementation that provides real-time code intelligence, static analysis, and development productivity tools for the Rust programming language. It functions as a backend engine that communicates with text editors to deliver deep structural understanding of source code, enabling features like semantic analysis, symbol navigation, and automated refactoring. The project distinguishes itself through a core engine designed for high-performance responsiveness, utilizing incremental query-based compilation and lazy demand-driven evaluation to minimize resource con

    Rusthacktoberfestlsp-serverrust
    View on GitHub↗16,590
  • realm/swiftlintrealm avatar

    realm/SwiftLint

    19,456View on GitHub↗

    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

    Swiftcode-qualityhacktoberfestlinter
    View on GitHub↗19,456
  • golangci/golangci-lintgolangci avatar

    golangci/golangci-lint

    18,539View on GitHub↗

    This project is a static analysis runner designed to identify bugs, performance bottlenecks, and stylistic inconsistencies within Go codebases. It functions as a comprehensive quality assurance suite that executes multiple analysis tools concurrently to provide a unified diagnostic report. By parsing source code into a structured representation, the tool enforces coding standards, validates import structures, and ensures consistent formatting across entire projects. The tool distinguishes itself through its ability to automate the remediation of identified issues, applying programmatic fixes

    Gocigogolang
    View on GitHub↗18,539
  • rust-lang/cargorust-lang avatar

    rust-lang/cargo

    14,624View on GitHub↗

    Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f

    Rustcargopackage-managerrust
    View on GitHub↗14,624
  • sorbet/sorbetsorbet avatar

    sorbet/sorbet

    3,790View on 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,

    Ruby
    View on GitHub↗3,790
  • javaparser/javaparserjavaparser avatar

    javaparser/javaparser

    6,053View on GitHub↗

    JavaParser is a library that parses Java source code up to version 12 into an Abstract Syntax Tree (AST), enabling programmatic analysis, transformation, and generation of Java code. It serves as a parser, code analyzer, code generator, comment parser, and symbol resolver, providing a unified toolkit for working with Java source at the AST level. The library distinguishes itself through several integrated capabilities that go beyond basic parsing. It includes a symbol resolution engine that resolves type and symbol references across files for accurate semantic analysis, and an error-recovery

    Javaabstract-syntax-treeastcode-analysis
    View on GitHub↗6,053
  • mishoo/uglifyjs2mishoo avatar

    mishoo/UglifyJS2

    13,392View on GitHub↗

    UglifyJS2 is a suite of tools designed for parsing, beautifying, mangling, and minifying JavaScript code. It functions by converting source code into an abstract syntax tree to enable programmatic analysis and transformation, and it includes a dedicated generator for creating associated source maps. The project optimizes web production builds by compressing script logic and removing unreachable code. It utilizes name mangling to shorten variable and property names and implements a beautifier to reconstruct compressed scripts into a human-readable layout. The toolset covers broad capability a

    JavaScript
    View on GitHub↗13,392
  • spyder-ide/spyderspyder-ide avatar

    spyder-ide/spyder

    9,240View on GitHub↗

    Spyder is a scientific integrated development environment designed for scientific computing and interactive Python programming. It functions as a static analysis code editor and an interactive Python console, providing a specialized environment for writing and analyzing code for science and engineering. The platform distinguishes itself as an extensible development tool, utilizing a modular plugin architecture that allows for the addition of custom features or the embedding of core components into other software. It features a dedicated debugger and profiler for tracing code execution and mea

    Python
    View on GitHub↗9,240
  • golang/toolsgolang avatar

    golang/tools

    7,970View on GitHub↗

    This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and semantic analysis of the Go programming language. It includes a language server that provides real-time code intelligence and automated editing capabilities to editors via the Language Server Protocol. The toolset provides a suite of utilities for source code formatting and static analysis. This includes automated standardization of code layout, import organization, and the generation of string representation methods for enumerated types. The project covers broad static anal

    Go
    View on GitHub↗7,970
  • postcss/postcsspostcss avatar

    postcss/postcss

    28,968View on GitHub↗

    PostCSS is a CSS post-processor and abstract syntax tree transformation tool that parses stylesheets into a structured tree for programmatic analysis and modification. It functions as a plugin-driven pipeline where JavaScript plugins can modify, insert, or delete nodes to transform styles. The project provides a framework for building a custom plugin ecosystem to extend the CSS language with non-standard features such as loops, conditionals, and shorthand properties. It supports multi-syntax parsing through pluggable parsers and stringifiers, allowing it to process various style formats and c

    TypeScriptastcssframework
    View on GitHub↗28,968
  • thejameskyle/babel-handbookthejameskyle avatar

    thejameskyle/babel-handbook

    12,109View on GitHub↗

    This project is a comprehensive manual and educational resource focused on the Babel compiler. It serves as a documentation guide and handbook for understanding the inner workings of JavaScript compilation, specifically regarding the transformation of source code. The material provides a technical walkthrough for developing custom plugins and extensions. It covers the process of creating tailored transformations to modify how JavaScript is parsed and generated. The content encompasses the broader JavaScript compilation workflow, focusing on abstract syntax tree manipulation, code generation,

    View on GitHub↗12,109
  • fkling/astexplorerfkling avatar

    fkling/astexplorer

    6,538View on GitHub↗

    AST Explorer is a web-based tool for parsing source code into abstract syntax trees and visualizing the resulting tree structure. It serves as a code inspector and transformation playground, allowing users to explore the structural representation of various programming languages through an interactive browser interface. The tool provides a transformation environment where users can apply modification rules to parsed trees to test code modification logic. It features bidirectional mapping that highlights matching tree nodes and source text simultaneously as the cursor moves across the editor.

    JavaScript
    View on GitHub↗6,538
  • nunomaduro/phpinsightsnunomaduro avatar

    nunomaduro/phpinsights

    5,607View on GitHub↗

    PhpInsights is a static analysis tool and code quality analyzer for PHP. It evaluates source code to identify bugs, style violations, and technical debt without executing the application. The tool functions as a complexity metric utility, calculating architectural and cyclomatic complexity to locate overly complicated logic. It measures overall software health and maintainability by comparing code against industry standards. The system manages technical debt through rule-based validation and metric-driven scoring. It uses a static analysis engine to parse source code, delivering the results

    PHP
    View on GitHub↗5,607
  • oxc-project/oxcoxc-project avatar

    oxc-project/oxc

    21,675View on GitHub↗

    Oxc is a high-performance toolchain designed for the analysis, linting, formatting, and transformation of JavaScript and TypeScript codebases. It functions as a comprehensive static analysis engine and compiler-based utility, providing the infrastructure necessary to parse source code into high-performance abstract syntax trees and map complex module dependency graphs across entire projects. The project distinguishes itself through its use of multi-core parallel processing to maximize throughput during intensive tasks like linting and minification. It offers deep, type-aware static analysis t

    Rustcompilerjavascriptlinter
    View on GitHub↗21,675