開発ガイド¶
このページは、日常的な開発作業の入口をまとめたクイックガイドです。詳細な実装方針や Vendure 固有の深い説明は、個別の実装ドキュメントを参照してください。
最初に使うコマンド¶
just dev: 標準の統合起動。内部的にはjust dev-fullを呼び出します。just dev-services: PostgreSQL / Redis などの依存サービスを起動します。just dev-vendure: Vendure Server を起動します。just dev-storefront: Storefront を起動します。just dev-dashboard: React Dashboard の開発サーバーを起動します。just ports: Portless URL と内部ポート割り当てを確認します。just dev-stop: 開発系プロセスをまとめて停止します。
初回セットアップ¶
- 依存関係をインストールする。
pnpm install
- 依存サービスを起動する。
just dev-services
- 型やドキュメント導線が大きく壊れていないことを確認する。
just typecheck
just docs-build
日常の開発フロー¶
統合起動 / 個別起動¶
# 標準の統合起動
just dev
# 個別起動
just dev-vendure
just dev-storefront
just dev-dashboard
# Portless URL の確認
just ports
just dev / just dev-vendure / just dev-storefront / just dev-dashboard は、
ローカル永続 DB の schema / seed catalog / runtime baseline drift を吸収するため、起動前に
pnpm exec nx run ritsubi-vendure-server:migrate:run と
pnpm exec nx run ritsubi-vendure-server:drift:sync:baseline
を自動実行します。drift:sync:baseline は audit-driven に必要 repair だけを直列で実行します。pnpm run dev:services や package 単体コマンドではこの同期は走りません。
また just dev / just dev-full は dev_wp の local WordPress も起動し、install.php 状態や seed 欠落を検知した場合は wp-bootstrap / wp-bootstrap-verify 相当の修復を自動実行します。WordPress を個別起動する場合は引き続き just wp-up の後に just wp-bootstrap を使ってください。
Stack orchestration (process-compose)¶
just dev-full / just dev-storefront-stack / just dev-dashboard-stack / just dev-storefront-bypass の 4 種の stack 起動は process-compose で declarative にオーケストレーションされます。実体は process-compose.dev.yaml、エントリは scripts/dev/run-process-compose.sh <stack>。
- 依存関係は process-compose の
depends_on+readiness_probeで表現: Postgres ready → Vendure boot → Vendure healthy → Dashboard / Storefront 起動 → 全 UI healthy → URL バナー発火 - Vendure の内側 HMR は
apps/vendure-server/scripts/dev-vendure-watch.mjsが継続管理 (debounce + boot gate)。process-compose は外側の supervisor として TS / config の更新を待ち、子プロセスが死んだらavailability.restart: on_failureで respawn します。 - ログは
tmp/dev-logs/<service>.logに集約。別ターミナルでprocess-compose attach -U(UDS 経由) を開けば TUI でサービスごとのログをタブ切替できます。 just dev-stopは process-compose stack を down → WordPress を down → PostgreSQL を down の順で完全停止します。stack の再起動 (Dev: Full連打) では PostgreSQL コンテナを再利用し、docker compose down/upの往復は走りません。- mise tools に
github:F1bonacc1/process-composeを pin しているので、mise installだけで配布されます。
GraphQL スキーマとコード生成¶
# Admin / Shop schema を packages/contract/schema へ出力
pnpm run schema:generate
# shared package の codegen
pnpm run codegen:shared
# Storefront 側の codegen
pnpm exec nx run ritsubi-storefront:codegen
packages/contract/generated/*.tsは codegen の tracked 正本です。src/配下の*.js/*.d.ts/*.mapは build artifact として扱い、commit 前にpnpm run lint:tracked-src-artifactsを通し、残骸があればpnpm run clean:src-artifactsで掃除します。
Vendure の migration / seed¶
# ローカル migration 実行
pnpm exec nx run ritsubi-vendure-server:migrate:run
# migration 生成
pnpm exec nx run ritsubi-vendure-server:migrate:generate
# migration 巻き戻し
pnpm exec nx run ritsubi-vendure-server:migrate:revert
# ローカル seed
pnpm exec nx run ritsubi-vendure-server:db:seed:local
テストと品質確認¶
# ワークスペース全体
just lint
just typecheck
pnpm test
# src artifact の明示チェック / 掃除
pnpm run lint:tracked-src-artifacts
pnpm run clean:src-artifacts
# workspace build/test cache の掃除(.nx / .mkdocs/.uv-cache / app-local cache。node_modules も削除される)
pnpm run clean
# React Dashboard E2E
pnpm exec nx run ritsubi-vendure-dashboard-e2e:test:e2e
# Docs
just docs-build
just docs-spec
よく参照する詳細ガイド¶
補足¶
- ルートからの操作は、原則として
pnpmの直接実行よりjustを優先します。 - 環境変数や secrets は
justと AWS Secrets Manager の導線を前提にします。 Admin UIではなく React Dashboard / Vendure Dashboard の用語を使います。