News

Mago Is a Blazing Fast Linter, Formatter, And Static Analyzer for PHP, Written in Rust

Published
Mago Is a Blazing Fast Linter, Formatter, And Static Analyzer for PHP, Written in Rust image

Mago is a comprehensive PHP toolchain that helps developers write better code. Inspired by the Rust ecosystem, Mago brings speed, reliability, and an exceptional developer experience to PHP projects of all sizes.

Mago's toolchain includes a static analyzer, a configurable linter, an architectural guard, and a code formatter. Think of a tool that combines features found in PHPStan/Psalm, PHP-CS, PHP-CS-Fixer, php-parser, and more:

mago analyze
mago lint
mago format
mago guard
mago ast

Each feature is highly configurable, and initializing Mago in your project is as easy as mago init. Mago can automatically configure your project based on the contents of composer.json.

Main Features

  • Fast: Built in Rust for maximum performance.
  • Lint: Identify issues in your codebase with customizable rules.
  • Static Analysis: Perform deep analysis of your codebase to catch potential type errors and bugs.
  • Automated Fixes: Apply fixes for many lint issues automatically.
  • Formatting: Automatically format your code to adhere to best practices and style guides.
  • Semantic Checks: Ensure code correctness with robust semantic analysis.
  • AST Visualization: Explore your code’s structure with Abstract Syntax Tree (AST) parsing.

📕 Get started with Mago by following the project's getting started guide

💻 The source code is available on GitHub at carthage-software/mago

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Critical PHP Security Release Coming Tomorrow (October 21) image

Critical PHP Security Release Coming Tomorrow (October 21)

Read article
Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68 image

Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68

Read article
Run Large PlanetScale Queries in Laravel With DB::olap() image

Run Large PlanetScale Queries in Laravel With DB::olap()

Read article
Fluent Rule Builders for All Laravel Validation Rules image

Fluent Rule Builders for All Laravel Validation Rules

Read article
Laravel URL AI Transformer: Extract Structured Data From URLs image

Laravel URL AI Transformer: Extract Structured Data From URLs

Read article
Rule Builders for Every Validation Rule in Laravel 13.36 image

Rule Builders for Every Validation Rule in Laravel 13.36

Read article