v1からv2への移行戦略
現状分析
v1系統の特徴
- INSTRUCTION_SELECTORを中心とした指示書管理
- 複数のプロジェクトがサブモジュールとして利用中
- 安定した基本機能セット
v2系統の目的
- コンセプトの大幅な刷新
- より柔軟で拡張性の高いアーキテクチャ
- 新しい使用パターンのサポート
推奨移行戦略
1. ブランチ戦略
main (現在)
├── v1.x (新規作成: 安定版ブランチ)
│ └── v1.0.0 (タグ: 現在の状態を固定)
└── v2-dev (新規作成: v2開発ブランチ)
└── 後にmainにマージ
実装手順
# 1. 現在の変更をコミット
git add -A
git commit -m "feat: v1.0.0 - Claude Codeカスタムコマンド追加、INSTRUCTION_SELECTOR削除"
# 2. v1.0.0タグを作成
git tag -a v1.0.0 -m "v1.0.0 - 安定版リリース"
# 3. v1.xブランチを作成(長期サポート用)
git checkout -b v1.x
git push origin v1.x
git push origin v1.0.0
# 4. mainに戻る
git checkout main
# 5. v2開発ブランチを作成
git checkout -b v2-dev
2. サブモジュール利用者への対応
即時対応(推奨)
既存のサブモジュール利用者に影響を与えないよう、以下の対応を実施:
- 利用者への通知
## 重要なお知らせ AI指示書キットは v2.0 への大規模アップデートを予定しています。 既存プロジェクトへの影響を避けるため、以下の対応をお願いします: ### 現在のバージョンを固定する場合 ```bash cd instructions/ai_instruction_kits git checkout v1.0.0 cd ../.. git add instructions/ai_instruction_kits git commit -m "fix: AI指示書キットをv1.0.0に固定"
v1系統の最新版を追跡する場合
cd instructions/ai_instruction_kits git checkout v1.x cd ../.. git add instructions/ai_instruction_kits git commit -m "chore: AI指示書キットをv1.x系統に切り替え"
```
- 互換性レイヤーの提供(オプション)
# v2でも基本的なパスは維持 instructions/ ├── v1/ (互換性のためのシンボリックリンク) └── v2/ (新しい構造)
3. v1系統のサポート方針
サポート期間
- パッシブサポート: 問題が報告されれば対応する程度
- 新機能追加: なし
更新ポリシー
- v1.xブランチは基本的にフリーズ
- 重大な問題が報告された場合のみ修正
- 積極的なメンテナンスは行わない
4. v2開発の進め方
開発環境
# v2-devブランチで作業
git checkout v2-dev
# 大規模な変更を実施
# - ディレクトリ構造の刷新
# - 新しいコンセプトの実装
# - 破壊的変更も許容
# 定期的にmainの変更を取り込む(必要に応じて)
git merge main
マイルストーン
- v2.0-alpha: 基本構造の実装
- v2.0-beta: 機能完成、テスト期間
- v2.0-rc: リリース候補
- v2.0: 正式リリース
5. ドキュメント戦略
docs/
├── v1/ # v1系統のドキュメント(固定)
├── v2/ # v2系統のドキュメント(新規)
└── migration/ # 移行ガイド
├── v1-to-v2.md
└── breaking-changes.md
タイムライン
- 即時: v1.0.0タグ作成、v1.xブランチ作成
- 即時: v2-devブランチでの開発開始
- 適宜: v2の開発を進める(期限は特に設けない)
リスクと対策
リスク1: 既存利用者の混乱
対策: 明確な通知とドキュメント、移行期間の確保
リスク2: v1で重大な問題が発生
対策: 問題が報告されたら都度対応
実行チェックリスト
- 現在の変更をコミット
- v1.0.0タグとv1.xブランチ作成
- README.mdに移行通知追加
- v2-devブランチ作成
- 利用者への通知(Issue/Discussion)
- v2の設計ドキュメント作成開始