mcpField
W
wp-wpcli-and-ops

wp-wpcli-and-ops

github.com/jorgerosal云与 DevOps11260 次安装21 周前更新
代码仓库

关于 wp-wpcli-and-ops

面向 WordPress 运维流程的 WP-CLI 审查技能,适用于命令、脚本和操作手册的安全性检查。重点审视目标范围、副作用、可逆性及多站点操作。

主要功能

  1. 01审查自定义 WP-CLI 命令
  2. 02检查命令目标与环境范围
  3. 03评估破坏性操作的防护
  4. 04检查多站点运维流程
  5. 05定位高风险命令模式

适用场景

  1. 01评估数据库搜索替换计划
  2. 02审查维护脚本和部署自动化
  3. 03检查多站点迁移步骤

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jorgerosal/wordpress-skills --skill wp-wpcli-and-ops

安装后在 Claude Code 中输入/wp-wpcli-and-ops确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
automation-and-safety.md
command-patterns.md
multisite-and-search-replace.md
sample-maintenance-runbook.md
sample-wp-cli-command.php

详细介绍

WordPress WP-CLI 和运维技能

概述

针对以 WP-CLI 为核心的 WordPress 运维工作流提供系统化审查指南。核心原则: 在操作数据或执行生产环境任务之前,运维命令应明确说明其范围、环境和副作用。审查内容涵盖自定义 CLI 命令、搜索替换计划、多站点目标、定时任务和缓存操作、维护脚本,以及部署时自动化。

适用场景

适用于:

  • 审查自定义 WP-CLI 命令或命令类
  • 审查运行 wp 命令的 shell 脚本或文档
  • 规划安全的搜索替换或迁移操作
  • 检查多站点或全网络运维步骤
  • 审查定时任务、缓存、导出、导入或维护工作流

不适用于:

  • 没有运维操作面的通用插件架构
  • 不涉及运维工作流的性能调优
  • 仅适用于 Playground 的设置流程(请使用 wp-playground-development)
  • 静态分析配置(请使用 wp-phpstan-review)

代码审查工作流

  1. 识别运维操作面

    • 自定义 WP_CLI::add_command() 注册
    • 包含 wp 命令示例的项目文档
    • 部署脚本、CI 任务或维护脚本
    • 多站点运维手册或迁移计划
  2. 首先检查范围和目标

    • 命令是针对特定站点、整个网络,还是取决于环境?
    • 是否需要 --url、--path 或明确指定表目标?
    • 工作流是否依赖对当前安装环境的假设?
  3. 审查安全性和可逆性

    • 尽可能支持试运行
    • 对破坏性步骤进行确认或记录
    • 执行高风险修改前先备份或导出
    • 明确区分检查命令和修改命令
  4. 审查命令实现

    • 输入验证和参数处理
    • 合理的默认值
    • 有用的成功/错误输出
    • 只读命令不应暗中写入数据
  5. 对发现的问题分类

    • 严重: 破坏性操作没有防护措施、多站点范围错误、对生产环境有害的搜索替换、未经验证的 CLI 输入导致数据丢失
    • 警告: 环境目标不明确、脆弱的 shell 示例、缺少试运行、日志记录不足、长时间运行的任务没有分批处理
    • 信息: 可补充别名文档、改善命令使用体验,或拆分读写命令

文件类型专项检查

自定义 WP-CLI 命令
  • 严重:写入命令没有参数验证或能力/上下文检查
  • 警告:命令名称或概要未说明副作用
  • 警告:命令将只读检查与修改操作混在一起
  • 信息:可返回结构化输出或更清晰的状态消息
搜索替换和数据库操作
  • 严重:wp search-replace 示例没有 --dry-run 或范围限制
  • 严重:全网络替换没有明确审查 --network 或指定目标表
  • 警告:替换 URL 时没有使用 --skip-columns=guid
  • 警告:随意使用正则搜索替换,且未提示性能影响
多站点运维
  • 严重:命令假设当前站点,同时操作全网络状态
  • 警告:在多站点环境中执行特定站点任务时缺少 --url
  • 警告:站点创建/删除工作流没有回滚说明
  • 信息:可更清晰地说明 wp site / wp super-admin 的影响
自动化和维护脚本
  • 警告:使用 wp eval/wp eval-file,而不是更安全的自定义命令
  • 警告:长时间运行的维护任务没有分批处理或进度输出
  • 信息:可将检查、导出和修改拆分为独立步骤

快速检测的搜索模式(OPS-21)

使用这些 rg 命令快速定位 WP-CLI 和运维工作流。

命令发现
rg -n "WP_CLI::add_command|class .* extends WP_CLI_Command" . -g '*.php'
rg -n "\bwp [a-z0-9:-]+" . -g '*.{md,sh,yml,yaml,json}'
高风险修改
rg -n "wp search-replace|wp db reset|wp db drop|wp site delete|wp plugin deactivate" . -g '*.{md,sh,yml,yaml}'
rg -n "wp eval|wp eval-file" . -g '*.{md,sh,yml,yaml}'
多站点和定时任务
rg -n "wp site|wp super-admin|--network|--url=" . -g '*.{md,sh,php,yml,yaml}'
rg -n "wp cron|wp cache|wp transient" . -g '*.{md,sh,php,yml,yaml}'

参考文件

  • references/command-patterns.md - 自定义命令设计、参数处理和运维体验
  • references/multisite-and-search-replace.md - 多站点范围、wp site 和安全使用 wp search-replace
  • references/automation-and-safety.md - 部署脚本、维护任务、分批处理和回滚思路
  • references/sample-wp-cli-command.php - 包含验证、试运行和分批处理的自定义命令示例
  • references/sample-maintenance-runbook.md - 包含检查、试运行、执行和验证阶段的运维手册示例

输出格式(OPS-23)

针对每项发现,请注明:

  1. 严重程度:CRITICAL、WARNING 或 INFO
  2. 文件和行号
  3. 运维风险摘要
  4. 说明其对 WP-CLI 或运行时运维的重要性
  5. 建议的更安全方案

如果未发现问题,请明确说明,并指出任何残留的运维缺口,例如缺少试运行、日志记录薄弱或回滚文档有限。

评论

支持 Markdown