メインコンテンツへスキップ
このドキュメント内の各タスクには、明確な指示、コマンド例、およびベストプラクティスが含まれており、Claude Codeを最大限に活用するのに役立ちます。

新しいコードベースを理解する

コードベースの概要をすばやく取得する

新しいプロジェクトに参加したばかりで、その構造をすばやく理解する必要があるとします。
1

プロジェクトルートディレクトリに移動する

cd /path/to/project 
2

Claude Codeを開始する

claude 
3

高レベルの概要をリクエストする

> give me an overview of this codebase 
4

特定のコンポーネントをさらに詳しく調べる

> explain the main architecture patterns used here 
> what are the key data models?
> how is authentication handled?
ヒント:
  • 広い質問から始めて、特定の領域に絞り込みます
  • プロジェクトで使用されているコーディング規約とパターンについて質問します
  • プロジェクト固有の用語の用語集をリクエストします

関連するコードを見つける

特定の機能または機能に関連するコードを見つける必要があるとします。
1

Claudeに関連ファイルを見つけるよう依頼する

> find the files that handle user authentication 
2

コンポーネントがどのように相互作用するかについてのコンテキストを取得する

> how do these authentication files work together? 
3

実行フローを理解する

> trace the login process from front-end to database 
ヒント:
  • 探しているものについて具体的に説明します
  • プロジェクトのドメイン言語を使用します

バグを効率的に修正する

エラーメッセージが表示され、そのソースを見つけて修正する必要があるとします。
1

エラーをClaudeと共有する

> I'm seeing an error when I run npm test 
2

修正の推奨事項をリクエストする

> suggest a few ways to fix the @ts-ignore in user.ts 
3

修正を適用する

> update user.ts to add the null check you suggested 
ヒント:
  • 問題を再現するコマンドとスタックトレースをClaudeに伝えます
  • エラーを再現するための手順を記載します
  • エラーが断続的か一貫しているかをClaudeに知らせます

コードをリファクタリングする

古いコードを最新のパターンとプラクティスを使用するように更新する必要があるとします。
1

リファクタリング用のレガシーコードを特定する

> find deprecated API usage in our codebase 
2

リファクタリングの推奨事項を取得する

> suggest how to refactor utils.js to use modern JavaScript features 
3

変更を安全に適用する

> refactor utils.js to use ES2024 features while maintaining the same behavior 
4

リファクタリングを検証する

> run tests for the refactored code 
ヒント:
  • Claudeに最新のアプローチの利点を説明するよう依頼します
  • 必要に応じて、変更が下位互換性を維持することをリクエストします
  • リファクタリングを小さくテスト可能な増分で実行します

特殊なサブエージェントを使用する

特定のタスクをより効果的に処理するために、特殊なAIサブエージェントを使用したいとします。
1

利用可能なサブエージェントを表示する

> /agents
これにより、すべての利用可能なサブエージェントが表示され、新しいものを作成できます。
2

サブエージェントを自動的に使用する

Claude Codeは適切なタスクを自動的に特殊なサブエージェントに委譲します:
> review my recent code changes for security issues
> run all tests and fix any failures
3

特定のサブエージェントを明示的にリクエストする

> use the code-reviewer subagent to check the auth module
> have the debugger subagent investigate why users can't log in
4

ワークフロー用のカスタムサブエージェントを作成する

> /agents
次に、「Create New subagent」を選択し、プロンプトに従って以下を定義します:
  • サブエージェントの目的を説明する一意の識別子(例:code-reviewerapi-designer)。
  • Claudeがこのエージェントを使用する時期
  • アクセスできるツール
  • エージェントの役割と動作を説明するシステムプロンプト
ヒント:
  • チーム共有用に.claude/agents/にプロジェクト固有のサブエージェントを作成します
  • 自動委譲を有効にするために説明的なdescriptionフィールドを使用します
  • 各サブエージェントが実際に必要なツールへのアクセスを制限します
  • 詳細な例については、サブエージェントドキュメントを確認してください

プランモードを使用して安全なコード分析を行う

プランモードは、読み取り専用操作でコードベースを分析することによってプランを作成するようClaudeに指示します。これはコードベースの探索、複雑な変更の計画、またはコードの安全なレビューに最適です。

