開発ワークフロー
日常的な開発作業のフローを説明します。
日常的な開発フロー
1. 開発開始
# 最新のコードを取得
git pull
# コンテナ起動
make compose/up
# ログ確認
make compose/logs
2. 機能開発
# ブランチ作成
git checkout -b feature/new-feature
# コード編集
# ...
# フォーマット・リント
make go/fmt
make proto/lint
# テスト実行
make go/test
3. Protocol Buffers変更
# .protoファイル編集
vim packages/proto/bazbii/...
# リントチェック
make proto/lint
# コード生成
make proto/gen
# 破壊的変更チェック
make proto/breaking
# 変更をコミット
git add packages/proto packages/proto-gen-go packages/proto-gen-ts
git commit -m "feat(proto): add new field"
4. データベース変更
# マイグレーションファイル作成
# infra/db/migrations/0003_new_feature.up.sql
# マイグレーション実行
make db/mig-up
# 問題があればロールバック
make db/mig-down
5. コミット前チェック
# コードフォーマット
make go/fmt
# 静的解析
make go/vet
# テスト実行
make go/test
# 依存関係整理
make go/tidy
# Protocol Buffersチェック(変更時)
make proto/check-dirty
よく使うコマンド
コンテナ管理
make compose/up # 起動
make compose/down # 停止
make compose/build # ビルド
make compose/logs # ログ
データベース
make db/mig-up # マイグレーション実行
make db/mig-down # ロールバック
make db/mig-ver # バージョン確認
make db/reset # リセット
コード品質
make go/fmt # フォーマット
make go/vet # 静的解析
make go/test # テスト
make go/tidy # 依存関係整理
関連ドキュメント
- ローカル開発環境 - セットアップ