高度なワークフロー
Claude Code のセッション管理、パイプ入力、CI/CD 連携など、上級者向けの機能を学びます。
セッション管理
Claude Code は会話の履歴を セッション として管理しています。セッション機能を使いこなすことで、作業の継続性が向上します。
セッションの再開
前回の会話を引き継いで作業を続けることができます。
# 直前のセッションを再開
claude --continue
# 特定のセッションを再開(セッション ID を指定)
claude --resume <session-id>セッションの活用
長期的なタスク(複数日にまたがるリファクタリングなど)では、セッションの再開が便利です。前回の会話の文脈を保持した状態で作業を続けられます。
セッションの一覧
# セッション一覧を表示
claude --listセッションの保存期間
セッションはローカルに保存されます。古いセッションは自動的にクリーンアップされる場合があります。
パイプ入力
Claude Code はパイプ(|)を使って、他のコマンドの出力を直接入力として受け取れます。
基本的なパイプ入力
# git diff の結果を Claude に渡してレビューしてもらう
git diff | claude "この差分をレビューしてください"
# ログファイルを分析してもらう
cat error.log | claude "このエラーログの原因を分析してください"
# テスト結果を分析してもらう
npm test 2>&1 | claude "テスト結果を分析して、失敗の原因を教えてください"パイプ入力の便利な使い方
パイプ入力を使えば、他のツールの出力を Claude に直接分析してもらえます。手動でコピー&ペーストする手間が省けます。
実践例
# ESLint の結果を修正してもらう
npx eslint src/ 2>&1 | claude "これらの ESLint エラーを修正してください"
# TypeScript の型エラーを修正してもらう
npx tsc --noEmit 2>&1 | claude "これらの型エラーを修正してください"
# セキュリティ監査の結果を分析
npm audit 2>&1 | claude "このセキュリティ監査結果を分析して、対応方針を教えてください"非対話モード(ヘッドレス)
-p(print)オプションを使うと、非対話モードで Claude Code を実行できます。スクリプトや自動化に最適です。
# 非対話モードで質問
claude -p "このプロジェクトの README を更新してください"
# 出力形式を指定
claude -p --output-format json "package.json の依存関係を分析してください"非対話モードの特徴
- 会話のやり取りなし(1回の指示で完了)
- スクリプトから呼び出し可能
- 出力形式を JSON などに指定可能
- CI/CD パイプラインでの利用に適している
CI/CD との連携
Claude Code をCI/CD パイプラインに組み込むことで、さまざまな自動化が可能です。
GitHub Actions での利用例
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Run Code Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
git diff origin/main...HEAD | claude -p \
"この差分をコードレビューしてください。問題があれば指摘してください。"GitLab CI での利用例
code-review:
stage: review
script:
- npm install -g @anthropic-ai/claude-code
- git diff origin/main...HEAD | claude -p
"この差分をコードレビューしてください"
only:
- merge_requestsCI/CD での注意事項
- API キーは必ずシークレットとして管理してください
- 非対話モード(
-p)を使ってください - コスト管理のため、実行頻度に注意してください
- 機密情報を含むファイルを Claude に渡さないよう注意してください
CI/CD で自動化できるタスク
| タスク | 説明 |
|---|---|
| コードレビュー | PR の差分を自動レビュー |
| テスト生成 | 新しいコードに対するテストの自動生成 |
| ドキュメント更新 | コード変更に伴うドキュメントの自動更新 |
| 変更ログ生成 | コミット履歴からの CHANGELOG 自動生成 |
| セキュリティ検査 | セキュリティ脆弱性のチェック |
スクリプトでの活用
シェルスクリプトからの呼び出し
#!/bin/bash
# daily-review.sh - 日次コードレビュースクリプト
# 昨日からの変更を取得してレビュー
CHANGES=$(git log --since="1 day ago" --oneline)
if [ -n "$CHANGES" ]; then
git diff HEAD~5...HEAD | claude -p \
"昨日からの変更をレビューして、要点をまとめてください"
fiNode.js からの呼び出し
import { execSync } from 'child_process';
// Claude Code を非対話モードで呼び出し
const result = execSync(
'claude -p "package.json の依存関係をチェックして"',
{ encoding: 'utf-8' }
);
console.log(result);SDK を使った連携
Claude Code は SDK としてプログラムから呼び出すこともできます。
import { ClaudeCode } from '@anthropic-ai/claude-code';
const claude = new ClaudeCode();
const result = await claude.sendMessage(
"このコードをレビューしてください"
);詳しくは Anthropic の公式ドキュメントを参照してください。
複数ツールの組み合わせ
Claude Code は他のツールと組み合わせることで、さらに強力になります。
# 変更されたファイルのみをレビュー
git diff --name-only main | xargs -I {} claude -p \
"{}のコードをレビューしてください"
# テスト失敗 → 自動修正 → 再テスト
npm test 2>&1 | claude -p \
"テスト失敗を修正してください" && npm test自動化の段階的な導入
最初は手動で Claude Code を使い、慣れてきたらスクリプト化し、最終的に CI/CD に組み込む、という段階的なアプローチがおすすめです。
まとめ
| 機能 | コマンド | 用途 |
|---|---|---|
| セッション再開 | claude --continue | 前回の作業を継続 |
| パイプ入力 | cmd | claude "..." | 他のツールの出力を分析 |
| 非対話モード | claude -p "..." | スクリプト・CI/CD 向け |
| CI/CD 連携 | GitHub Actions 等 | 自動コードレビュー |
これで Step 6 のチーム開発は完了です。次は、複数の Claude を協調させる Step 7: マルチエージェント に進みましょう。