プランモードを使用する場合

  • マルチステップの実装:機能が多くのファイルへの編集を必要とする場合
  • コード探索:何かを変更する前にコードベースを徹底的に調査したい場合
  • インタラクティブな開発:Claudeとの方向性について反復したい場合

プランモードの使用方法

セッション中にプランモードをオンにする Shift+Tabを使用してセッション中にプランモードに切り替えることができます。 通常モードの場合、Shift+Tabは最初にオートアクセプトモードに切り替わります。これはターミナルの下部に⏵⏵ accept edits onで示されます。その後のShift+Tabはプランモードに切り替わります。これは⏸ plan mode onで示されます。 プランモードで新しいセッションを開始する プランモードで新しいセッションを開始するには、--permission-mode planフラグを使用します:
claude --permission-mode plan
プランモードで「ヘッドレス」クエリを実行する -pを使用してプランモードでクエリを直接実行することもできます(つまり、「ヘッドレスモード」で):
claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"

例:複雑なリファクタリングを計画する

claude --permission-mode plan
> I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
Claudeは現在の実装を分析し、包括的なプランを作成します。フォローアップで改善します:
> What about backward compatibility?
> How should we handle database migration?

プランモードをデフォルトとして構成する

// .claude/settings.json
{
  "permissions": {
    "defaultMode": "plan"
  }
}
詳細な設定オプションについては、設定ドキュメントを参照してください。

テストを使用する

カバーされていないコードのテストを追加する必要があるとします。
1

テストされていないコードを特定する

> find functions in NotificationsService.swift that are not covered by tests 
2

テストスキャフォルディングを生成する

> add tests for the notification service 
3

意味のあるテストケースを追加する

> add test cases for edge conditions in the notification service 
4

テストを実行して検証する

> run the new tests and fix any failures 
Claudeはプロジェクトの既存のパターンと規約に従うテストを生成できます。テストをリクエストする場合は、検証したい動作について具体的に説明してください。Claudeは既存のテストファイルを調べて、既に使用されているスタイル、フレームワーク、およびアサーションパターンと一致させます。 包括的なカバレッジのために、Claudeに見落とした可能性のあるエッジケースを特定するよう依頼します。Claudeはコードパスを分析し、エラー条件、境界値、および見落としやすい予期しない入力のテストを提案できます。

プルリクエストを作成する

変更に対して十分に文書化されたプルリクエストを作成する必要があるとします。
1

変更を要約する

> summarize the changes I've made to the authentication module 
2

Claudeでプルリクエストを生成する

> create a pr 
3

レビューと改善

> enhance the PR description with more context about the security improvements 
4

テストの詳細を追加する

> add information about how these changes were tested 
ヒント:
  • Claudeに直接PRを作成するよう依頼します
  • 送信する前にClaudeが生成したPRをレビューします
  • Claudeに潜在的なリスクまたは考慮事項を強調するよう依頼します

ドキュメントを処理する

コードのドキュメントを追加または更新する必要があるとします。
1

文書化されていないコードを特定する

> find functions without proper JSDoc comments in the auth module 
2

ドキュメントを生成する

> add JSDoc comments to the undocumented functions in auth.js 
3

レビューと改善

> improve the generated documentation with more context and examples 
4

ドキュメントを検証する

> check if the documentation follows our project standards 
ヒント:
  • 必要なドキュメントスタイルを指定します(JSDoc、docstringsなど)
  • ドキュメント内の例をリクエストします
  • パブリックAPI、インターフェース、および複雑なロジックのドキュメントをリクエストします

画像を使用する

コードベース内の画像を使用する必要があり、Claudeが画像コンテンツを分析するのに役立つとします。
1

会話に画像を追加する

次のいずれかの方法を使用できます:
  1. Claude Codeウィンドウに画像をドラッグアンドドロップします
  2. 画像をコピーしてCLIにctrl+vで貼り付けます(cmd+vは使用しないでください)
  3. Claudeに画像パスを提供します。例:「Analyze this image: /path/to/your/image.png」
2

Claudeに画像を分析するよう依頼する

> What does this image show?
> Describe the UI elements in this screenshot
> Are there any problematic elements in this diagram?
3

コンテキストに画像を使用する

