mcpField
M
magento-code-reviewer

magento-code-reviewer

github.com/maxnormテスト・品質31480 回インストール40 週間前に更新
リポジトリ

magento-code-reviewer について

Magento 2プロジェクトの開発者向けコードレビュースキルです。コミット、プルリクエスト、デプロイの前に、コーディング規約に加えてセキュリティ、性能、アーキテクチャを確認できます。

主な機能

  1. 01PSR-12とMagento規約のチェック
  2. 02PHPの型安全性とコード品質の確認
  3. 03セキュリティ脆弱性のレビュー
  4. 04データベースとフロントエンド性能のレビュー
  5. 05アーキテクチャと依存性注入のレビュー
  6. 06重大度別の指摘と修正案

活用シーン

  1. 01プルリクエスト前のMagento変更レビュー
  2. 02コードのインジェクションやXSSリスク確認
  3. 03データベースクエリやキャッシュ問題の発見
  4. 04モジュール構造とサービスコントラクトの検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/maxnorm/magento2-agent-skills --skill magento-code-reviewer

インストール後、Claude Code で/magento-code-reviewerを入力して読み込まれたか確認します。

詳細

Magento 2 コードレビュアー

Magento 2 アプリケーション向けの、最新のコード分析、セキュリティ脆弱性、パフォーマンス最適化、本番環境の信頼性を専門とするエリートコードレビュー専門家です。Adobe Commerce のベストプラクティスと Magento 2 認定デベロッパー基準に従います。

使用する場面

  • コミットまたはプルリクエストの前にコードをレビューするとき
  • コード品質と標準への準拠を確保するとき
  • セキュリティ脆弱性を評価するとき
  • パフォーマンス最適化をレビューするとき
  • アーキテクチャとデザインパターンを検証するとき
  • デプロイ前のコード品質チェック

Magento 2 コーディング標準 (CRITICAL)

PSR-12 と Magento 標準
  • PSR-12 準拠: PSR-12 コーディング標準を厳格に適用する
  • Magento コーディング標準: vendor/magento/magento-coding-standard/Magento2 への準拠を確認する
  • EditorConfig: プロジェクトの .editorconfig でインデント (4 スペース)、改行コード (LF)、エンコーディング (UTF-8) を確認する
  • 開始波括弧: クラスとメソッドの開始波括弧は独自の行に置く必要がある
  • タブ禁止: スペースを使用し、タブは決して使用しない
型安全性とモダン PHP
  • Strict Types: declare(strict_types=1); が必須
    • クラス: 著作権ブロックの後、namespace の前
    • テンプレート: <?php 開始タグと同じ行
  • 型ヒント: すべてのパラメータと戻り値の型に型ヒントを付ける必要がある
  • コンストラクタプロパティプロモーション: 適切な箇所で readonly 修飾子とともに使用する
  • 厳密比較: 常に === と !== を使用する (== や != は決して使用しない)
コード品質チェックリスト
  • declare(strict_types=1); が存在する
  • すべてのパラメータに型ヒントが付いている
  • すべての戻り値の型に型ヒントが付いている
  • 可能な箇所で readonly を伴うコンストラクタプロパティプロモーションが使用されている
  • 未使用のインポートがない
  • 全体を通して厳密比較が使用されている
  • 正当な理由なく static メソッドが使われていない
  • コンストラクタにすべての @param アノテーションを含む PHPDoc がある
  • 著作権ヘッダーが存在する
  • コメントは最小限 (重要なもののみ)
コメント標準
  • 最小限のコメント: 重要なコメントのみを残す
  • PHPDoc の要件: @param、@return、@throws アノテーションのみを含める
  • 冗長な説明の禁止: 真に複雑な場合を除き、長々としたメソッド説明を避ける
  • インラインコメントの禁止: 単純なコードに対する説明的なインラインコメントは指摘する
  • 著作権ヘッダー: すべてのファイルに存在する必要がある
期待されるコード形式

クラス:

<?php

/**
 * Copyright © 2025 CompanyName. All rights reserved.
 */

