Skip to content

Instantly share code, notes, and snippets.

@y-hirakaw
Created July 19, 2025 08:55
Show Gist options
  • Select an option

  • Save y-hirakaw/52271bbadbfc10db45f201215579d72e to your computer and use it in GitHub Desktop.

Select an option

Save y-hirakaw/52271bbadbfc10db45f201215579d72e to your computer and use it in GitHub Desktop.
Claude CodeでKiro風 ワークフロー案
# 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