diff --git a/CLAUDE.md b/CLAUDE.md index c7dfdb4..2526f5f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,58 +1,123 @@ # CLAUDE.md ## プロジェクト概要 -- このリポジトリは、スマホで開発できるテンプレートを提供する。 -- READMEやIssueから、どのような機能・アプリを作るかClaude Codeが判断する。 - -## 開発ルール -- **共通ルール**: 変数命名、コードスタイル、コメントの書き方はプロジェクト内で統一する。 -- **Spec Kit + TDD統合開発**: 仕様駆動開発とテスト駆動開発を組み合わせた開発フローを採用する。 -- **Issue Driven 開発**: すべての開発はIssueから開始し、Issueに紐づけて進める。 -- **MCPツールの使用必須**: 開発作業は基本的にMCPのツールを使用する。 -- **Formatter/Linter実行**: コード整形や静的解析はClaude CodeのHooksから自動実行すること。 -- **プロジェクト憲法遵守**: 開発原則の一貫した適用と品質ゲートの確実な実行。 -- **CLAUDE.mdの改善**: 開発を始める際には、READMEやIssueを参照して、そのプロジェクト用にCLAUDE.mdを必要に応じて改善する。 - -### Spec Kit + TDD 開発フロー -1. **仕様作成** (`/specify`) - 自然言語から正式仕様を作成 -2. **計画立案** (`/plan`) - 技術選定と実装計画 -3. **タスク生成** (`/tasks`) - TDD準拠のタスクリスト作成 -4. **TDD実装** (`/implement`) - Red-Green-Refactorサイクル -5. **品質確認** (`/code-review`, `/constitution`) - 品質とプロジェクト憲法への準拠確認 - -## 構成 -- `.github/workflows/claude.yml` : Claude Codeを動作させるワークフロー -- `README.md` : プロジェクト概要と開発ガイド -- `CLAUDE.md` : Claude Codeへの指示 -- `.claude/commands/` : カスタムスラッシュコマンド定義 -- `.claude/agents/` : 専門サブエージェント定義 -- `.claude/hooks/` : コード検証・整形スクリプト -- `.specify/` : Spec Kit設定・テンプレート・実行スクリプト +このリポジトリは、スマートフォンからClaude Code Actionsを使って自動開発を行うためのテンプレートリポジトリです。 +Spec Kit + TDD統合開発フローを採用し、Issue Drivenで品質の高いソフトウェア開発を実現します。 + +### 主要な特徴 +- **スマホ対応開発環境**: モバイルデバイスから本格的な開発作業が可能 +- **複数のワークフロー**: 用途別に最適化された6つのGitHub Actionsワークフロー +- **自動化された品質管理**: コードレビュー、テスト、ドキュメント生成の自動化 +- **専門エージェント活用**: 分野特化型AIエージェントによる高品質な開発支援 + +## 開発ルール・原則 + +### 基本原則 +- **共通ルール**: 変数命名、コードスタイル、コメントの書き方はプロジェクト内で統一 +- **Spec Kit + TDD統合開発**: 仕様駆動開発とテスト駆動開発を組み合わせた開発フロー +- **Issue Driven 開発**: すべての開発はIssueから開始し、Issueに紐づけて進行 +- **MCPツールの使用必須**: 開発作業は基本的にMCPのツールを使用 +- **Formatter/Linter実行**: コード整形や静的解析はClaude CodeのHooksから自動実行 +- **プロジェクト憲法遵守**: 開発原則の一貫した適用と品質ゲートの確実な実行 + +### Spec Kit + TDD 統合開発フロー +1. **仕様作成** (`/spec-kit:specify`) - 自然言語から正式仕様を作成 +2. **計画立案** (`/spec-kit:plan`) - 技術選定と実装計画 +3. **タスク生成** (`/spec-kit:tasks`) - TDD準拠のタスクリスト作成 +4. **TDD実装** (`/spec-kit:implement`) - Red-Green-Refactorサイクル +5. **品質確認** (`/development:code-review`, `/spec-kit:constitution`) - 品質とプロジェクト憲法への準拠確認 + +## プロジェクト構成 + +### ディレクトリ構造 +``` +├── .claude/ # Claude Code設定 +│ ├── commands/ # カスタムスラッシュコマンド定義 +│ ├── agents/ # 専門サブエージェント定義 +│ ├── hooks/ # コード検証・整形スクリプト +│ └── settings.json # Claude Code設定 +├── .github/workflows/ # GitHub Actions(6つのワークフロー) +│ ├── claude.yml # 基本ワークフロー +│ ├── claude-project.yml # プロジェクト管理 +│ ├── claude-spec.yml # 仕様策定 +│ ├── claude-code-review.yml # コードレビュー +│ ├── claude-docs.yml # ドキュメント生成 +│ └── claude-project-management.yml # 高度なプロジェクト管理 +├── .specify/ # Spec Kit設定・テンプレート・実行スクリプト +├── docs/ # プロジェクトドキュメント +├── .mcp.json # MCP設定 +├── CLAUDE.md # このファイル +└── README.md # プロジェクト概要 +``` ### ドキュメント - `docs/COMMANDS.md` : スラッシュコマンド詳細ガイド - `docs/AGENTS.md` : サブエージェント詳細ガイド - `docs/SPEC_KIT_TDD_WORKFLOW.md` : Spec Kit + TDD統合ワークフロー - `docs/GITHUB_ACTIONS_SETUP.md` : GitHub Actions設定ガイド +- `docs/prompt.md` : カスタムプロンプト定義 + +## GitHub Actionsワークフロー + +### ワークフロー一覧とトリガー条件 + +#### 1. claude.yml - 基本ワークフロー +**トリガー**: `@claude` を含むコメント・Issue・PR +**用途**: 一般的な開発作業、コード修正、機能実装 +**実行コンテキスト**: 汎用的な開発タスク全般 + +#### 2. claude-project.yml - プロジェクト初期セットアップ +**トリガー**: `@claude setup` を含むコメント・Issue・PR +**用途**: プロジェクトの初期セットアップ、環境構築 +**実行コンテキスト**: 新規プロジェクト作成、開発環境の初期化 + +#### 3. claude-spec.yml - 仕様策定・計画 +**トリガー**: `@claude plan` を含むコメント・Issue・PR +**用途**: 仕様作成、実装計画、アーキテクチャ設計 +**利用可能コマンド**: Spec Kit統合コマンド群 -## 設定・制約 -- 依存ライブラリの追加は最小限にとどめる。 -- トリガー条件やワークフローの変更も最小限にする。 +#### 4. claude-code-review.yml - コードレビュー +**トリガー**: `@claude review` を含むコメント・Issue・PR +**用途**: 自動コードレビュー、品質分析 +**実行コンテキスト**: コード品質の向上、ベストプラクティスの適用 + +#### 5. claude-docs.yml - ドキュメント生成 +**トリガー**: `@claude docs` を含むコメント・Issue・PR +**用途**: API ドキュメント、README、技術文書の生成・更新 +**実行コンテキスト**: ドキュメンテーション作業 + +#### 6. claude-project-management.yml - 高度なプロジェクト管理 +**トリガー**: `@claude manage` を含むコメント・Issue・PR +**用途**: プロジェクト管理、タスク調整、進捗管理 +**実行コンテキスト**: 大規模プロジェクトの管理・調整 + +### 設定要件 +#### 必要なSecrets +- `CLAUDE_CODE_OAUTH_TOKEN`: Claude Code認証トークン +- `ANTHROPIC_API_KEY`: Anthropic API キー +- `GITHUB_TOKEN`: GitHub Actions標準トークン(自動設定) + +#### 権限設定 +- `contents: write` - ファイル読み書き +- `pull-requests: write` - PR操作 +- `issues: write` - Issue操作 +- `actions: read` - Actions実行状況参照 +- `statuses: write` - コミット状態更新 +- `repository-projects: write` - プロジェクト操作 ## カスタムスラッシュコマンド -以下のスラッシュコマンドが利用可能です: ### プロジェクト管理 - `/project-management:setup-project` - プロジェクトの初期セットアップ ### Spec Kit統合コマンド(仕様駆動開発) -- `/spec-kit:specify` - 自然言語から仕様作成 -- `/spec-kit:plan` - 仕様から実装計画作成 -- `/spec-kit:clarify` - 仕様の対話的明確化 -- `/spec-kit:tasks` - TDD準拠のタスクリスト生成 -- `/spec-kit:implement` - TDDサイクルでの実装 -- `/spec-kit:analyze` - 既存仕様の分析 -- `/spec-kit:constitution` - プロジェクト憲法管理 +- `/spec-kit:specify` - 自然言語から正式仕様を作成 +- `/spec-kit:plan` - 仕様から具体的な実装計画を生成 +- `/spec-kit:clarify` - 仕様の曖昧な点を対話的に明確化 +- `/spec-kit:tasks` - 実装計画からTDD準拠のタスクリストを生成 +- `/spec-kit:implement` - TDDサイクルに従った機能実装 +- `/spec-kit:analyze` - 既存仕様の分析と評価 +- `/spec-kit:constitution` - プロジェクト憲法の作成・更新 ### 開発支援 - `/development:code-review` - コード品質分析とレビュー @@ -66,30 +131,131 @@ - `/documentation:docs-gen` - ドキュメント生成 ## 専門サブエージェント -専門分野に特化したサブエージェントが利用可能です: -- `rust-expert` - Rust開発専門家 -- `web-developer` - Web開発専門家 -- `mobile-developer` - モバイルアプリ開発専門家 -- `devops-engineer` - DevOpsとインフラ専門家 -- `data-scientist` - データサイエンスと機械学習専門家 -- `security-expert` - セキュリティと脆弱性専門家 - -## 使用方法 -### スラッシュコマンドの使用 + +### 言語・技術特化エージェント +- **rust-expert**: Rust開発専門家 + - 所有権システム、ライフタイム管理、パフォーマンス最適化 +- **web-developer**: Web開発専門家 + - フロントエンド技術、レスポンシブデザイン、ウェブアクセシビリティ +- **mobile-developer**: モバイルアプリ開発専門家 + - iOS/Android ネイティブ開発、クロスプラットフォーム開発 + +### 専門分野特化エージェント +- **devops-engineer**: DevOpsとインフラ専門家 + - CI/CD、コンテナ技術、クラウドインフラ、監視・ログ管理 +- **data-scientist**: データサイエンスと機械学習専門家 + - データ分析、機械学習モデル、統計処理、可視化 +- **security-expert**: セキュリティと脆弱性専門家 + - 脆弱性診断、セキュリティ監査、暗号化、認証システム + +## 実行方法と使用例 + +### ワークフロー起動方法 + +#### 基本的な開発作業 +```markdown +# Issue または PR コメントで +@claude ログイン機能を実装してください +@claude /development:code-review src/auth.rs +@claude rust-expert: 所有権エラーを修正してください ``` + +#### プロジェクト初期セットアップ +```markdown +# Issue または PR コメントで +@claude setup 新しいRustプロジェクトをセットアップしてください +@claude setup Web開発環境を構築してください +``` + +#### 仕様策定・計画作業 +```markdown +# Issue または PR コメントで +@claude plan ユーザー管理システムの仕様を作成してください +@claude plan APIの設計を検討してください +``` + +#### コードレビュー +```markdown +# Issue または PR コメントで +@claude review このPRのコードをレビューしてください +@claude review --focus security セキュリティ観点でレビューしてください +``` + +#### ドキュメント生成 +```markdown +# Issue または PR コメントで +@claude docs APIドキュメントを生成してください +@claude docs README.mdを更新してください +``` + +#### プロジェクト管理 +```markdown +# Issue または PR コメントで +@claude manage プロジェクトの進捗を管理してください +@claude manage タスクの優先度を調整してください +``` + +### スラッシュコマンド詳細使用方法 + +#### プロジェクト管理 +```markdown @claude /project-management:setup-project +# プロジェクトの初期セットアップを自動実行 + +#### Spec Kit統合コマンド +```markdown +@claude /spec-kit:specify "ユーザー認証システム" +# 自然言語から正式仕様を作成 + +@claude /spec-kit:plan +# 仕様から実装計画を生成 + +@claude /spec-kit:tasks +# TDD準拠のタスクリストを生成 + +@claude /spec-kit:implement +# TDDサイクルで実装を進行 +``` + +#### 開発支援コマンド +```markdown @claude /development:code-review src/main.rs +# 指定ファイルのコードレビュー + +@claude /development:debug-help "認証エラーが発生" +# デバッグ支援 + +@claude /development:refactor --target src/auth/ +# リファクタリング実行 + @claude /testing:test-gen --unit --integration -``` +# テストコード生成 -### サブエージェントの呼び出し -``` -@claude rust-expert: 所有権エラーを修正してください -@claude web-developer: レスポンシブデザインを実装してください -@claude security-expert: 脆弱性を検査してください +@claude /documentation:docs-gen --api +# APIドキュメント生成 ``` -## テスト・検証 -- `@claude` コメント付きIssue/PRで動作確認する。 -- 実行結果はGitHub Actionsのログで確認する。 -- TDDに従い、まずテストを書いてから機能を実装する。 \ No newline at end of file +## テスト・検証・運用 + +### 動作確認方法 +1. **Issue作成**: 新しいIssueを作成し、`@claude [指示]` でコメント +2. **PR作成**: Pull Requestを作成し、`@claude [指示]` でコメント +3. **実行確認**: GitHub Actions タブで実行状況を確認 +4. **結果確認**: スティッキーコメントで最終結果を確認 + +### ログ確認方法 +1. GitHub リポジトリの **Actions** タブを開く +2. 該当のワークフロー実行を選択 +3. **claude**, **claude-project**, **claude-spec** などのジョブを選択 +4. ステップごとの詳細ログを確認 + +### トラブルシューティング +- **ワークフローが起動しない**: `@claude` キーワードの確認、Actionsの有効化、Secrets設定 +- **権限エラー**: GitHub Token権限設定、リポジトリ権限設定の確認 +- **コマンドが動作しない**: `.claude/commands/` ファイル確認、コマンド名の確認 + +### 品質保証 +- **TDD遵守**: テストファーストでの開発 +- **自動品質チェック**: Hooks による Formatter/Linter 自動実行 +- **プロジェクト憲法準拠**: 開発原則の一貫した適用 +- **継続的改善**: フィードバックに基づくCLAUDE.mdの継続的改善 \ No newline at end of file diff --git a/README.md b/README.md index 147a034..6c8f3fd 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,240 @@ # SmartPhoneAutoDevelopSetup -スマホでClaude Code Actionsを動かして勝手に開発させるためのテンプレートリポジトリ。 -## 基本ルール +スマホでClaude Code Actionsを動かして自動開発するためのテンプレートリポジトリ。 +Spec Kit + TDD統合開発フローを採用し、Issue Drivenで品質の高いソフトウェア開発を実現します。 -- `develop`ブランチを基本的にベースとする。(mainブランチへの誤ったPushを回避するため - - `Bash(git checkout main)`は禁止した方がいいかも +## 🚀 特徴 ---- -**参考リンク** -- https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md ---- +- **スマホ対応開発環境**: スマートフォンからClaude Code Actionsで開発可能 +- **Spec Kit + TDD統合**: 仕様駆動開発とテスト駆動開発を組み合わせた開発フロー +- **Issue Driven開発**: すべての開発はIssueから開始し、体系的に管理 +- **自動化されたワークフロー**: GitHub Actionsによる自動レビュー・テスト・デプロイ +- **豊富なスラッシュコマンド**: 開発作業を効率化するカスタムコマンド +- **専門サブエージェント**: 分野特化型AIエージェントによる高品質な開発支援 + +## 📁 プロジェクト構成 + +``` +├── .claude/ # Claude Code設定 +│ ├── commands/ # カスタムスラッシュコマンド +│ ├── agents/ # 専門サブエージェント +│ └── hooks/ # コード検証・整形スクリプト +├── .github/workflows/ # GitHub Actions +├── .specify/ # Spec Kit設定・テンプレート +├── docs/ # プロジェクトドキュメント +├── CLAUDE.md # Claude Codeへの詳細指示 +└── README.md # このファイル +``` + +## 🛠️ 開発フロー + +### Spec Kit + TDD 統合開発 +1. **仕様作成** (`/spec-kit:specify`) - 自然言語から正式仕様を作成 +2. **計画立案** (`/spec-kit:plan`) - 技術選定と実装計画 +3. **タスク生成** (`/spec-kit:tasks`) - TDD準拠のタスクリスト作成 +4. **TDD実装** (`/spec-kit:implement`) - Red-Green-Refactorサイクル +5. **品質確認** (`/development:code-review`, `/spec-kit:constitution`) - 品質とプロジェクト憲法への準拠確認 + +## 📋 利用可能なスラッシュコマンド + +### プロジェクト管理 +- `/project-management:setup-project` - プロジェクトの初期セットアップ + +### Spec Kit統合コマンド(仕様駆動開発) +- `/spec-kit:specify` - 自然言語から仕様作成 +- `/spec-kit:plan` - 仕様から実装計画作成 +- `/spec-kit:clarify` - 仕様の対話的明確化 +- `/spec-kit:tasks` - TDD準拠のタスクリスト生成 +- `/spec-kit:implement` - TDDサイクルでの実装 +- `/spec-kit:analyze` - 既存仕様の分析 +- `/spec-kit:constitution` - プロジェクト憲法管理 + +### 開発支援 +- `/development:code-review` - コード品質分析とレビュー +- `/development:debug-help` - デバッグ支援とエラー分析 +- `/development:refactor` - コードリファクタリングと改善 +- `/testing:test-gen` - テストコード生成 +- `/documentation:docs-gen` - ドキュメント生成 + +## 🤖 専門サブエージェント + +以下の分野に特化したAIエージェントが利用可能: + +- **rust-expert** - Rust開発専門家 +- **web-developer** - Web開発専門家 +- **mobile-developer** - モバイルアプリ開発専門家 +- **devops-engineer** - DevOpsとインフラ専門家 +- **data-scientist** - データサイエンスと機械学習専門家 +- **security-expert** - セキュリティと脆弱性専門家 + +## 🚦 使用方法 + +### 基本的なワークフロー起動 + +#### 1. 通常の開発作業 (`@claude`) +**起動条件**: Issue または PR コメントで `@claude` を含める + +```markdown +@claude ログイン機能を実装してください +@claude /development:code-review src/auth.rs +@claude rust-expert: 所有権エラーを修正してください +``` + +**トリガーイベント**: +- Issue コメント作成時 +- PR レビューコメント作成時 +- Issue 作成・割り当て時 +- PR レビュー投稿時 + +#### 2. プロジェクト初期セットアップ (`@claude setup`) +**起動条件**: Issue または PR コメントで `@claude setup` を含める + +```markdown +@claude setup 新しいRustプロジェクトをセットアップしてください +@claude setup Web開発環境を構築してください +``` + +**自動実行内容**: +- プロジェクト構造の分析・作成 +- 設定ファイルの確認・生成 +- 依存関係の解決 +- 開発環境の初期化 +- CI/CD設定の確認 + +#### 3. 仕様策定・計画作業 (`@claude plan`) +**起動条件**: Issue または PR コメントで `@claude plan` を含める + +```markdown +@claude plan ユーザー管理システムの仕様を作成してください +@claude plan APIの設計を検討してください +``` + +**利用可能なコマンド**: +- `/spec-kit:specify` - 自然言語から正式仕様を作成 +- `/spec-kit:plan` - 仕様から実装計画を生成 +- `/spec-kit:clarify` - 仕様の対話的明確化 +- `/spec-kit:tasks` - TDD準拠のタスクリスト生成 +- `/spec-kit:implement` - TDDサイクルでの実装 + +### スラッシュコマンドの詳細使用方法 + +#### プロジェクト管理 +```markdown +@claude /project-management:setup-project +# → プロジェクトの初期セットアップを実行 +``` + +#### 開発支援 +```markdown +@claude /development:code-review src/main.rs +# → 指定ファイルのコードレビューを実行 + +@claude /development:debug-help "認証エラーが発生します" +# → デバッグ支援とエラー分析を実行 + +@claude /development:refactor --target src/auth/ +# → 指定ディレクトリのリファクタリングを実行 +``` + +#### テスト生成 +```markdown +@claude /testing:test-gen --unit --integration +# → ユニットテストと統合テストを生成 + +@claude /testing:test-gen src/user_service.rs +# → 指定ファイル用のテストを生成 +``` + +#### ドキュメント生成 +```markdown +@claude /documentation:docs-gen --api +# → API ドキュメントを生成 + +@claude /documentation:docs-gen README +# → README ファイルを生成・更新 +``` + +### サブエージェントの呼び出し方法 + +```markdown +# 言語・技術特化 +@claude rust-expert: 所有権エラーを修正してください +@claude web-developer: レスポンシブデザインを実装してください +@claude mobile-developer: iOS向けUIを作成してください + +# 専門分野特化 +@claude security-expert: 脆弱性スキャンを実行してください +@claude devops-engineer: CI/CDパイプラインを構築してください +@claude data-scientist: データ分析コードを最適化してください +``` + +### ワークフロー実行確認 + +#### 実行状況の確認方法 +1. **GitHub Actions タブ**で実行状況を確認 +2. **Issue/PR のコメント**でリアルタイム進捗を確認 +3. **スティッキーコメント**で最終結果を確認 + +#### 実行ログの確認 +``` +1. GitHub リポジトリの [Actions] タブを開く +2. 該当のワークフロー実行を選択 +3. [claude], [claude-project], [claude-spec] などのジョブを選択 +4. ステップごとの詳細ログを確認 +``` + +### トラブルシューティング + +#### よくある問題と解決方法 + +**1. ワークフローが起動しない** +- `@claude` キーワードがコメントに含まれているか確認 +- リポジトリの Actions が有効になっているか確認 +- 必要な Secrets (`CLAUDE_CODE_OAUTH_TOKEN`, `ANTHROPIC_API_KEY`) が設定済みか確認 + +**2. 権限エラーが発生する** +- GitHub Token の権限設定を確認 +- リポジトリの Settings > Actions > General の権限設定を確認 + +**3. 特定のコマンドが動作しない** +- `.claude/commands/` ディレクトリの該当ファイルが存在するか確認 +- コマンド名のスペルや形式が正しいか確認 + +## ⚙️ GitHub Actions + +以下のワークフローが自動実行されます: + +- **claude.yml** - 基本的なClaude Code実行 +- **claude-project.yml** - プロジェクト管理ワークフロー +- **claude-spec.yml** - Spec Kit統合ワークフロー +- **claude-code-review.yml** - 自動コードレビュー +- **claude-docs.yml** - ドキュメント生成 +- **claude-project-management.yml** - プロジェクト管理 + +## 📖 詳細ドキュメント + +- [COMMANDS.md](docs/COMMANDS.md) - スラッシュコマンド詳細ガイド +- [AGENTS.md](docs/AGENTS.md) - サブエージェント詳細ガイド +- [SPEC_KIT_TDD_WORKFLOW.md](docs/SPEC_KIT_TDD_WORKFLOW.md) - Spec Kit + TDD統合ワークフロー +- [GITHUB_ACTIONS_SETUP.md](docs/GITHUB_ACTIONS_SETUP.md) - GitHub Actions設定ガイド +- [CLAUDE.md](CLAUDE.md) - Claude Codeへの詳細指示 + +## 🔧 開発ルール + +- **共通ルール**: 変数命名、コードスタイル、コメントの書き方はプロジェクト内で統一 +- **Issue Driven 開発**: すべての開発はIssueから開始し、Issueに紐づけて進行 +- **MCPツールの使用必須**: 開発作業は基本的にMCPのツールを使用 +- **Formatter/Linter実行**: コード整形や静的解析はClaude CodeのHooksから自動実行 +- **プロジェクト憲法遵守**: 開発原則の一貫した適用と品質ゲートの確実な実行 + +## 🧪 テスト・検証 + +- `@claude` コメント付きIssue/PRで動作確認 +- 実行結果はGitHub Actionsのログで確認 +- TDDに従い、まずテストを書いてから機能を実装 + +## 📚 参考リンク + +- [Claude Code Actions Usage](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md) +- [Spec Kit Documentation](.specify/) +- [プロジェクト憲法](.specify/memory/constitution.md)