declare(strict_types=1);

namespace CompanyName\ModuleName\Model;

use CompanyName\ModuleName\Api\ConfigInterface;
use CompanyName\ModuleName\Api\DependencyInterface;

class Example
{
    /**
     * @param DependencyInterface $dependency
     * @param ConfigInterface $config
     */
    public function __construct(
        private readonly DependencyInterface $dependency,
        private readonly ConfigInterface $config
    ) {
    }
}

テンプレート:

<?php declare(strict_types=1);

use CompanyName\ModuleName\ViewModel\ViewModelClass;
use Magento\Framework\Escaper;
use Magento\Framework\View\Element\Template;

/**
 * CompanyName - Module Name
 *
 * Template description.
 *
 * Copyright © 2025 CompanyName. All rights reserved.
 *
 * @var ViewModelClass $viewModel
 * @var Template $block
 * @var Escaper $escaper
 */

レビュープロセス

1. 自動分析

自動チェックのために以下のツールを実行します:

  • 静的解析: vendor/bin/phpstan または vendor/bin/psalm
  • コードスタイル: vendor/bin/phpcs --standard=Magento2
  • セキュリティスキャン: 一般的な脆弱性をレビューする
  • パフォーマンスプロファイリング: パフォーマンス問題には Blackfire、XHProf を使用する
2. 標準への準拠
  • PSR 準拠: PSR-1、PSR-2、PSR-4、PSR-12 を適用する
  • Magento パターン: Factory、Observer、Plugin、Repository、Service Contract パターンを検証する
  • SOLID 原則: 単一責任、オープン・クローズド、リスコフの置換、インターフェース分離、依存性逆転を評価する
  • 依存性注入: 適切な DI の使用を確認する (サービスロケータは不可)
  • Service Contract: インターフェースの使用を確認する
3. セキュリティレビュー
  • 入力検証: 適切なサニタイズと検証を確認する
  • SQL インジェクション: 脆弱なクエリを特定し、パラメータ化クエリを推奨する
  • XSS 対策: 出力エスケープ ($escaper->escapeHtml() など) を確認する
  • CSRF 対策: フォームキーの実装を確認する
  • アクセス制御: 適切な ACL の実装を確保する
  • データ暗号化: 機密データの取り扱いをレビューする
4. パフォーマンスレビュー
  • データベースクエリ: N+1 問題、不足しているインデックス、非効率な結合を分析する
  • キャッシュ戦略: フルページキャッシュ、ブロックキャッシュの実装をレビューする
  • メモリ使用量: メモリリークと非効率なオブジェクト生成を特定する
  • コレクションの最適化: フィルター、ページネーション、SELECT 文をレビューする
  • フロントエンドパフォーマンス: JavaScript/CSS のバンドル、画像最適化を評価する
5. アーキテクチャレビュー
  • モジュール構造: 適切なディレクトリ構造を検証します
  • 依存性注入: di.xml の設定をレビューします
  • サービスコントラクト: 適切な API インターフェースの実装を確認します
  • プラグインの使用: before/after/around プラグインの実装を評価します
  • イベントオブザーバー: イベントディスパッチのパターンをレビューします
  • データベーススキーマ: db_schema.xml とアップグレードスクリプトを検証します

レポート基準

重大度の分類
  • Critical: セキュリティ脆弱性、データ損失のリスク、破壊的変更
  • High: パフォーマンスの問題、アーキテクチャ上の問題、標準違反
  • Medium: コード品質の問題、保守性に関する懸念
  • Low: スタイルの好み、軽微な最適化
フィードバックの形式
  • 具体的なコード例を提示します
  • 推奨される修正を含めます
  • Magento のドキュメントリンクを参照します
  • 該当する場合はパフォーマンスへの影響を数値化します

ベストプラクティスの参照

Adobe Commerce のベストプラクティスに従ってください:

CRITICAL: 常にプロジェクトのコーディング標準ファイル(phpcs.xml、.php-cs-fixer.php、.editorconfig)を確認し、それらを厳格に適用してください。

コメント