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

259 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 最適化された開発ワークフロー
## 概要
プロジェクト間の齟齬を防止し、Claude Codeセッションの成果を確実に反映する最適化された開発ワークフロー。
## 基本原則
### 1. 一貫性の維持
- 全プロジェクトの状態同期
- 設定とコードの整合性
- ブランチ戦略の統一
### 2. セッション成果の記録
- Claude Codeセッションの完全記録
- 変更内容の構造化保存
- 反映状況の追跡
### 3. 自動化による品質保証
- 手動プロセスの最小化
- 自動検証とエラー検出
- 一貫したコミットメッセージ
## 推奨ワークフロー
### Phase 1: セッション開始前
#### 1. 全体状況確認
```bash
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. 作業プロジェクト選択
```bash
# プロジェクトディレクトリに移動
cd gpt # 例: gpt プロジェクト
# ブランチ確認・切り替え
git status
git checkout claude # または適切なブランチ
```
### Phase 2: Claude Codeセッション
#### セッション中の注意点
- **専用ブランチ使用**: mainではなくclaudeブランチで作業
- **定期的なコミット**: 大きな変更は小分けにコミット
- **明確なコミットメッセージ**: 何を変更したかを明記
#### 推奨コミット戦略
```bash
# 機能追加の場合
git commit -m "Add: 新機能名 - 簡潔な説明"
# バグ修正の場合
git commit -m "Fix: 修正内容 - 問題の説明"
# 改善の場合
git commit -m "Improve: 改善内容 - before/afterの説明"
```
### Phase 3: セッション終了時(重要)
#### 自動セッション終了プロセス
```bash
# プロジェクトディレクトリで実行
./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. 結果確認
```bash
cd /Users/syui/ai/ai
# 更新が正しく反映されているか確認
git log --oneline -5
# 一貫性の最終確認
./claude/scripts/update-submodules.sh --check-consistency
```
#### 2. セッション記録確認
```bash
# 最新のセッション記録を確認
ls -la .claude/sessions/
cat .claude/sessions/gpt_2025-06-07_15-30-45.md
```
## 特殊ケースの対応
### 複数プロジェクト同時開発
#### 方法1: 順次処理(推奨)
```bash
# プロジェクト1完了
cd gpt
./claude/scripts/session-end.sh --auto-sync
# プロジェクト2開始
cd ../bot
# Claude Codeセッション...
./claude/scripts/session-end.sh --auto-sync
```
#### 方法2: 並行処理
```bash
# 各プロジェクトで作業(--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
```bash
# 基本使用
./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
```bash
# 一貫性チェック
./claude/scripts/update-submodules.sh --check-consistency
# 全体更新
./claude/scripts/update-submodules.sh --all --auto
# URL検証
./claude/scripts/update-submodules.sh --validate
```
### 推奨エイリアス設定
```bash
# ~/.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
```
**解決策:**
```bash
cd gpt
./claude/scripts/session-end.sh --summary="作業内容の説明" --auto-sync
```
#### 2. ブランチ不一致
```
⚠️ bot: Branch mismatch
Current: main
Expected: claude
```
**解決策:**
```bash
cd bot
git checkout claude
git merge main # 必要に応じて
```
#### 3. サブモジュールポインタ不一致
```
⚠️ card: Submodule pointer mismatch
```
**解決策:**
```bash
./claude/scripts/update-submodules.sh --module=card --auto
```
## セッション記録システム
### 自動生成される記録
- **場所**: `.claude/sessions/`
- **形式**: `{project}_{timestamp}.md`
- **内容**: セッション概要、変更詳細、コミット情報
### 記録例
```markdown
# 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. 終了時のルーティン
```bash
# 必須: セッション終了スクリプト実行
./claude/scripts/session-end.sh --auto-sync
# 推奨: 最終確認
cd /Users/syui/ai/ai
./claude/scripts/update-submodules.sh --check-consistency
```
### 3. 定期メンテナンス
- **日次**: 作業開始前にconsistency check
- **週次**: 全体的な検証とクリーンアップ
このワークフローに従うことで、プロジェクト間の齟齬を防ぎ、Claude Codeセッションの成果を確実に蓄積できます。