Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Mago Laravel Package

carthage-software/mago

Mago is an extremely fast PHP linter, formatter, and static analyzer written in Rust. It helps teams catch issues early, enforce consistent style, and improve code quality across projects, with multiple install options like script, Homebrew, Composer, and Cargo.

View on GitHub
Deep Wiki
Context7

+++ title = "命令行接口" description = "全局选项、子命令、环境变量和退出码。" nav_order = 10 nav_section = "基础" +++

命令行接口

每次调用 Mago 都遵循 mago [GLOBAL OPTIONS] <SUBCOMMAND> 的形式。全局选项必须放在子命令之前。

mago --colors=never lint        # 正确
mago lint --colors=never        # 错误, --colors 是全局选项

全局选项

下列选项对每个子命令都生效,用于控制运行时、配置发现和输出。

参数 说明
--workspace <PATH> 工作空间根目录。默认为当前目录。
--config <PATH> 配置文件路径。未指定时,Mago 会在工作空间、$XDG_CONFIG_HOME~/.config~ 中查找。参见 发现
--php-version <VERSION> 覆盖配置中的 PHP 版本,例如 8.2
--threads <NUMBER> 覆盖线程数。默认是逻辑 CPU 数。
--allow-unsupported-php-version 允许在 Mago 官方不支持的 PHP 版本上运行。请谨慎使用。
--no-version-check 关闭因已安装二进制与项目锁定版本之间次版本或补丁版本漂移所发出的警告。主版本漂移仍是致命错误。参见 版本锁定
--colors <WHEN> 何时为输出着色:alwaysneverauto(默认)。
-h, --help 打印帮助并退出。
-V, --version 打印已安装版本并退出。

环境变量

大多数配置覆盖使用 MAGO_* 前缀,详见 环境变量页面。日常最常设置的两个是:

变量 用途
MAGO_LOG tracing 输出的日志过滤器。可选值:tracedebuginfowarnerror
MAGO_EDITOR_URL 终端输出中可点击文件路径的 URL 模板。参见 编辑器集成

子命令

核心工具:

命令 说明
mago analyze 静态分析:类型错误、逻辑 bug。
mago cst 打印 PHP 文件的 CST。
mago format 格式化 PHP 文件。
mago guard 强制执行架构规则与边界。
mago lint 针对风格、正确性和最佳实践进行 lint。

实用命令:

命令 说明
mago config 打印合并后的配置或其 JSON Schema。
mago init 生成一份起步用的 mago.toml
mago list-files 列出 Mago 将处理的文件。
mago generate-completions 打印 shell 补全脚本。
mago self-update 用更新的发行版替换已安装的二进制。
mago version 打印 Mago 的版本,与 --version 相同。

退出码

含义
0 成功。未发现问题。
1 发现需要关注的问题。
2 工具错误:配置、I/O、解析失败等。
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle