Skip to content

Latest commit

 

History

History
89 lines (64 loc) · 6.27 KB

CONTRIBUTING.md

File metadata and controls

89 lines (64 loc) · 6.27 KB

コントリビューションの手引き

EC-CUBE へのコントリビュートを歓迎します。Pull Request を円滑にマージするための実務的なガイドです。 (下部の「ライセンス」「コピーライトポリシー」も必ずご確認ください。コミット=ポリシーへの同意とみなされます。)

開発環境

  • 公式ドキュメント: https://doc4.ec-cube.net/
  • Docker(推奨)または Composer でセットアップできます。詳細な開発コマンド(インストール・テスト・静的解析・コードスタイル・アセットビルド・キャッシュ/DB)は、リポジトリ直下の AGENTS.md「開発コマンド」 に集約しています。

ブランチ運用

  • PR の宛先(base)は 4.4(現行リリースライン=デフォルトブランチ)です。フォークした作業ブランチから 4.4 宛に PR してください。
  • マイナーバージョンの互換性を壊す変更は原則取り込みません。既存機能の仕様変更、フックポイントの呼び出しタイミング・パラメータの変更、Service 公開関数のシグネチャ変更、CSV 等の入出力フォーマット変更などが該当します(PR テンプレートのチェックリスト参照)。

コーディング規約

  • PSR-12(PHP-CS-Fixer で強制)。新規 PHP ファイルには EC-CUBE ライセンスヘッダが必須です(欠落は CI で落ちます)。
  • 引数・戻り値に型宣言を付ける(PHPStan level 6 を通す)。
  • エンティティは PHP8 属性 #[ORM\...]、ルーティングは #[Route] 属性。
  • レイヤ別の詳細規約は AGENTS.md と .claude/skills/ を参照してください。

Pull Request を出す前に(CI と同じチェックをローカルで)

PR では GitHub Actions で各種チェックが走ります。push 前に手元で同じものを通しておくと差し戻しを減らせます。

# コードスタイル
vendor/bin/php-cs-fixer fix --dry-run --diff      # 確認(直すなら --dry-run なしで実行)
# 静的解析(level 6)
vendor/bin/phpstan analyse src
# リファクタ規約(PHP/Symfony/Doctrine の現代化。関門になりやすい)
vendor/bin/rector process --dry-run --config=rector.php
# テスト(変更に関係するものを)
bin/phpunit <対象テストのパス>

このほか E2E テスト・プラグインテスト・セキュリティスキャンも CI で実行されます。

テスト

  • 機能の追加・修正には、原則として PHPUnit テストを伴わせてください。
  • 既存テストを壊していないことを確認してください。

Pull Request テンプレート

PR を作成すると .github/PULL_REQUEST_TEMPLATE.md が読み込まれます。概要 / 方針 / 実装の補足 / テスト範囲 / マイナー互換性チェックリストを埋めてください。レビュアーが安心して確認できる情報(特にテスト範囲と互換性)が重要です。

脆弱性の報告

脆弱性は GitHub の Issue ではなく、弊社問い合わせフォームからご報告ください。


[EC-CUBEのライセンスについて] EC-CUBEのライセンスはデュアルライセンス方式。 無償で利用できるオープンソースのライセンス『GPL ライセンス』をそのまま使用するか、 有償の『商用ライセンス』を選択する事ができます。 EC-CUBEを頒布する場合に、ソースコードを開示したくない場合には(GPLライセンスに準拠しない場合)、 商用ライセンスが必要となります。 ライセンスに関して詳しくはEC-CUBE公式サイトをご確認下さい。 http://www.ec-cube.net/license/business.php

[EC-CUBEのコピーライトポリシー] コードの提供・追加、修正・変更その他「EC-CUBE」への開発の 御協力(以下「コミット」といいます)を行っていただく場合には、 このコピーライトポリシーをご理解いただき、ご了承いただく必要がございます。

・あなたにコミット頂いた内容は、プログラムコードに限らず、不具合報告、 意見、アイディア、その他内容の如何を問わず、「EC-CUBE」の開発に利用され、 GPLライセンス及び後記のクローズドライセンスの下で頒布される開発成果物に取り込まれることがあります。

・プログラムコードに限らず、デザイン等の投稿も歓迎いたしておりますが、 コミットに際しては、あなたが創作し、第三者が権利を保持していないもののみをコミットしてください。 第三者が著作権やその他の知的財産権を有しているものをコミットすると、 その方の権利が侵害され、あなたが法的に賠償責任を負うことがあります。

・あなたが会社の従業員や役員として作成したプログラムコードなどの創作物は、 会社に著作権が帰属している場合があります。 このような創作物をコミットをする場合には、会社としてコピーライトポリシーにご了承いただく必要があります。

・「EC-CUBE」はデュアルライセンス方式を採用しています。 あなたにコミットいただいた内容は、GPLライセンスのみならず、 株式会社イーシーキューブが独自に設定するクローズドソースライセンスの下で 頒布されることがあります。 これを可能とするため、あなたがコミットした内容が著作権法上の著作物である場合には、 コミットと同時に、あなたの著作権財産権を株式会社イーシーキューブに移転し、 著作者人格権を行使しないことにご同意いただくこととなります。 株式会社イーシーキューブは、コミット部分の著作権移転後も、GPLライセンスによりあなたに認められることとなるすべての権利を保障します。

コミットを行うことにより、上記の「EC-CUBE」のコピーライトポリシーを理解、了承したこととします。