Skip to content

⌨️ CLI 快速参考

8 分钟,掌握 composer-skills 命令行工具的完整子命令用法。无需写 Go 代码,从终端直接驱动 Packagist API 与本地 Composer。

为什么有 CLI

cmd/composer-skills 基于 Cobra 构建,把 SDK 能力透出到终端,适合写自动化脚本、做一次性检查、或在 CI 中省去编译 Go 程序的步骤。所有命令分两类:

  • 🌐 远程命令package / repo / search / security / changes / manage):走 Packagist HTTP API,无需 PHP。
  • 🖥️ 本地命令local / global / config / auth / environment 等):执行本机 composer,需要 PHP。

构建与帮助

bash
make build                              # 产出 ./bin/composer-skills
./bin/composer-skills                   # 顶层帮助
./bin/composer-skills local --help      # 任一命令都有 --help

🌐 Packagist 操作(无需 PHP)

bash
# 搜索包
./bin/composer-skills search query "logging"
./bin/composer-skills search tags json,logging
./bin/composer-skills search type "logging" library

# 包详情与统计
./bin/composer-skills package info monolog/monolog
./bin/composer-skills package stats monolog/monolog
./bin/composer-skills package v2-metadata symfony/console
./bin/composer-skills package dev-versions monolog/monolog

# 仓库统计与列表
./bin/composer-skills repo stats
./bin/composer-skills repo list
./bin/composer-skills repo list-vendor symfony
./bin/composer-skills repo list-type library
./bin/composer-skills repo list-with-data --fields name,downloads
./bin/composer-skills repo popular --per-page 20

# 安全公告(全站 / 指定包 / 增量)
./bin/composer-skills security advisories
./bin/composer-skills security package monolog/monolog
./bin/composer-skills security since 2026-01-01

# 变更追踪
./bin/composer-skills changes

🖥️ 本地 Composer 操作(需要 PHP)

bash
# 依赖管理
./bin/composer-skills local install --working-dir /path/to/project
./bin/composer-skills local require monolog/monolog --version "^3.0" --working-dir .
./bin/composer-skills local update monolog/monolog --working-dir .
./bin/composer-skills local remove monolog/monolog --working-dir .

# 检查与诊断
./bin/composer-skills local audit --working-dir .
./bin/composer-skills local outdated --working-dir .
./bin/composer-skills local validate --working-dir .
./bin/composer-skills local why monolog/monolog --working-dir .
./bin/composer-skills local why-not monolog/monolog 4.0 --working-dir .
./bin/composer-skills local tree monolog/monolog --working-dir .
./bin/composer-skills local fund --working-dir .
./bin/composer-skills local licenses --working-dir .
./bin/composer-skills local check-licenses --working-dir .
./bin/composer-skills local check --working-dir .
./bin/composer-skills local diagnose --working-dir .
./bin/composer-skills local status --working-dir .

# 项目与脚本
./bin/composer-skills local create-project laravel/laravel /tmp/app
./bin/composer-skills local init --working-dir .
./bin/composer-skills local dump-autoload --working-dir .
./bin/composer-skills local run-script post-install-cmd --working-dir .
./bin/composer-skills local list-scripts --working-dir .
./bin/composer-skills local reinstall monolog/monolog --working-dir .
./bin/composer-skills local bump monolog/monolog --working-dir .
./bin/composer-skills local browse monolog/monolog

# 平台
./bin/composer-skills local version --working-dir .
./bin/composer-skills local get-php-version
./bin/composer-skills local has-extension mbstring
./bin/composer-skills local check-platform
./bin/composer-skills local exec phpunit
./bin/composer-skills local suggest --working-dir .
./bin/composer-skills local self-update
./bin/composer-skills local archive /tmp/dist --working-dir .

🌍 全局操作

bash
./bin/composer-skills global require phpstan/phpstan --version "^1.0"
./bin/composer-skills global update phpstan/phpstan
./bin/composer-skills global remove phpstan/phpstan
./bin/composer-skills global install
./bin/composer-skills global list

⚙️ 配置与认证

bash
# 配置
./bin/composer-skills config get minimum-stability
./bin/composer-skills config set minimum-stability dev

# 认证
./bin/composer-skills auth show
./bin/composer-skills auth add-github github.com ghp_xxx
./bin/composer-skills auth add-gitlab gitlab.com glpat-xxx
./bin/composer-skills auth add-bearer example.com my-token
./bin/composer-skills auth add-http-basic example.com user pass
./bin/composer-skills auth remove github github.com

# 校验与归一化
./bin/composer-skills validate-lock --working-dir .
./bin/composer-skills normalize --working-dir .

# 环境与项目信息
./bin/composer-skills environment
./bin/composer-skills project-info --working-dir .
./bin/composer-skills home        # 打开 Composer 文档首页
./bin/composer-skills about

预期输出示例

$ ./bin/composer-skills search query "monolog"
monolog/monolog  Sends your logs to files, sockets, inboxes, databases and web services
...

$ ./bin/composer-skills local audit --working-dir .
Found 0 security vulnerability advisories

脚本化使用

所有命令遵循标准退出码:成功 0,失败非 0。shell 里 set -e 串联即可做成简单流水线。需要 JSON 输出时改用 SDK(见 🔒 安全审计流水线)。CI 里务必显式传 --working-dir,否则会在仓库根目录找 composer.json。

下一步

基于 MIT 许可证发布