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 では ci-quality-gate.yml 内で composer phpstan-ci / composer deptrac-ci を別ステップで実行(ローカル一括は composer ci-static-check
  • 対象パスconfig/phpstan.neonpaths / composer phpstan-ci): connector.phpcore_src/tests/excludePaths で除外(テストダブル・モック向けに本番と同 Level を適用するコスト対効果が低いため)

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 を実行し、connector.phpcore_src/ の静的解析を通す。pre-commit はステージされたファイルのみが対象だが、pre-push では neon の対象パス全体を解析するため、ファイル間の不整合も検出できる
  • 動作: git push 時に自動実行。エラーがある場合は push が失敗する
  • スキップ: 緊急時は git push --no-verify で回避可能(非推奨)

PR 前の推奨チェック

品質 CI は PR 作成時などに 1 回 GitHub Actions で実行されます(追加 push では自動起動しません)。PR 中に実行するローカルコマンドは コマンド一覧、マージ前の CI 実行手順は CI 運用方針 を参照してください。

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/ci-quality-gate.yml。PR 作成時等に 1 ジョブで順次実行。追加 push 後は Run workflowworkflow_dispatch)。運用判断は CI 運用方針 を正本とする。
  • 設定手順: develop ブランチの保護

関連ドキュメント