6.5 KiB
6.5 KiB
最適化された開発ワークフロー
概要
プロジェクト間の齟齬を防止し、Claude Codeセッションの成果を確実に反映する最適化された開発ワークフロー。
基本原則
1. 一貫性の維持
- 全プロジェクトの状態同期
- 設定とコードの整合性
- ブランチ戦略の統一
2. セッション成果の記録
- Claude Codeセッションの完全記録
- 変更内容の構造化保存
- 反映状況の追跡
3. 自動化による品質保証
- 手動プロセスの最小化
- 自動検証とエラー検出
- 一貫したコミットメッセージ
推奨ワークフロー
Phase 1: セッション開始前
1. 全体状況確認
cd /Users/syui/ai/ai
# 一貫性チェック
./claude/scripts/update-submodules.sh --check-consistency
# URL検証
./claude/scripts/update-submodules.sh --validate
# 最新状態に更新
./claude/scripts/update-submodules.sh --all --dry-run
2. 作業プロジェクト選択
# プロジェクトディレクトリに移動
cd gpt # 例: gpt プロジェクト
# ブランチ確認・切り替え
git status
git checkout claude # または適切なブランチ
Phase 2: Claude Codeセッション
セッション中の注意点
- 専用ブランチ使用: mainではなくclaudeブランチで作業
- 定期的なコミット: 大きな変更は小分けにコミット
- 明確なコミットメッセージ: 何を変更したかを明記
推奨コミット戦略
# 機能追加の場合
git commit -m "Add: 新機能名 - 簡潔な説明"
# バグ修正の場合
git commit -m "Fix: 修正内容 - 問題の説明"
# 改善の場合
git commit -m "Improve: 改善内容 - before/afterの説明"
Phase 3: セッション終了時(重要)
自動セッション終了プロセス
# プロジェクトディレクトリで実行
./claude/scripts/session-end.sh --auto-sync
# または手動でサマリー指定
./claude/scripts/session-end.sh --summary="新しいMCP機能を実装。23ツールから25ツールに拡張。" --auto-sync
session-end.shの機能
- 変更検出: 未コミット変更の自動検出
- サマリー入力: セッション成果の記録
- 自動コミット: 構造化されたコミットメッセージ
- 親リポジトリ同期: サブモジュール更新の自動反映
- セッション記録:
.claude/sessions/
にMDファイル保存 - 検証: 一貫性チェックの自動実行
Phase 4: 事後確認
1. 結果確認
cd /Users/syui/ai/ai
# 更新が正しく反映されているか確認
git log --oneline -5
# 一貫性の最終確認
./claude/scripts/update-submodules.sh --check-consistency
2. セッション記録確認
# 最新のセッション記録を確認
ls -la .claude/sessions/
cat .claude/sessions/gpt_2025-06-07_15-30-45.md
特殊ケースの対応
複数プロジェクト同時開発
方法1: 順次処理(推奨)
# プロジェクト1完了
cd gpt
./claude/scripts/session-end.sh --auto-sync
# プロジェクト2開始
cd ../bot
# Claude Codeセッション...
./claude/scripts/session-end.sh --auto-sync
方法2: 並行処理
# 各プロジェクトで作業(--auto-syncは使わない)
cd gpt
./claude/scripts/session-end.sh --summary="GPT機能拡張"
cd ../bot
./claude/scripts/session-end.sh --summary="Bot統合改善"
# 最後に一括同期
cd ../
./claude/scripts/update-submodules.sh --all --auto
自動化ツール
利用可能なスクリプト
1. session-end.sh
# 基本使用
./claude/scripts/session-end.sh --auto-sync
# サマリー指定
./claude/scripts/session-end.sh --summary="作業内容" --auto-sync
# プロジェクト指定
./claude/scripts/session-end.sh --project=gpt --auto-sync
2. update-submodules.sh
# 一貫性チェック
./claude/scripts/update-submodules.sh --check-consistency
# 全体更新
./claude/scripts/update-submodules.sh --all --auto
# URL検証
./claude/scripts/update-submodules.sh --validate
推奨エイリアス設定
# ~/.zshrc
alias daily-check="cd /Users/syui/ai/ai && ./claude/scripts/update-submodules.sh --check-consistency"
alias sync-all="cd /Users/syui/ai/ai && ./claude/scripts/update-submodules.sh --all --auto"
alias session-end="../claude/scripts/session-end.sh --auto-sync"
エラー対応
よくある問題と解決策
1. 未コミット変更の衝突
⚠️ gpt: Has uncommitted changes
解決策:
cd gpt
./claude/scripts/session-end.sh --summary="作業内容の説明" --auto-sync
2. ブランチ不一致
⚠️ bot: Branch mismatch
Current: main
Expected: claude
解決策:
cd bot
git checkout claude
git merge main # 必要に応じて
3. サブモジュールポインタ不一致
⚠️ card: Submodule pointer mismatch
解決策:
./claude/scripts/update-submodules.sh --module=card --auto
セッション記録システム
自動生成される記録
- 場所:
.claude/sessions/
- 形式:
{project}_{timestamp}.md
- 内容: セッション概要、変更詳細、コミット情報
記録例
# Claude Code Session Report
**Project**: gpt
**Date**: 2025-06-07 15:30:45
**Summary**: MCP機能拡張。新しいツール追加とエラーハンドリング改善。
## Changes Made
src/mcp_client.rs | 45 +++++++++++++++++++++++++++++
src/commands.rs | 23 +++++++++++++--
2 files changed, 68 insertions(+), 2 deletions(-)
## Session End Status
- ✅ Changes committed
- ✅ Session logged
- ✅ Auto-sync completed
ベストプラクティス
1. セッション設計
- 明確な目標: 何を達成するかを最初に決める
- 適切な粒度: 1セッション = 1つの機能や修正
- 定期的な保存: 大きな変更は途中でコミット
2. 終了時のルーティン
# 必須: セッション終了スクリプト実行
./claude/scripts/session-end.sh --auto-sync
# 推奨: 最終確認
cd /Users/syui/ai/ai
./claude/scripts/update-submodules.sh --check-consistency
3. 定期メンテナンス
- 日次: 作業開始前にconsistency check
- 週次: 全体的な検証とクリーンアップ
このワークフローに従うことで、プロジェクト間の齟齬を防ぎ、Claude Codeセッションの成果を確実に蓄積できます。