> Here's a screenshot of the error. What's causing it?
> This is our current database schema. How should we modify it for the new feature?
4

ビジュアルコンテンツからコード提案を取得する

> Generate CSS to match this design mockup
> What HTML structure would recreate this component?
ヒント:
  • テキスト説明が不明確または面倒な場合は画像を使用します
  • エラー、UIデザイン、またはダイアグラムのスクリーンショットを含めて、より良いコンテキストを提供します
  • 会話で複数の画像を使用できます
  • 画像分析はダイアグラム、スクリーンショット、モックアップなどで機能します
  • Claudeが画像を参照する場合(例:[Image #1])、Cmd+Click(Mac)またはCtrl+Click(Windows/Linux)リンクをクリックして、デフォルトビューアで画像を開きます

ファイルとディレクトリを参照する

@を使用して、Claudeが読み込むのを待たずにファイルまたはディレクトリをすばやく含めます。
1

単一ファイルを参照する

> Explain the logic in @src/utils/auth.js
これにより、ファイルの完全な内容が会話に含まれます。
2

ディレクトリを参照する

> What's the structure of @src/components?
これにより、ファイル情報を含むディレクトリリストが提供されます。
3

MCPリソースを参照する

> Show me the data from @github:repos/owner/repo/issues
これにより、@server:resourceの形式を使用して接続されたMCPサーバーからデータを取得します。詳細については、MCPリソースを参照してください。
ヒント:
  • ファイルパスは相対パスまたは絶対パスです
  • @ファイル参照は、ファイルのディレクトリと親ディレクトリにCLAUDE.mdを追加します
  • ディレクトリ参照は内容ではなくファイルリストを表示します
  • 単一のメッセージで複数のファイルを参照できます(例:「@file1.js and @file2.js」)

拡張思考(思考モード)を使用する

拡張思考は、出力トークン予算の一部を予約して、Claudeが複雑な問題をステップバイステップで推論できるようにします。この推論は詳細モードで表示されます。詳細モードはCtrl+Oで切り替えることができます。 拡張思考は、複雑なアーキテクチャの決定、困難なバグ、マルチステップの実装計画、および異なるアプローチ間のトレードオフの評価に特に価値があります。複数のソリューションの探索、エッジケースの分析、および間違いの自己修正のためのより多くのスペースを提供します。
Sonnet 4.5とOpus 4.5はデフォルトで思考が有効になっています。他のすべてのモデルはデフォルトで思考が無効になっています。/modelを使用して、現在のモデルを表示または切り替えます。
Claude Codeの思考モードは、複数の方法で構成できます:
スコープ有効にする方法詳細
トグルショートカットOption+T(macOS)またはAlt+T(Windows/Linux)を押します思考をオン/オフに切り替えます。ターミナル設定を有効にしてOptionキーショートカットを有効にする必要がある場合があります
グローバルデフォルト/configを使用して思考モードをオンに切り替えますすべてのプロジェクト全体でデフォルトを設定します。
~/.claude/settings.jsonalwaysThinkingEnabledとして保存されます
環境変数のオーバーライドMAX_THINKING_TOKENS環境変数を設定します設定されている場合、すべてのリクエストにカスタムトークン予算を適用し、思考モード設定をオーバーライドします。例:export MAX_THINKING_TOKENS=1024

ultrathinkを使用したリクエストごとの思考

メッセージにultrathinkをキーワードとして含めることで、単一のリクエストに対して思考を有効にできます:
> ultrathink: design a caching layer for our API
ultrathinkは思考予算を割り当て、さらにClaudeに対してより徹底的に推論するよう意味的に信号を送ります。これにより、タスクに必要以上に深い思考が生じる可能性があります。 ultrathinkキーワードは、MAX_THINKING_TOKENSが設定されていない場合にのみ機能します。MAX_THINKING_TOKENSが構成されている場合、それが優先され、すべてのリクエストの思考予算を制御します。 「think」、「think hard」、「think more」などの他のフレーズは、通常のプロンプト指示として解釈され、思考トークンを割り当てません。 Claudeの思考プロセスを表示するには、Ctrl+Oを押して詳細モードを切り替え、グレーのイタリック体のテキストとして表示される内部推論を確認します。 詳細な予算情報とコストへの影響については、以下のトークン予算セクションを参照してください。

拡張思考トークン予算の仕組み

拡張思考は、Claudeが応答する前に実行できる内部推論の量を制御するトークン予算を使用します。 より大きな思考トークン予算は以下を提供します:
  • 複数のソリューションアプローチをステップバイステップで探索するためのより多くのスペース
  • エッジケースを分析し、トレードオフを徹底的に評価するためのスペース
  • 推論を修正し、間違いを自己修正する能力
思考モードのトークン予算:
  • 思考が有効/configまたはultrathink経由)の場合、Claudeは出力予算から最大31,999トークンを内部推論に使用できます
  • 思考が無効の場合、Claudeは思考に0トークンを使用します
カスタムトークン予算:
  • MAX_THINKING_TOKENS環境変数を使用してカスタム思考トークン予算を設定できます
  • これは最優先事項であり、デフォルトの31,999トークン予算をオーバーライドします
  • 有効なトークン範囲については、拡張思考ドキュメントを参照してください
Claude 4モデルが要約された思考を表示する場合でも、使用されたすべての思考トークンに対して課金されます

前の会話を再開する

Claude Codeを開始するときに、前のセッションを再開できます:
  • claude --continueは現在のディレクトリで最新の会話を続行します
  • claude --resumeは会話ピッカーを開くか、名前で再開します
アクティブなセッション内から、/resumeを使用して別の会話に切り替えます。 セッションはプロジェクトディレクトリごとに保存されます。/resumeピッカーは、ワークツリーを含む同じGitリポジトリからのセッションを表示します。

セッションに名前を付ける

セッションに説明的な名前を付けて、後で見つけやすくします。これは複数のタスクまたは機能に取り組む場合のベストプラクティスです。
1

現在のセッションに名前を付ける

セッション中に/renameを使用して、覚えやすい名前を付けます:
> /rename auth-refactor
ピッカーから任意のセッションの名前を変更することもできます:/resumeを実行し、セッションに移動して、Rを押します。
2

後で名前で再開する

コマンドラインから:
claude --resume auth-refactor
またはアクティブなセッション内から:
> /resume auth-refactor

セッションピッカーを使用する

/resumeコマンド(または引数なしのclaude --resume)は、これらの機能を備えたインタラクティブなセッションピッカーを開きます: ピッカーのキーボードショートカット:
ショートカットアクション
/ セッション間を移動します
/ グループ化されたセッションを展開または折りたたみます
Enterハイライトされたセッションを選択して再開します
Pセッションコンテンツをプレビューします
Rハイライトされたセッションの名前を変更します
/検索してセッションをフィルタリングします
A現在のディレクトリとすべてのプロジェクト間を切り替えます
B現在のGitブランチからのセッションにフィルタリングします
Escピッカーまたは検索モードを終了します
セッション組織: ピッカーは有用なメタデータを含むセッションを表示します:
  • セッション名または初期プロンプト
  • 最後のアクティビティからの経過時間
  • メッセージ数
  • Gitブランチ(該当する場合)
フォークされたセッション(/rewindまたは--fork-sessionで作成)は、ルートセッションの下にグループ化されており、関連する会話を見つけやすくなっています。
ヒント:
  • セッションを早期に名前付ける:個別のタスクで作業を開始するときに/renameを使用します。後で「payment-integration」を見つける方が「explain this function」よりもはるかに簡単です
  • 現在のディレクトリで最新の会話にすばやくアクセスするには--continueを使用します
  • 必要なセッションがわかっている場合は--resume session-nameを使用します
  • 参照して選択する必要がある場合は--resume(名前なし)を使用します
  • スクリプトの場合は、claude --continue --print "prompt"を使用して非対話型モードで再開します
  • ピッカーでPを押してセッションを再開する前にプレビューします
  • 再開された会話は、元の会話と同じモデルと設定で開始されます
仕組み:
  1. 会話ストレージ:すべての会話は完全なメッセージ履歴とともにローカルに自動保存されます
  2. メッセージの逆シリアル化:再開時に、コンテキストを維持するために全体のメッセージ履歴が復元されます
  3. ツール状態:前の会話からのツール使用と結果が保持されます
  4. コンテキスト復元:会話は前のすべてのコンテキストを保持して再開されます

Gitワークツリーを使用して並列Claude Codeセッションを実行する

複数のタスクに同時に取り組む必要があり、Claude Codeインスタンス間で完全なコード分離が必要なとします。
1

Gitワークツリーを理解する

Gitワークツリーを使用すると、同じリポジトリから複数のブランチを別々のディレクトリにチェックアウトできます。各ワークツリーは独自の作業ディレクトリを持ち、同じGit履歴を共有しています。詳細については、公式Gitワークツリードキュメントを参照してください。
2

新しいワークツリーを作成する

# 新しいブランチで新しいワークツリーを作成します
git worktree add ../project-feature-a -b feature-a

# または既存のブランチでワークツリーを作成します
git worktree add ../project-bugfix bugfix-123
これにより、リポジトリの別の作業コピーを持つ新しいディレクトリが作成されます。
3

各ワークツリーでClaude Codeを実行する

# ワークツリーに移動します
cd ../project-feature-a

# この分離された環境でClaude Codeを実行します
claude
4

別のワークツリーでClaudeを実行する

cd ../project-bugfix
claude
5

ワークツリーを管理する

# すべてのワークツリーをリストします
git worktree list

# 完了したらワークツリーを削除します
git worktree remove ../project-feature-a
ヒント:
  • 各ワークツリーは独立したファイル状態を持ち、並列Claude Codeセッションに最適です
  • 1つのワークツリーで行われた変更は他に影響を与えず、Claudeインスタンスが相互に干渉するのを防ぎます
  • すべてのワークツリーは同じGit履歴とリモート接続を共有します
  • 長時間実行されるタスクの場合、1つのワークツリーでClaudeが作業している間に別のワークツリーで開発を続行できます
  • 各ワークツリーがどのタスク用であるかを簡単に識別するために、説明的なディレクトリ名を使用します
  • 各新しいワークツリーでプロジェクトの設定に従って開発環境を初期化することを忘れないでください。スタックに応じて、これには以下が含まれる場合があります:
    • JavaScriptプロジェクト:依存関係のインストール実行(npm installyarn
    • Pythonプロジェクト:仮想環境の設定またはパッケージマネージャーでのインストール
    • その他の言語:プロジェクトの標準セットアップ手順に従う

Claudeをunixスタイルのユーティリティとして使用する

検証プロセスにClaudeを追加する

Claude Codeをリンターまたはコードレビューアーとして使用したいとします。 ビルドスクリプトにClaudeを追加します:
// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"
    }
}
ヒント:
  • CI/CDパイプラインで自動コードレビューにClaudeを使用します
  • プロンプトをカスタマイズして、プロジェクトに関連する特定の問題をチェックします
  • 異なるタイプの検証用に複数のスクリプトを作成することを検討します

