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

開発ワークフロー

日常的な開発作業のフローを説明します。

日常的な開発フロー

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 # 依存関係整理

関連ドキュメント