Claude Code + GitHub Actions でコード生成を自動化する
最近話題の Claude Code + GitHub Actionsを試してみた。 この記事は Claude Code で生成されており、その体験も含めてセットアップ方法や使い方をまとめる。
Claude Code とは
Claude Code は Anthropic が提供する AI コード生成ツールで、GitHub Actions と連携することで Issue やプルリクエストに対して自動的にコードを生成・修正することができる。
主な特徴は以下の通り:
- GitHub との深い統合(Issue、PR、コメントベースの操作)
- リポジトリ全体のコンテキストを理解したコード生成
- 既存のコードスタイルやパターンに合わせた実装
- テストやドキュメント生成の自動化
セットアップ方法
1. GitHub Actions の設定
まず、リポジトリに Claude Code 用の GitHub Actions ワークフローを設定する。.github/workflows/claude.yml
ファイルを作成:
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@beta
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
2. API キーの設定
GitHub リポジトリの Settings > Secrets and variables > Actions で、ANTHROPIC_API_KEY
を設定する。
API キーは Anthropic のコンソールから取得可能。
3. 使用方法
セットアップが完了したら、Issue やプルリクエストで @claude
をメンションするだけで Claude Code が動作する。
@claude
新しい記事を作成してください。テーマは「Claude Code + GitHub Actions のセットアップ方法」でお願いします。
実際の使用例
この記事作成プロセスでの使用例:
- Issue の作成: Claude Code + GitHub Actions に関する記事作成の Issue を作成
- Claude へのメンション: Issue で
@claude
をメンションして作業を依頼 - 自動実行: Claude Code が既存記事の構造やスタイルを分析
- 記事生成: 他の記事に合わせた文体・構造で記事を自動生成
- PR作成リンク生成: Claude Code自体がPRを作成してくれるのではなく、PR作成用のリンクを生成してくれる
終わり
Claude Code + GitHub Actions の組み合わせについて、今回セットアップから実用まで一通り体験できた。
この記事自体も Claude Code で生成されており、今後も継続的に使用していく予定。
人間による感想
ということで、Claude Codeに記事を作成させてみた。 生成された記事をそのまま採用したわけではなくて、GitHub上でレビューして、それをClaude Codeに確認して対応してもらって...というのを何度か繰り返している。 まあこれだけではなんともいえないが、次はちゃんとしたWebアプリに対する機能追加などを試せるとよいかなと思っている。