Claude Code 開発ワークフロー¶
このガイドでは、claude-project-template から構築されたプロジェクトで Claude Code を使用する方法を説明します。テンプレートは、規約を強制し定型作業を自動化する Rules、Skills、Hooks、Agents による構造化された開発ワークフローを提供します。
概要¶
Claude Code は Anthropic の AI 支援ソフトウェア開発用 CLI ツールです。テンプレートは以下の要素で構成されています:
Rules — コーディング規約の強制(テスト、コメント、Git 規約)
Skills — ワークフローの自動化(ステアリング、レビュー、コミット)
Hooks — ミスの防止(force-push のブロック、編集の検証)
Agents — 専門タスクの委譲(コードレビュー、ビルドエラー解決)
Commands — 複数ステップのプロジェクトセットアップワークフロー
すべての設定はプロジェクトルートの .claude/ ディレクトリに格納されています。
ディレクトリ構成¶
.claude/
├── rules/ # Behavioral rules Claude Code follows
│ ├── testing.md
│ ├── code-comments.md
│ ├── git-conventions.md
│ ├── steering-workflow.md
│ └── documentation.md
├── skills/ # Slash-command workflows
│ ├── steering/ # /steering — plan/implement/review cycle
│ ├── catchup/ # /catchup — restore session state
│ ├── review/ # /review — code review
│ ├── review-docs/ # /review-docs — document quality review
│ ├── git-workflow/ # /git-workflow — branch/commit/PR automation
│ ├── add-feature/ # /add-feature — full feature implementation
│ ├── add-rule/ # /add-rule — add new rules
│ ├── development-guidelines/ # /development-guidelines
│ ├── implementation-validator/ # /implementation-validator
│ └── prd-writing/ # /prd-writing — PRD creation
├── commands/ # Multi-step command workflows
│ └── setup-project.md # Initial project setup
├── agents/ # Subagent definitions
│ ├── code-reviewer.md # Automated code review checklist
│ └── build-resolver.md # Build error diagnosis
├── hooks/ # Shell scripts triggered by events
│ ├── validate-bash.sh
│ ├── validate-file-edit.sh
│ ├── check-tasklist.sh
│ ├── pre-compact-save.sh
│ ├── session-info.sh
│ └── check-prohibition-language.sh
├── settings.json # Shared permissions and hook config
└── settings.local.json # Local-only permissions (not committed)
Rules¶
Rules は .claude/rules/ 内の Markdown ファイルで、必須の動作制約を定義します。Claude Code はすべてのやり取りでこれらを読み込みます。
ルールファイル |
目的 |
|---|---|
|
すべてのコード変更にテストを要求する。テストは |
|
クラスおよび非自明なメソッドに英語の KDoc コメントを要求する |
|
絵文字コミットプレフィックス、機能単位のコミット粒度、ブランチ命名規則 |
|
コードを書く前に |
|
永続的ドキュメント( |
Rules は命令形で記述され、交渉の余地のない制約として扱われます。新しいルールを追加するには、.claude/rules/ に .md ファイルを作成し、CLAUDE.md から参照してください。
Skills¶
Skills は /<skill-name> で呼び出すスラッシュコマンドワークフローです。各スキルには動作を定義する SKILL.md ファイルがあります。
コアワークフロー Skills¶
スキル |
コマンド |
説明 |
|---|---|---|
Steering |
|
要件定義書、設計書、タスクリストを作成する |
|
進捗を追跡しながらタスクリストを実行する |
|
|
実装後の振り返り |
|
Catchup |
|
|
Review |
|
未コミットの変更に対してコードレビューを実行する |
Git Workflow |
|
命名規則に従ってブランチを作成する |
|
絵文字プレフィックスを自動検出しコミットメッセージを生成する |
|
|
タイトル、概要、テスト計画付きの PR を作成する |
|
|
ブランチの状態と規約のリマインダーを表示する |
コード品質 Skills¶
スキル |
コマンド |
説明 |
|---|---|---|
Review Docs |
|
5つの基準(完全性、明確性、一貫性、実装可能性、測定可能性)でドキュメントを評価する |
Implementation Validator |
|
5つの基準(仕様準拠、コード品質、テストカバレッジ、セキュリティ、パフォーマンス)でコードを検証する |
Development Guidelines |
|
コーディングガイドラインの確認または作成 |
プロジェクトセットアップ Skills¶
スキル |
コマンド |
説明 |
|---|---|---|
PRD Writing |
|
テンプレートからプロダクト要求定義書を作成する |
Add Feature |
|
機能実装の完全なワークフロー(ステアリング + コード + テスト + コミット) |
Add Rule |
|
|
例:Steering スキルの使用¶
# 1. Plan a feature
> /steering plan jsx-highlighting
# Claude creates .steering/20260222-001-jsx-highlighting/ with:
# requirements.md, design.md, tasklist.md
# 2. Review and approve the documents, then implement
> /steering implement .steering/20260222-001-jsx-highlighting
# 3. After implementation, review
> /steering review .steering/20260222-001-jsx-highlighting
Commands¶
.claude/commands/ 内の Commands は、複数のスキルを組み合わせたマルチステップワークフローを定義します。
コマンド |
ファイル |
ステップ |
|---|---|---|
|
|
アイデアを読む → PRD を作成 → 機能設計書を作成 |
Commands はスキルと同じ方法で呼び出します:/setup-project。機能追加は add-feature スキル(skills/add-feature/)で駆動します。
Agents¶
Agents は Claude Code が専門ワーカーとして起動するサブエージェント定義です。隔離されたコンテキストで実行され、構造化されたレポートを返します。
code-reviewer¶
8項目の自動コードレビューを実行します:
ドキュメントコメントの有無
変更に対するテストファイルの存在
自動生成ファイルが手動編集されていないこと
パッケージ/モジュール構造が規約に準拠していること
コードスタイルの準拠
テスト品質(意味のあるアサーション、デッドコードなし)
デッドコード検出(未使用インポート、コメントアウトされたブロック)
エッジケースのカバレッジ(null/空値、境界値、エラー処理)
出力:各項目に PASS/WARN/FAIL が付いた Markdown チェックリスト。
build-resolver¶
4つのステップでビルドエラーを診断します:
CLAUDE.mdのビルドコマンドを使用してエラーを再現する分類:コンパイル / ビルド設定 / 依存関係 / フレームワーク API / コード生成
根本原因の特定(ファイル、行、コンテキスト)
具体的なコード変更として修正案を提示する
Hooks¶
Hooks は Claude Code のイベントに応じて自動実行されるシェルスクリプトです。.claude/settings.json で設定します。
フックスクリプト |
トリガー |
動作 |
|---|---|---|
|
PreToolUse (Bash) |
|
|
PreToolUse (Edit/Write) |
自動生成ファイルへの編集をブロックする(カスタマイズ可能) |
|
PostToolUse (Edit/Write) |
ルールファイル内の否定的な表現をブロックする |
|
Stop |
タスクリストに未完了のタスクがある場合に警告する |
|
PreCompact |
セッション状態を |
|
SessionStart |
開発環境の情報を表示する(ブランチ、ツールバージョン) |
フックの終了コード¶
コード |
意味 |
|---|---|
|
許可(メッセージなし) |
|
情報メッセージ付きで許可 |
|
stderr のエラーメッセージと共にアクションをブロック |
例:validate-bash.sh¶
#!/bin/bash
# Reads tool input from stdin as JSON
INPUT=$(cat)
COMMAND=$(echo "$INPUT" | jq -r '.command // empty')
if echo "$COMMAND" | grep -qE 'git\s+push\s+.*--force'; then
echo "BLOCKED: Force push is not allowed." >&2
exit 2
fi
exit 0
設定¶
settings.local.json(ローカル専用)¶
ローカル設定は開発者固有の権限設定用です。このファイルはバージョン管理にコミットしません:
{
"permissions": {
"allow": [
"Bash(git commit *)"
]
}
}
永続的ドキュメント¶
docs/ ディレクトリには、プロジェクトと共に発展する永続的なプロジェクトドキュメントが格納されています:
ファイル |
目的 |
|---|---|
|
プロダクトビジョン、ユーザーストーリー、機能ロードマップ |
|
コンポーネント設計、Extension Point マッピング |
|
技術スタック、制約条件、パフォーマンス要件 |
|
コーディング規約、テスト規約 |
|
ソースコードのレイアウト、ファイル配置ルール |
|
ドメイン用語の定義 |
これらのドキュメントは CLAUDE.md から @docs/filename.md 構文で参照され、すべての Claude Code セッションでコンテキストとして利用可能になります。
ステアリングワークフロー¶
ステアリングワークフローはコア開発プロセスです。軽微でないすべてのコード変更は、このサイクルに従います:
1. Plan¶
3つのドキュメントを含む .steering/ ディレクトリを作成します:
.steering/20260222-001-jsx-highlighting/
├── requirements.md # What to build (user-approved)
├── design.md # How to build it (user-approved)
└── tasklist.md # Step-by-step tasks (user-approved)
ディレクトリ名の形式は [YYYYMMDD]-[NNN]-[title] で、NNN は連番です。
2. Implement¶
tasklist.md のタスクを1つずつ進めます:
各タスクの開始時(完了時ではなく)に
[ ]→[x]に更新する実装は git worktree 内で行う(main から隔離)
機能単位の粒度でコミットする(実装 + テスト + 設定 = 1コミット)
3. Review¶
実装後:
/reviewで自動コードレビューを実行するビルドの成功を確認する:
./gradlew buildPluginテストの成功を確認する:
./gradlew testマージタスクを含むすべてのタスクリスト項目を
[x]にするユーザーの承認を得て main にマージする
セッションの復元¶
コンテキストが圧縮またはクリアされた場合、/catchup で復元します:
.claude/session-state.mdから保存された状態を読み込む最新の
.steering/*/tasklist.mdを検索する現在のブランチ、変更ファイル、次のタスクを報告する
カスタマイズ¶
新しいルールの追加¶
明確で命令形の制約を記述した
.claude/rules/<rule-name>.mdを作成するCLAUDE.mdのルールセクションに@.claude/rules/<rule-name>.mdを追加する強制ルールには必須の前文を使用する:
以下は強制的な行動指示であり、例外なく従うこと。
新しいスキルの追加¶
.claude/skills/<skill-name>/SKILL.mdを作成するスキルのトリガー、入力、ステップ、出力形式を定義する
スキルは
/<skill-name>として利用可能になる
新しいフックの追加¶
.claude/hooks/<hook-name>.shを作成する(実行権限を付与すること).claude/settings.jsonの適切なトリガーに登録する終了コード
0で許可、2でブロックする
新しいエージェントの追加¶
.claude/agents/<agent-name>.mdを作成するエージェントのチェックリスト、分析ステップ、出力形式を定義する
スキルまたは手動での呼び出しから参照する