🦁

【Claude Codeチャレンジ日誌1】WSL + Claude Code + GitHub 自動プッシュ環境構築手順書

に公開

最近、Claude Code入門したら感動しすぎてはまったので、いろいろチャレンジした内容を日誌にしていこうかと思います。

まずは、Claude code上からgithubに自動Pushしたくなったので環境構築したときの手順を整理してみました。

参考になれば幸いです。

概要

Windows WSL環境でClaude Codeを使い、自然言語の指示だけでGitHubへの自動プッシュを実現する手順書です。

最終目標: 「このディレクトリをGitリポジトリとして初期化して、GitHubに新しいリポジトリを作成してプッシュしてください」という指示だけで、すべて自動実行される環境を構築します。

前提条件

  • Windows 10/11 with WSL2 (Ubuntu)
  • Claude Code がインストール済み
  • Node.js, npm がインストール済み
  • GitHubアカウント
  • Claude Max または Anthropic Console アカウント

ステップ 1: Git ユーザー設定(事前準備)

1.1. Gitユーザー情報の設定

SSH鍵生成や認証の前に、Gitのユーザー情報を設定します。これにより、後でコミット時のエラーを防げます。

# GitHubユーザー名の設定(あなたのGitHubアカウント名)
git config --global user.name "<ユーザ名>"

# メールアドレスの設定(GitHubアカウントのメールアドレス)
git config --global user.email "your_email@example.com"

# または、プライバシー保護のためGitHubのno-replyメールアドレスを使用
git config --global user.email "<ユーザ名>@users.noreply.github.com"

1.2. 設定の確認

# 設定されたユーザー情報を確認
git config --global --list | grep user

# 期待される出力:
# user.name=<ユーザ名>
# user.email=your_email@example.com

ステップ 2: SSH鍵の生成(GitHub CLI使用)

2.1. GitHub CLI でSSH鍵の自動生成

gh auth login

2.2. 初期設定での選択

? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations on this host? SSH
? Generate a new SSH key to add to your GitHub account? Yes
? Enter a passphrase for your new SSH key (Optional) [パスフレーズ入力またはEnter]
? Title for your SSH key: GitHub CLI
? How would you like to authenticate GitHub CLI? 

ここで一旦ストップ! 認証方法選択の前に、生成されたSSH鍵をGitHubサイトで手動登録します。

2.3. 生成されたSSH鍵の確認

# 生成された公開鍵の内容を表示
cat ~/.ssh/id_ed25519.pub

# 出力例(この内容をコピー):
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx your_email@example.com

2.4. WSLでクリップボードコピー

# Windowsクリップボードにコピー
cat ~/.ssh/id_ed25519.pub | clip.exe

ステップ 3: GitHubサイトでSSH鍵の登録

3.1. GitHubのSSH設定ページにアクセス

https://github.com/settings/ssh

3.2. SSH鍵の追加

  1. 「New SSH key」をクリック
  2. 設定内容:
    • Title: WSL Ubuntu - GitHub CLI
    • Key type: Authentication Key
    • Key: ステップ2.3でコピーした公開鍵(ssh-ed25519で始まる内容)を貼り付け
  3. 「Add SSH key」をクリック

ステップ 4: Personal Access Token の作成

4.1. トークン作成ページにアクセス

https://github.com/settings/tokens

4.2. 新しいトークンを作成

  1. 「Generate new token」→「Generate new token (classic)」
  2. 設定内容:
    • Note: GitHub CLI - WSL
    • Expiration: 90 days
    • 必須スコープ:
      ✅ repo (Full control of private repositories)
      ✅ read:org (Read org and team membership)
      ✅ admin:public_key (Fully manage public keys)
      ✅ workflow (Update GitHub Action workflows)
      ✅ gist (Create gists)
      
  3. 「Generate token」をクリック
  4. 重要: トークン(ghp_xxxxx...)をコピーして保存

ステップ 5: GitHub CLI 認証の完了

5.1. 中断していた認証プロセスの継続

