Skip to content

ツール概要・設定

各ツールの概要・設定ファイル・エディタ連携をまとめています。コマンド一覧は コマンド一覧 を参照してください。

ツール一覧

  • コード品質: PHP CodeSniffer (PHPCS) / PHPCBF、PHPStan
  • フォーマット: EditorConfig、Prettier(JS/CSS)

PHPCS

  • 設定: config/phpcs.xml(WordPress-Core / Docs / Extra 採用。一部の WordPress.Files や Commenting 系 sniff は除外)
  • VS Code: .vscode/settings.json で保存時自動フォーマット・リアルタイムエラー表示(phpcs/phpcbf 有効)

PHPStan

  • 設定: config/phpstan.neon(レベル 4 使用)、config/phpstan_bootstrap.php
  • レベル: 0〜9。レベル 4 で型チェック・未定義メソッド検出等を実施。CI では phpstan-check.yml から実行(依存関係チェック用の Deptrac は deptrac-check.yml で別途実行)

EditorConfig

  • 設定: .editorconfig(UTF-8 / LF / 末尾改行・行末空白削除。PHP は tab/4、JS・JSON・YAML は space/2)
  • VS Code: 拡張 editorconfig.editorconfig を推奨

Prettier

  • 設定: .prettierrc.prettierignore
  • VS Code: 拡張 esbenp.prettier-vscode を推奨

Git Hooks(Husky)

pre-commit(コミット時)

  • 役割: ステージされたファイルのみ整形・チェック(Husky + lint-staged + Prettier + PHPCS/PHPCBF + PHPStan)
  • セットアップ: composer install の後に npm install を実行すると prepare で Husky が有効化される。必ず composer を先に実行すること
  • 動作: git commit で PHP は phpcbf → phpcs → phpstan、JS/CSS/MD 等は Prettier が実行。修正不可の規約違反があるとコミット失敗
  • 手動: コマンドは コマンド一覧 の各ツール表を参照。エディタの「保存時フォーマット」有効化を推奨

pre-push(プッシュ時)

  • 役割: composer phpstan-ci を実行し、core_src/ ディレクトリ全体の静的解析を通す。pre-commit はステージされたファイルのみが対象だが、pre-push では core_src/ 全体を解析するため、ファイル間の不整合も検出できる
  • 動作: git push 時に自動実行。エラーがある場合は push が失敗する
  • スキップ: 緊急時は git push --no-verify で回避可能(非推奨)

PR 前の推奨チェック

PR を作成する前に、以下を手動で実行してローカルで CI 相当の検証を済ませることを推奨する。

bash
# PHPStan(CI 同等・core_src 全体)
composer phpstan-ci

# PHPCS(コーディング規約)
composer lint

# まとめて実行
composer quality-check

IDE と CLI の診断差異

IDE(Intelephense 等)と PHPStan の診断結果が食い違う場合がある。

症状原因対処
IDE で「Undefined type」だが PHPStan は通るIntelephense のインデックス未更新、またはワークスペース設定の差異Intelephense: Index workspace を実行(コマンドパレット)
PHPStan でエラーだが IDE は無警告PHPStan のレベル・設定が IDE より厳密composer phpstan-ci の出力を優先する
特定ブランチのみエラーブランチ間のファイル不整合ルートと core_src 双方で依存関係を再インストールし再確認(composer install && cd core_src && composer install && cd .. && composer phpstan-ci

診断の優先度: CLI の PHPStan 結果 > IDE の表示。CI で実行されるのは PHPStan であるため、CLI の結果を正とする。

Issue / PR でエラーを報告する際は以下をセットで記載すること:

  1. composer phpstan-ci の実行結果(エラーの有無・件数)
  2. IDE のスクリーンショットまたはエラーメッセージ(差異がある場合)

進捗追跡

  • スクリプト: scripts/track-phpcs-progress.sh。実行は composer lint-progress または上記スクリプトを直接実行

GitHub Actions

  • ワークフロー例: .github/workflows/phpcs-check.yml など。PR 作成時・develop への push 時にチェック(チェックアウト → composer install → PHPCS / PHPStan 等)

関連ドキュメント