パイプイン、パイプアウト

Claudeにデータをパイプインし、構造化された形式でデータを取得したいとします。 Claudeを通じてデータをパイプします:
cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt
ヒント:
  • パイプを使用してClaudeを既存のシェルスクリプトに統合します
  • 他のUnixツールと組み合わせて強力なワークフローを作成します
  • スクリプトまたは他のツールにClaudeを統合する場合は—output-formatの使用を検討します

出力形式を制御する

特にClaude Codeをスクリプトまたは他のツールに統合する場合、Claudeの出力が特定の形式である必要があるとします。
1

テキスト形式を使用する(デフォルト)

cat data.txt | claude -p 'summarize this data' --output-format text > summary.txt
これにより、Claudeのプレーンテキスト応答のみが出力されます(デフォルトの動作)。
2

JSON形式を使用する

cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json
これにより、コストと期間を含むメタデータを含むメッセージのJSON配列が出力されます。
3

ストリーミングJSON形式を使用する

cat log.txt | claude -p 'parse this log file for errors' --output-format stream-json
これにより、Claudeがリクエストを処理するときにリアルタイムでJSONオブジェクトの一連が出力されます。各メッセージは有効なJSONオブジェクトですが、連結された場合、全体の出力は有効なJSONではありません。
ヒント:
  • Claudeの応答だけが必要な単純な統合には--output-format textを使用します
  • 完全な会話ログが必要な場合は--output-format jsonを使用します
  • 各会話ターンのリアルタイム出力には--output-format stream-jsonを使用します

カスタムスラッシュコマンドを作成する

Claude Codeは、特定のプロンプトまたはタスクをすばやく実行するために作成できるカスタムスラッシュコマンドをサポートしています。 詳細については、スラッシュコマンドリファレンスページを参照してください。

プロジェクト固有のコマンドを作成する

プロジェクト用に、すべてのチームメンバーが使用できる再利用可能なスラッシュコマンドを作成したいとします。
1

プロジェクトにコマンドディレクトリを作成する

mkdir -p .claude/commands
2

各コマンド用にMarkdownファイルを作成する

echo "Analyze the performance of this code and suggest three specific optimizations:" > .claude/commands/optimize.md 
3

Claude Codeでカスタムコマンドを使用する

> /optimize 
ヒント:
  • コマンド名はファイル名から派生します(例:optimize.md/optimizeになります)
  • コマンドをサブディレクトリに整理できます(例:.claude/commands/frontend/component.mdは「(project:frontend)」が表示された状態で/componentを作成します)
  • プロジェクトコマンドはリポジトリをクローンしたすべてのユーザーが利用できます
  • Markdownファイルの内容は、コマンドが呼び出されたときにClaudeに送信されるプロンプトになります

$ARGUMENTSでコマンド引数を追加する

ユーザーからの追加入力を受け入れることができる柔軟なスラッシュコマンドを作成したいとします。
1

