Claude Codeで開発を自動化する実践テクニック

Anthropicが提供する公式CLI「Claude Code」を使えば、コーディング作業の多くを自動化できます。この記事では、実際に業務で使っている自動化テクニックを紹介します。

「毎回Acceptボタンを押すのが面倒」「定型作業をスクリプト化したい」という方は、ぜひ参考にしてください。

1. 確認なしで実行する「自動実行モード」

基本: –dangerously-skip-permissions

名前の通り「危険だけどスキップする」オプションです。すべての確認ダイアログをスキップして、Claude Codeが自律的に作業を進めます。

claude --dangerously-skip-permissions "srcフォルダ内のTODOコメントを一覧化して"

使いどころ:

  • 読み取り専用の調査タスク
  • 信頼できる定型スクリプト
  • CI/CDパイプライン

注意: ファイル削除やgit pushなども確認なしで実行されるため、本番環境では慎重に。


2. 「このツールだけ許可」で安全に自動化

–allowedTools で細かく制御

完全自動は怖いけど、読み取りだけなら自動化したい——そんなときに便利です。

# 読み取り系のみ許可(安全)
claude --allowedTools "Read,Glob,Grep" "このプロジェクトの構造を説明して"

# 編集も許可(やや慎重に)
claude --allowedTools "Read,Glob,Grep,Edit,Write" "READMEにインストール手順を追加して"

# テスト実行も許可
claude --allowedTools "Read,Glob,Grep,Edit,Bash(npm test)" "テストが通るようにバグを修正して"

ポイント: BashBash(npm test) のようにコマンドを限定できます。


3. パイプラインで「コンテキストを渡す」

git diffをレビューさせる

これが個人的に一番使う技です。

# コミット前の変更をレビュー
git diff | claude "この変更に問題がないか確認して"

# 特定ブランチとの差分をレビュー
git diff main...HEAD | claude "このPRの変更点を要約して"

ファイル内容を直接渡す

# エラーログを解析
Get-Content error.log | claude "このエラーの原因と解決策を教えて"

# 設定ファイルをチェック
Get-Content docker-compose.yml | claude "セキュリティ上の問題がないか確認して"

4. CLAUDE.md で「プロジェクトの文脈」を自動注入

プロジェクトルートに置くだけ

Claude Codeは起動時に CLAUDE.md を自動的に読み込みます。コーディング規約やプロジェクト構造を書いておけば、毎回説明する必要がありません。

# MyProject

## 技術スタック
- Next.js 14 (App Router)
- TypeScript
- Prisma + PostgreSQL

## コーディング規約
- 関数コンポーネントを使用
- 状態管理はZustand
- テストはVitest

これだけで「Next.js 14のApp Routerで〜」と毎回言わなくても、適切なコードを生成してくれます。


5. settings.json で「デフォルト許可」を設定

毎回のAcceptを減らす

~/.claude/settings.json に設定を書いておけば、特定のツールは自動許可されます。

{
  "permissions": {
    "allow": [
      "Read(**)",
      "Glob(**)",
      "Grep(**)",
      "Bash(npm run lint)",
      "Bash(npm run test)",
      "Bash(git status)",
      "Bash(git diff)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git push --force)"
    ]
  }
}

allow: 確認なしで実行
deny: 絶対に実行しない(間違って指示しても安全)


6. 実践例: 自動コードレビュースクリプト

PowerShellスクリプト化

# scripts/claude-review.ps1
param(
    [Parameter(Mandatory=$true)]
    [string]$Target = "."
)

$prompt = @"
以下の観点でコードレビューしてください:
1. バグの可能性
2. セキュリティリスク
3. パフォーマンス問題
4. 可読性・保守性
"@

if ($Target -eq "staged") {
    git diff --cached | claude $prompt
} elseif ($Target -eq "branch") {
    git diff main...HEAD | claude $prompt
} else {
    Get-Content $Target | claude $prompt
}

使い方:

# ステージング中の変更をレビュー
.\scripts\claude-review.ps1 -Target staged

# ブランチ全体をレビュー
.\scripts\claude-review.ps1 -Target branch

# 特定ファイルをレビュー
.\scripts\claude-review.ps1 -Target src/api/users.ts

7. よく使うエイリアス集

PowerShellプロファイル($PROFILE)に追加しておくと便利です:

# Claude Code ショートカット
function cr { claude -r }                    # 会話を再開
function cc { claude -c }                    # 会話を継続
function cq { param($q) claude $q }          # クイック質問

# コードレビュー系
function creview {
    param($f)
    Get-Content $f | claude "このコードをレビューして"
}

function cdiff {
    git diff | claude "この変更をレビューして"
}

# 自動修正系
function cfix {
    param($f)
    claude --allowedTools "Read,Edit" "このファイルのバグを修正して: $f"
}

まとめ

テクニック安全性自動化度おすすめ度
–dangerously-skip-permissions最高CI/CD向け
–allowedTools中〜高日常使い
パイプライン入力必須テク
CLAUDE.md絶対設定すべき
settings.json設定推奨

個人的なおすすめは「CLAUDE.md + –allowedTools + パイプライン」の組み合わせです。安全性を保ちながら、かなりの作業を自動化できます。

完全自動(--dangerously-skip-permissions)は、CI/CDや信頼できるスクリプト内でのみ使用するのが良いでしょう。


関連リンク

この記事が役に立ったら、ぜひ試してみてください!