⌨️ 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。
下一步
- 想要类型化结果而不是文本?所有 CLI 命令背后都是 SDK 方法。
- 把 CLI 串成完整流水线:🔒 构建安全审计流水线。