ステップ2で中断していたgh auth loginに戻ります:

? How would you like to authenticate GitHub CLI? Paste an authentication token

「Paste an authentication token」を選択

5.2. トークンの貼り付け

? Paste your authentication token: [ステップ4.2でコピーしたトークンを貼り付け]

5.3. 認証成功の確認

成功すると以下のような表示が出ます:

✓ Authentication complete.
- gh config set -h github.com git_protocol ssh
✓ Configured git protocol
✓ SSH key already existed on your GitHub account: /home/[username]/.ssh/id_ed25519.pub
✓ Logged in as [あなたのGitHubユーザー名]

この時点で完了しているもの:

  • Gitユーザー設定 ✅
  • SSH鍵ペア(秘密鍵・公開鍵)の生成 ✅
  • 公開鍵のGitHubアカウントへの手動登録 ✅
  • Personal Access Tokenの作成 ✅
  • GitHub CLI認証の完了 ✅

ステップ 6: 設定の確認とテスト

6.1. GitHub CLI認証状態の確認

gh auth status

# 期待される出力:
# github.com
#   ✓ Logged in to github.com as [username] (~/.config/gh/hosts.yml)
#   ✓ Git operations for github.com configured to use ssh protocol.
#   ✓ Token: ghp_************************************
#   ✓ Token scopes: admin:public_key, gist, read:org, repo, workflow

ステップ 7: Claude Code の起動と認証

7.1. Claude Code の起動

# Claude Codeを起動
claude

ステップ 8: 実際の使用例(成功実績)

8.1. 基本的な自然言語指示

プロジェクトディレクトリで以下のような指示を出すだけで、すべて自動実行されます:

claude

# Claude Code内で以下の指示:
> このディレクトリをGitリポジトリとして初期化して、GitHubに新しいリポジトリを作成してプッシュしてください

8.2. Claude Code が自動実行する内容

実際の実行ログから、以下の処理が自動で行われることが確認されています:

  1. Git リポジトリの初期化:

    git init
    
  2. ユーザー設定は既に完了済み:
    ステップ1で事前に設定したため、「Author identity unknown」エラーは発生しません ✅

  3. 初期コミットの作成:

    git add -A && git commit -m "Initial commit"
    
  4. GitHubリポジトリの作成:

    gh repo create [folder-name] --public
    
  5. SSH接続の問題解決:

    ssh-keyscan github.com >> ~/.ssh/known_hosts
    
  6. リモート追加とプッシュ:

    git remote add origin git@github.com:[username]/[repo-name].git
    git push -u origin master
    

実証済みのエラー解決能力

実際の使用で以下のエラーが発生しても、Claude Code が自動で解決することが確認できました:

自動解決されるエラー例

  1. SSH Host Key 未認証: ssh-keyscanで自動解決 ✅
  2. リモートURL の不整合: HTTPS ↔ SSH の自動切り替え ✅
  3. リポジトリ名の重複: 既存リポジトリの確認と適切な処理 ✅

事前設定により回避されるエラー

  1. Git ユーザー設定不備: ステップ1で事前設定済みのため発生しない ✅

重要な改善点: ステップ1でGitユーザー設定を事前に行うことで、「Author identity unknown」エラーを完全に回避可能。

成功確認チェックリスト

以下がすべて ✅ になれば完全セットアップ完了です:

  • Gitユーザー設定が完了している(user.name, user.email)
  • SSH鍵がGitHubに登録されている
  • gh auth status が成功する
  • claude コマンドでClaude Codeが起動する
  • 自然言語指示でGitHubプッシュが成功する

まとめ

この手順により、以下が実現できます:

完全な自然言語操作: 技術的なコマンドを覚える必要なし
自動エラー解決: SSH認証エラーなども自動で修正
GitHubワークフロー自動化: リポジトリ作成からプッシュまで一貫して自動実行
高度な機能: プルリクエスト、ブランチ管理、Issue対応も自然言語で操作可能

Accenture Japan (有志)

Discussion