メインコンテンツまでスキップ

Makeコマンド一覧

Bazbiiプロジェクトで使用可能なMakeコマンドの完全なリファレンスです。

Docker Compose

基本操作

コマンド説明
make compose/up全コンテナを起動(ビルド含む)
make compose/build全コンテナをビルド
make compose/build.no-cacheキャッシュなしで全コンテナをビルド
make compose/down全コンテナを停止
make compose/logs全コンテナのログを表示
make compose/shapiコンテナのシェルを起動

データベース専用

コマンド説明
make compose/db.upPostgreSQLとpgAdminのみ起動
make compose/db.downPostgreSQLとpgAdminのみ停止
make compose/db.logsPostgreSQLのログを表示(フォロー)
make compose/db.shPostgreSQLコンテナのシェルを起動
make compose/db.resetデータベースをリセット(停止→起動)

データベース

マイグレーション

コマンド説明
make db/mig-upマイグレーションを1つ適用
make db/mig-downマイグレーションを1つロールバック
make db/mig-down.allすべてのマイグレーションをロールバック
make db/mig-ver現在のマイグレーション版本を表示
make db/mig-down.to version=N指定バージョンまでロールバック
make db/mig-up.to.version version=N指定バージョンまで適用
make db/resetデータベースを完全にリセット(全ロールバック→再適用)

環境変数:

  • DB_URL: データベース接続URL(デフォルト: postgres://admin:admin@localhost:5432/bazbii?sslmode=disable
  • MIG_DIR: マイグレーションディレクトリ(デフォルト: infra/db/migrations

Protocol Buffers

コマンド説明
make proto/lintProtocol Buffers定義のリントチェック
make proto/breaking破壊的変更チェック(mvpブランチと比較)
make proto/genProtocol Buffersからコード生成(Go/TypeScript)
make proto/check-dirty生成後に差分があるかチェック(生成物の未コミットを検出)

生成先:

  • Go: packages/proto-gen-go/bazbii
  • TypeScript: packages/proto-gen-ts

Go

コード品質

コマンド説明
make go/fmt全モジュールに go fmt を実行
make go/vet全モジュールに go vet を実行
make go/test全モジュールのテストを実行

依存関係管理

コマンド説明
make go/tidy全モジュールに go mod tidy を実行
make go/verify全モジュールに go mod verify を実行
make go/update-deps全モジュールの依存を最新に更新(⚠️ 破壊的変更の可能性あり)
make go/list全モジュールの一覧を表示
make go/clean全モジュールのビルドキャッシュをクリア

対象モジュール:

  • server-apps/api
  • server-apps/gateway
  • server-core
  • server-platform/security
  • server-platform/observability
  • server-platform/datastore
  • server-platform/ctxutil
  • server-platform/bootstrap
  • packages/proto-gen-go

ヘルプコマンド

コマンド説明
make help共通ヘルプを表示
make help-composeDocker Compose関連コマンド一覧を表示
make help-protoProtocol Buffers関連コマンド一覧を表示
make help-goGo関連コマンド一覧を表示

よく使うコマンドの組み合わせ

開発環境のセットアップ

# 1. データベース起動
make compose/db.up

# 2. マイグレーション実行
make db/mig-up

# 3. 全コンテナ起動
make compose/up

Protocol Buffers更新後の作業フロー

# 1. Protocol Buffers定義を更新

# 2. コード生成
make proto/gen

# 3. 生成物がコミットされているか確認
make proto/check-dirty

# 4. 破壊的変更がないか確認(必要に応じて)
make proto/breaking

# 5. 生成物をコミット
git add packages/proto-gen-go packages/proto-gen-ts
git commit -m "chore: update proto generated code"

データベースのリセット

# 完全にリセット(すべてのデータを削除して再構築)
make db/reset

# または、個別に実行
make db/mig-down.all
make db/mig-up

依存関係の更新(慎重に)

# ⚠️ 警告: 破壊的変更の可能性があります
# 1. 別ブランチを作成
git checkout -b update-dependencies

# 2. 依存関係を更新(確認プロンプトあり)
make go/update-deps

# 3. テストを実行
make go/test

# 4. 変更を確認
git diff

# 5. 問題なければコミット

環境変数

データベース接続

# デフォルト: postgres://admin:admin@localhost:5432/bazbii?sslmode=disable
export DB_URL="postgres://user:pass@host:port/dbname?sslmode=disable"
make db/mig-up

マイグレーションディレクトリ

# デフォルト: infra/db/migrations
export MIG_DIR="path/to/migrations"
make db/mig-up

トラブルシューティング

Protocol Buffersの生成が失敗する

# 1. bufがインストールされているか確認
buf --version

# 2. リントチェックを実行して問題を確認
make proto/lint

# 3. 生成先ディレクトリを削除して再生成
rm -rf packages/proto-gen-go packages/proto-gen-ts
make proto/gen

データベース接続エラー

# 1. データベースが起動しているか確認
make compose/db.logs

# 2. DB_URLが正しいか確認
echo $DB_URL

# 3. 接続テスト
make compose/db.sh
# コンテナ内で: psql $DB_URL

Goモジュールの依存関係エラー

# 1. 依存関係を整理
make go/tidy

# 2. 依存関係を検証
make go/verify

# 3. キャッシュをクリア
make go/clean
make go/tidy

関連ドキュメント