woocommerce-code-review について
WooCommerce の規約に照らして変更を確認するコードレビュー用スキルです。バックエンド PHP、フロントエンド JS/TS、テスト、UI 文言を対象とし、指摘を定型形式で報告します。
主な機能
- 01バックエンド PHP 規約の確認
- 02フロントエンド JS/TS 構造の確認
- 03テストとドキュメントの確認
- 04UI 文言のセンテンスケース確認
- 05定型形式の違反報告
活用シーン
- 01WooCommerce のプルリクエスト確認
- 02PHP やテスト規約違反の検出
- 03UI 文言やフロントエンド import の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ woocommerce/ woocommerce --skill woocommerce-code-reviewインストール後、Claude Code で/woocommerce-code-reviewを入力して読み込まれたか確認します。
詳細
WooCommerce コードレビュー
WooCommerce のコーディング標準と慣習に照らして、コード変更をレビューします。
指摘すべき重大な違反
バックエンド PHP コード
詳細な標準については、woocommerce-backend-dev スキルを参照してください。これらの標準を指針として、以下の違反や類似する違反を指摘してください。
アーキテクチャと構造:
- ❌ スタンドアロン関数 - クラスメソッドを使用する必要があります(file-entities.md)
- ❌ DI 管理対象クラスで
newを使用する -src/内のクラスでは$container->get()を使用する必要があります(dependency-injection.md) - ❌
src/Internal/の外にクラスを配置する - 明示的に公開されている場合を除き、標準の配置場所です(file-entities.md)
命名と慣習:
- ❌ camelCase の命名 - メソッド/変数/フックには snake_case を使用する必要があります(code-entities.md)
- ❌ ヨーダ条件の違反 - WordPress コーディング標準に従う必要があります(coding-conventions.md)
- ❌ 既存の列挙型定数があるマジック文字列 - 列挙値(注文ステータス、商品タイプなど)を比較または代入する新しいコードでは、生のリテラルではなく
Automattic\WooCommerce\Enumsの定数を使用する必要があります。ただし、インストール/アップグレード中に実行されるコードは除きます(coding-conventions.md)
ドキュメント:
- ❌
@sinceアノテーションがない - public/protected メソッドおよびフックには必須です(code-entities.md) - ❌ ドックブロックがない - すべてのフックとメソッドに必須です(code-entities.md)
- ❌ 冗長なドックブロック - 簡潔にまとめてください。1 行が理想です(code-entities.md)
データの整合性:
- ❌ 検証がない - 削除や変更の前に、状態を確認する必要があります(data-integrity.md)
テスト:
- ❌ テストで
$instanceを使用する -$sutという変数名を使用する必要があります(unit-tests.md) - ❌
@testdoxがない - テストメソッドのドックブロックに必須です(unit-tests.md) - ❌ テストファイルの命名 -
includes/とsrc/の規約に従う必要があります(unit-tests.md) - ❌ 基底クラスのライフサイクル処理と重複するクリーンアップ - アサーション後のフィクスチャ削除や状態復元を求める前に、テストの基底クラスを特定してください。トランザクションまたはティアダウンですでに処理されているクリーンアップは指摘してください(unit-tests.md)
フロントエンド JS/TS コード
アーキテクチャと構造:
- ❌ バレルの自己インポート(循環依存) — モノレポ内の JS/TS ファイルが、そのファイルを再エクスポートしている自パッケージのバレルからインポートしている場合(
from '../'、from '../../'、from '../index'、from '../../index')。SWC の TDZ、esbuild のツリーシェイキング、tsc の増分ビルドに関係します。修正方法:直接のモジュールパスを使用してください。
UI テキストとコピー
woocommerce-copy-guidelines スキルを参照してください。以下を指摘します。
- ❌ UI でのタイトルケース - センテンスケースを使用する必要があります(sentence-case.md)
- 誤り:「Save Changes」、「Order Details」、「Payment Options」
- 正しい:「Save changes」、「Order details」、「Payment options」
- 例外:固有名詞(WooPayments)、頭字語(API)、ブランド名
レビューの進め方
- 上記の重大な違反を確認します
- 問題を指摘する際は、該当するスキルファイルを明記します
- スキルのドキュメントにある正しい例を提示します
- 関連する問題をまとめて、わかりやすくします
- 建設的な指摘を心がけます。該当する場合は、その標準が設けられている理由を説明します
出力形式
見つかった違反ごとに:
❌ [Issue Type]: [Specific problem]
Location: [File path and line number]
Standard: [Link to relevant skill file]
Fix: [Brief explanation or example]
注意事項
- 詳細な基準はすべて、
woocommerce-backend-dev、woocommerce-dev-cycle、woocommerce-copy-guidelinesのスキルに記載されています - 詳しい背景や例については、それらのスキルを参照してください
- 判断に迷った場合は、上記にリンクされている該当スキルのドキュメントを参照してください
コメント
Markdown 対応