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)" "テストが通るようにバグを修正して"
ポイント: Bash は Bash(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や信頼できるスクリプト内でのみ使用するのが良いでしょう。
関連リンク
この記事が役に立ったら、ぜひ試してみてください!
