ai/ai
1
0
Files
ai/claude/docs/optimal_development_workflow.md
2025-06-07 03:54:04 +09:00

6.5 KiB
Raw Blame History

最適化された開発ワークフロー

概要

プロジェクト間の齟齬を防止し、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の機能

  1. 変更検出: 未コミット変更の自動検出
  2. サマリー入力: セッション成果の記録
  3. 自動コミット: 構造化されたコミットメッセージ
  4. 親リポジトリ同期: サブモジュール更新の自動反映
  5. セッション記録: .claude/sessions/にMDファイル保存
  6. 検証: 一貫性チェックの自動実行

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セッションの成果を確実に蓄積できます。