Laravel Maestro コントリビューター・チュートリアル

LaravelはStarter Kitの構築にMaestroを使用しています。これらのキットへのコントリビューションに関するドキュメントはほとんどありません。

Starter Kitに機能を追加したりバグを修正したりしたい場合は、ワークフローを理解する必要があります。このガイドでは、Maestroを正しく使用する方法を説明します。

ディレクトリ構造

リポジトリには主に3つのパートがあります。

  • kits/: 実際のStarter Kitファイルが格納されています。コミット対象となるのはこのディレクトリのみです。
  • orchestrator/: ビルドプロセスを管理し、キットを実行します。
  • build/: 一時的なワークスペースです。ビルドを実行するとMaestroによって作成されます。

開発ワークフロー

一度に大量のファイルを更新する場合を除き、kits/ ディレクトリで直接作業しないでください。代わりに、以下の手順に従ってください。

1. 環境のセットアップ

orchestrator/ フォルダに移動します。composer installnpm install を実行します。

2. 対象のキットをビルドする

php artisan build を実行します。フレームワーク、バリアント、機能を選択してください。これにより build/ フォルダが作成されます。

3. キットを実行する

orchestrator/ フォルダから composer kit:run を使用します。これにより、ポート8000でアプリケーションが起動します。

4. 変更を加える

build/ ディレクトリを開きます。変更が必要なファイルを見つけて編集します。

5. ウォッチャーに任せる

Maestroはウォッチャーを使用しています。build/ 内のファイルを保存すると、kits/ ディレクトリ内の対応するファイルが自動的に更新されます。

6. 変更をテストする

まず kit:run プロセスを停止してください。キットが実行されている間はテストを実行できません。orchestrator/ フォルダから以下を実行します。

  • composer kits:pint (フォーマット用)
  • composer kits:check (PHPテスト用)
  • composer kits:lint (JavaScriptテスト用)

7. 作業をコミットする

git status を確認します。kits/ フォルダに変更が表示されているはずです。コミットには kits/ ディレクトリのみを追加してください。

例:「Log in」から「Log on」へテキストを変更する場合

  • build/ 内のbladeまたはコンポーネントファイルを編集します。
  • ウォッチャーが kits/ を更新するのを待ちます。
  • テストを実行し、他のバリアントを壊していないことを確認します。
  • kits/ 内のファイルをコミットします。

このプロセスにより、コントリビューションがクリーンに保たれ、Maestroのアーキテクチャに従うことが保証されます。

出典: https://dev.to/catatsumuri/laravel-maestro-contributor-tutorial-2p89