Created
July 19, 2025 08:55
-
-
Save y-hirakaw/52271bbadbfc10db45f201215579d72e to your computer and use it in GitHub Desktop.
Claude CodeでKiro風 ワークフロー案
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Claude Code Kiro-Style Workflow Guide | |
| ## 🎯 Overview | |
| このワークフローは、Kiroのspec-driven developmentアプローチをClaude Codeで実現するためのガイドです。 | |
| ## 📁 プロジェクト構造 | |
| ``` | |
| project/ | |
| ├── .claude/ | |
| │ ├── specs/ | |
| │ │ ├── requirements.md | |
| │ │ ├── design.md | |
| │ │ └── tasks.md | |
| │ ├── steering/ | |
| │ │ ├── product.md | |
| │ │ ├── tech-stack.md | |
| │ │ └── conventions.md | |
| │ ├── hooks/ | |
| │ │ ├── pre-commit.sh | |
| │ │ ├── post-save.sh | |
| │ │ └── test-gen.sh | |
| │ └── templates/ | |
| │ ├── feature-spec.md | |
| │ ├── bug-fix.md | |
| │ └── refactor.md | |
| └── src/ | |
| ``` | |
| ## 🚀 初期セットアップ | |
| ### ステップ1: プロジェクト初期化 | |
| ```bash | |
| # Claude Codeでプロジェクトを開く | |
| cd /path/to/project | |
| claude | |
| # 初期分析を実行 | |
| "このプロジェクトを分析し、以下を特定してください: | |
| 1. 主要な技術スタック | |
| 2. アーキテクチャパターン | |
| 3. コーディング規約 | |
| 4. ビジネスドメイン | |
| 結果を.claude/steering/に保存してください" | |
| ``` | |
| ### ステップ2: Steeringファイルの作成 | |
| ```bash | |
| # Claude Codeに以下を指示 | |
| "以下のSteeringファイルを作成してください: | |
| .claude/steering/product.md: | |
| - プロダクトのビジョン | |
| - ターゲットユーザー | |
| - 主要機能 | |
| - ビジネス価値 | |
| .claude/steering/tech-stack.md: | |
| - 使用言語とフレームワーク | |
| - データベース設計 | |
| - 外部サービス統合 | |
| - デプロイメント環境 | |
| .claude/steering/conventions.md: | |
| - 命名規則 | |
| - ディレクトリ構造 | |
| - コミットメッセージ形式 | |
| - コードレビュー基準" | |
| ``` | |
| ## 📋 機能開発ワークフロー | |
| ### Phase 1: Requirements(要件定義) | |
| ```bash | |
| claude "新機能: [機能名] | |
| 以下の形式で要件定義書を作成し、.claude/specs/requirements.mdに保存してください: | |
| ## 機能概要 | |
| [1-2文で機能を説明] | |
| ## ユーザーストーリー | |
| 各ストーリーを以下の形式で記述: | |
| - As a [ユーザータイプ] | |
| - I want [機能/アクション] | |
| - So that [ビジネス価値] | |
| ## 受け入れ条件(EARS記法) | |
| 各ユーザーストーリーに対して: | |
| - GIVEN [前提条件] | |
| - WHEN [アクション] | |
| - THEN [期待される結果] | |
| ## 非機能要件 | |
| - パフォーマンス要件 | |
| - セキュリティ要件 | |
| - アクセシビリティ要件 | |
| ## スコープ外 | |
| 明示的に含まない機能 | |
| ## 依存関係 | |
| 他の機能やシステムとの依存関係" | |
| ``` | |
| ### Phase 2: Design(設計) | |
| ```bash | |
| claude "要件定義書(.claude/specs/requirements.md)に基づいて、技術設計書を作成してください: | |
| .claude/specs/design.mdに以下を含めてください: | |
| ## アーキテクチャ概要 | |
| - システム構成図(Mermaid形式) | |
| - データフロー図 | |
| ## 技術的決定事項 | |
| - 選択した技術とその理由 | |
| - 代替案とトレードオフ | |
| ## API設計 | |
| - エンドポイント定義 | |
| - リクエスト/レスポンス形式 | |
| - エラーハンドリング | |
| ## データモデル | |
| - エンティティ定義 | |
| - リレーションシップ | |
| - インデックス戦略 | |
| ## セキュリティ考慮事項 | |
| - 認証・認可 | |
| - データ暗号化 | |
| - 脆弱性対策 | |
| ## テスト戦略 | |
| - ユニットテスト | |
| - 統合テスト | |
| - E2Eテスト" | |
| ``` | |
| ### Phase 3: Tasks(タスク分解) | |
| ```bash | |
| claude "設計書に基づいて、実装タスクを分解してください: | |
| .claude/specs/tasks.mdに以下の形式で記載: | |
| ## タスクリスト | |
| ### 優先度: 高 | |
| - [ ] タスク1: [説明] (推定: Xh) | |
| - サブタスク1.1 | |
| - サブタスク1.2 | |
| - [ ] タスク2: [説明] (推定: Xh) | |
| ### 優先度: 中 | |
| - [ ] タスク3: [説明] (推定: Xh) | |
| ### 優先度: 低 | |
| - [ ] タスク4: [説明] (推定: Xh) | |
| ## 実装順序 | |
| 1. まず[理由]のため、タスクXを実装 | |
| 2. 次に[理由]のため、タスクYを実装 | |
| ... | |
| ## リスクと軽減策 | |
| - リスク1: [説明] → 軽減策: [対応]" | |
| ``` | |
| ### Phase 4: Implementation(実装) | |
| ```bash | |
| # タスクごとに実装 | |
| claude "tasks.mdのタスク1を実装してください。 | |
| 実装時は以下を守ってください: | |
| - .claude/steering/のガイドラインに従う | |
| - 適切なエラーハンドリング | |
| - ユニットテストの同時作成" | |
| # 実装後の確認 | |
| claude "実装したコードが以下を満たしているか確認してください: | |
| - 要件定義の受け入れ条件 | |
| - 設計書の技術仕様 | |
| - コーディング規約" | |
| ``` | |
| ## 🔄 自動化フック | |
| ### Pre-commitフック | |
| ```bash | |
| #!/bin/bash | |
| # .claude/hooks/pre-commit.sh | |
| claude -p "コミット予定のファイルをレビューし、以下を確認してください: | |
| 1. コーディング規約の遵守 | |
| 2. セキュリティ脆弱性の有無 | |
| 3. テストカバレッジ | |
| 4. ドキュメントの更新必要性 | |
| 問題があれば修正提案を出力してください" \ | |
| --files $(git diff --cached --name-only) | |
| ``` | |
| ### テスト生成フック | |
| ```bash | |
| #!/bin/bash | |
| # .claude/hooks/test-gen.sh | |
| claude -p "変更されたファイルに対して: | |
| 1. 不足しているユニットテストを特定 | |
| 2. テストケースを生成 | |
| 3. エッジケースをカバー | |
| テストファイルを適切な場所に作成してください" | |
| ``` | |
| ## 📊 プロジェクト状態の確認 | |
| ```bash | |
| # 週次レビュー | |
| claude "プロジェクトの現在の状態を分析してください: | |
| 1. 完了したタスク vs 残タスク | |
| 2. 技術的負債の特定 | |
| 3. パフォーマンスボトルネック | |
| 4. セキュリティリスク | |
| 5. ドキュメントの更新状況 | |
| 改善提案を含むレポートを作成してください" | |
| ``` | |
| ## 🎨 カスタムテンプレート | |
| ### 機能追加テンプレート | |
| ```markdown | |
| # Feature: [機能名] | |
| ## Context | |
| [なぜこの機能が必要か] | |
| ## Workflow | |
| 1. Requirements gathering | |
| 2. Design decisions | |
| 3. Implementation approach | |
| 4. Testing strategy | |
| 5. Documentation needs | |
| ## Success Criteria | |
| - [ ] All acceptance criteria met | |
| - [ ] Tests passing with >80% coverage | |
| - [ ] Documentation updated | |
| - [ ] Code reviewed and approved | |
| ``` | |
| ### バグ修正テンプレート | |
| ```markdown | |
| # Bug Fix: [バグ概要] | |
| ## Issue Analysis | |
| - Symptoms: [観察された動作] | |
| - Root Cause: [原因分析] | |
| - Impact: [影響範囲] | |
| ## Solution | |
| - Approach: [修正方針] | |
| - Changes Required: [必要な変更] | |
| - Testing: [テスト方法] | |
| ## Prevention | |
| - [ ] Add regression test | |
| - [ ] Update documentation | |
| - [ ] Review similar code | |
| ``` | |
| ## 💡 ベストプラクティス | |
| 1. **コンテキストの維持** | |
| ```bash | |
| # セッション開始時に必ず実行 | |
| claude "プロジェクトコンテキストを読み込んでください: | |
| - .claude/steering/内のすべてのファイル | |
| - 現在のspecs/内のファイル | |
| これらを考慮して作業を進めます" | |
| ``` | |
| 2. **段階的な実装** | |
| - 大きなタスクは必ず小さく分解 | |
| - 各段階でテストとレビュー | |
| - 頻繁なコミット | |
| 3. **ドキュメントファースト** | |
| - コードを書く前に仕様を明確化 | |
| - 設計の議論をドキュメント化 | |
| - 決定事項とその理由を記録 | |
| 4. **継続的な改善** | |
| ```bash | |
| # 定期的な振り返り | |
| claude "このワークフローの改善点を提案してください: | |
| - 効率化できるステップ | |
| - 自動化できるタスク | |
| - 品質向上の施策" | |
| ``` | |
| ## 🚦 Quick Start Commands | |
| ```bash | |
| # 新機能開発 | |
| alias kiro-feature='claude "$(cat .claude/templates/feature-spec.md)"' | |
| # バグ修正 | |
| alias kiro-fix='claude "$(cat .claude/templates/bug-fix.md)"' | |
| # コードレビュー | |
| alias kiro-review='claude "変更内容をレビューし、改善提案をしてください"' | |
| # テスト生成 | |
| alias kiro-test='claude "このコードに対するテストを生成してください"' | |
| # ドキュメント更新 | |
| alias kiro-docs='claude "コード変更に基づいてドキュメントを更新してください"' | |
| ``` | |
| --- | |
| このワークフローにより、Claude CodeでKiroのようなspec-driven developmentを実現できます。チームのニーズに応じて調整してください。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment