実務でのClaudeCodeの使い方
はじめに
実務ではモバイルのクライアントとサーバーサイドを開発しています。
機能実装する際に、クライアントとサーバーをどちらも1人で実装することもよくあるため、特定の領域だけに特化したAIエージェントの使い方よりも、クライアントとサーバーサイドのどちらでも安定した出力を出すことができる方法を模索しています。
今回は、現時点での実務で実装する際のClaudeCodeの使い方を共有します。
CladeCodeを動かすディレクトリの全体像
- workingDir -> このディレクトリをCursorで開き、ClaudeCodeを起動
|- backend_repo -> このディレクトリをInteliJで開く
|- ios_client_repo -> このディレクトリをXcodeで開く
|- android_client_repo -> このディレクトリをAndroidStudioで開く
|- .claude -> cluade関連のファイルはここに格納
| |- contexts
| |- doc
| |- done
| |- tmp
| |- commands
|- CLAUDE.md
なぜこのような構成にしているかというと、workingDirをCursorまたはClaudeCodeで開いておくことで、クライアントとサーバーサイドを横断的に扱うことができ、サクッと何か調べたい時に、具体的に指定せずとも自律的に対応してくれるので便利だからです。
開発フロー
毎回のタスクで安定した出力を出すために、開発フローは決められたカスタムスラッシュコマンドを順番通りに実行していくだけのワークフローを採用しています。
ワークフローの型はAnthropicが公開しているClodeCodeを使用したAIエージェントコーディングのベストプラクティスに基づいています。
Explore(探索) -> plan(計画) -> code(実装) -> commit(コミット)
特に、Explore(探索) -> plan(計画)
が重要と言っているので、plan
の完成度を高めるために、AIに提供するコンテキストと、それによって出力されるplan
を自身でレビューしアップデートするというサイクルをループするようにしています。
コンテキストが明確で軽量な場合は、探索はせずに、/design
コマンドに渡します。
コンテキストが不明瞭な場合や、問題が複雑な場合等は、一度/analysis
コマンドで探索を実施し、その出力をもって、/design
コマンドに渡します。
- Explore(探索)が
- 必要な場合
- context ->
/analysis
->/design
->/implement
- context ->
- 必要でない場合
- context ->
/design
->/implement
- context ->
- 必要な場合
開発タスクを対応する際の一連の流れ
基本的に、AIが出力した成果物にユーザーが手を加えることはしないようにしていて、入力コンテキストであるrequirements.md
のみを編集することにしています。
各カスタムスラッシュコマンドでは、mdファイルを成果物として生成するようにしていて、.claude/tmp/
配下に格納するようにしています。
生成されたmdファイルは、後続のカスタムスラッシュコマンドの引数として入力するようにしています。
-
/requirements
コマンドで、コンテキストを記載するためのテンプレートmdファイルrequirements.md
を生成する。 -
requirements.md
にコンテキストを記載する。 - 探索が必要であれば、
/analysis
コマンドで、ソースコードの解析を実行します。 -
/design
コマンドで、requirements.md
を引数として渡し、実装プランを作成します。
成果物はdesign.md
として出力されます。
前段で/analysis
コマンドを実行している際は、参照できるようにrequirements.md
にanalysis.md
ファイルのパスを記載します。 -
design.md
をレビューし、修正点がある場合は、requirements.md
に加筆修正を加え、再度/design
コマンドを実行します。 -
/implements
コマンドで、design.md
を引数に渡し、実装します。 -
/review
コマンドの引数にdiffファイルを渡し、実装した内容をレビューします。 - レビューによる修正が必要な場合は、
/fix-review
コマンドの引数にreview.md
を渡し、指摘修正を実行します。 -
/done
コマンドで、tmp
ディレクトリをクリーンし、done
ディレクトリに使用したmdファイルや最終的な対応内容のサマリをmdファイルとして保存するようにしています。
まとめ
今回は実務で実際に使用しているClaudeCodeの使い方について紹介しました。
Explore(探索) -> plan(計画) -> code(実装) -> commit(コミット)
をカスタムスラッシュコマンドで順番通りに実行していくことで、適当にVibe Codingする際と比べて、AIの出力が安定していると感じています。
今後の改善点としては、カスタムスラッシュコマンドの精度向上とワークフローの効率化に注力して、日々の実務の中でアップデートしていくことが重要だと考えています。
最後に
株式会社ジャンボではエンジニアを絶賛募集中です!
少しでも気になった方はぜひカジュアルにお話しましょう!
Wantedly: https://www.wantedly.com/companies/company_725162
HP Recruit: https://jambo-inc.io/recruit/

株式会社ジャンボの公式テックブログです! ジャンボはスマートフォンアプリを中心に、100%自社で開発を手掛ける企業です。 【積極採用について】 Jamboでは、チームを拡大し、さらなる成長を目指して積極的に新しいメンバーを積極的に採用しています。→ jambo-inc.io/
Discussion