自動化と CI/CD

スクリプトや CI/CD パイプラインで Claude Code のヘッドレスモードを使用する

自動化と CI/CD

Claude Code はヘッドレス(headless)モードに対応しており、スクリプト、CI/CD パイプライン、自動化ワークフローで人手を介さずに使用できます。

基本的な使い方

単発実行(-p モード)

# 基本的な実行
claude -p "このプロジェクトのアーキテクチャを分析して"

# JSON 出力形式
claude -p "すべての TODO コメントを一覧表示して" --output-format json

# 実行ターン数の制限
claude -p "UserService のユニットテストを作成して" --max-turns 5

使用可能なツールの制限

# 読み取り専用の分析(書き込み不可)
claude -p "コード品質を分析して" --allowedTools Read,Glob,Grep

# 読み書き許可(コマンド実行不可)
claude -p "このファイルをリファクタリングして" --allowedTools Read,Write,Edit

権限プロンプトのスキップ

安全な隔離環境(Docker コンテナや CI 環境など)の場合:

claude -p "すべての lint エラーを修正してコミットして" --dangerously-skip-permissions

セキュリティ警告--dangerously-skip-permissions はすべての権限プロンプトをスキップします。信頼できる隔離環境でのみ使用してください

CI/CD 連携の例

GitHub Actions

name: AI Code Review
on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:

      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '22'

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run AI Code Review
        env:
          ANTHROPIC_BASE_URL: "https://asia.qcode.cc/api"
          ANTHROPIC_AUTH_TOKEN: ${{ secrets.QCODE_API_KEY }}
        run: |
          claude -p "この PR のコード変更をレビューして、セキュリティとパフォーマンスの問題に注目して" \
            --output-format json \
            --max-turns 3 \
            --allowedTools Read,Glob,Grep \
            > review.json

スクリプトによる自動化

#!/bin/bash
# auto-test.sh — テストの自動生成と実行

export ANTHROPIC_BASE_URL="https://asia.qcode.cc/api"
export ANTHROPIC_AUTH_TOKEN="cr_your_api_key"

# テストを生成
claude -p "src/services/ 配下のすべてのファイルにユニットテストを生成して" \
  --max-turns 10 \
  --allowedTools Read,Write,Glob,Grep,Bash

# テストを実行
npm test

セッションの復元

複数回の呼び出し間でコンテキストを維持できます:

# 1 回目の呼び出し:分析
claude -p "プロジェクトのアーキテクチャを分析して" --session-id "ci-task-42" --output-format json

# 2 回目の呼び出し:分析結果に基づく改善提案
claude -p "前回の分析に基づいて改善案を提示して" --resume --session-id "ci-task-42"

出力形式

形式 パラメーター 説明
プレーンテキスト --output-format text デフォルト、人間が読みやすい
JSON --output-format json 構造化出力、スクリプトでの解析に最適
ストリーミング JSON --output-format stream-json リアルタイムストリーミング出力

環境変数

変数 説明
ANTHROPIC_BASE_URL QCode.cc API エンドポイント
ANTHROPIC_AUTH_TOKEN API キー
CLAUDE_CODE_MAX_TURNS デフォルトの最大ターン数
CLAUDE_CODE_OUTPUT_FORMAT デフォルトの出力形式

ベストプラクティス

  1. 常にターン数を制限する:CI では --max-turns を使って無限実行を防止

  2. ツールを制限する--allowedTools で必要なツールのみを許可

  3. 隔離環境を使用する:Docker コンテナ内で --dangerously-skip-permissions を使用

  4. JSON 出力を使用する:自動化シーンでは --output-format json で解析を容易に

次のステップ

🚀
QCode を始めよう — AI プログラミングアシスタント
Claude Code 公式リレー、高速・安定・すぐに使える
料金プランを見る → アカウント登録