$ARGUMENTSプレースホルダーを含むコマンドファイルを作成する

echo 'Find and fix issue #$ARGUMENTS. Follow these steps: 1.
Understand the issue described in the ticket 2. Locate the relevant code in
our codebase 3. Implement a solution that addresses the root cause 4. Add
appropriate tests 5. Prepare a concise PR description' >
.claude/commands/fix-issue.md 
2

引数を使用してコマンドを使用する

Claudeセッションでコマンドを引数と共に使用します。
> /fix-issue 123 
これにより、プロンプト内の$ARGUMENTSが「123」に置き換わります。
ヒント:
  • $ARGUMENTSプレースホルダーは、コマンドに続くテキストに置き換わります
  • $ARGUMENTSをコマンドテンプレート内の任意の場所に配置できます
  • その他の有用なアプリケーション:特定の関数のテストケースの生成、コンポーネントのドキュメント作成、特定のファイルのコードレビュー、または指定された言語へのコンテンツの翻訳

個人用スラッシュコマンドを作成する

すべてのプロジェクトで機能する個人用スラッシュコマンドを作成したいとします。
1

ホームフォルダにコマンドディレクトリを作成する

mkdir -p ~/.claude/commands 
2

各コマンド用にMarkdownファイルを作成する

echo "Review this code for security vulnerabilities, focusing on:" >
~/.claude/commands/security-review.md 
3

個人用カスタムコマンドを使用する

> /security-review 
ヒント:
  • 個人用コマンドは/helpでリストされるときに説明に「(user)」が表示されます
  • 個人用コマンドはあなただけが利用でき、チームと共有されません
  • 個人用コマンドはすべてのプロジェクトで機能します
  • これらを使用して、異なるコードベース全体で一貫したワークフローを実現できます

Claudeの機能について質問する

Claudeは独自のドキュメントへの組み込みアクセスを持ち、独自の機能と制限についての質問に答えることができます。

質問例

> can Claude Code create pull requests?
> how does Claude Code handle permissions?
> what slash commands are available?
> how do I use MCP with Claude Code?
> how do I configure Claude Code for Amazon Bedrock?
> what are the limitations of Claude Code?
Claudeはこれらの質問に対してドキュメントベースの回答を提供します。実行可能な例と実践的なデモンストレーションについては、上記の特定のワークフローセクションを参照してください。
ヒント:
  • Claudeは使用しているバージョンに関係なく、常に最新のClaude Codeドキュメントにアクセスできます
  • 詳細な回答を得るために具体的な質問をします
  • ClaudeはMCP統合、エンタープライズ構成、および高度なワークフローなどの複雑な機能を説明できます

次のステップ

Claude Codeリファレンス実装

開発コンテナリファレンス実装をクローンします。