mcpField
C
cofounder-repo-setup

cofounder-repo-setup

github.com/locaweb開発4118 回インストール6 日前に更新
リポジトリ

cofounder-repo-setup について

cofounder-repo-setupは、GH CLIを使ってローカルのGitリポジトリを初期化し、GitHubリモートを作成または接続するスキルです。デバイスコード認証を案内し、設定前にoriginリモートの有無を確認します。

主な機能

  1. 01ローカルGitリポジトリの初期化
  2. 02GitHubリモートの作成または接続
  3. 03デバイスコードによる認証
  4. 04既存のoriginリモートの確認

活用シーン

  1. 01新規プロジェクトのGit設定
  2. 02対応するGitHubリポジトリの作成
  3. 03ブラウザーを開かないGH CLI認証
  4. 04既存のGitHubリポジトリへの接続

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/locaweb/cofounder --skill cofounder-repo-setup

インストール後、Claude Code で/cofounder-repo-setupを入力して読み込まれたか確認します。

同梱ファイルscripts/repo-init.sh

詳細

リポジトリのセットアップ

ローカルの git リポジトリを初期化し、すべての環境で確実に動作するデバイスコード認証を使って、GH CLI で対応するリモートリポジトリを GitHub に作成します。

前提条件

最初に computer-setup スキルを実行する必要があります。このスキルによって gh と git がインストールされます。

続行するには GitHub アカウントが必要です。ユーザーがアカウントを持っていない場合は、作成方法を案内してください。

  1. https://github.com/ にアクセスします。
  2. Sign up(または、ソーシャルログインの場合は Continue with Google)をクリックします。
  3. 画面の案内に従い、メールアドレスを確認します。メールアドレスが確認されていないと、リポジトリの作成に失敗します。

サインアップ後に二要素認証を有効にすることをおすすめします。詳しくは、GitHub でのアカウント作成をご覧ください。

認証

デバイスコードフロー

gh auth status を実行し、ユーザーが認証済みと表示されるかどうかを確認します。

未認証の場合は、次を実行します。

GH_FORCE_TTY=1 NO_COLOR=1 GH_PROMPT_DISABLED=1 gh auth login --hostname github.com --git-protocol https --scopes "repo,read:org,workflow" > /tmp/gh-auth.log 2>&1 & sleep 3 && cat /tmp/gh-auth.log

ログファイルの出力をそのままユーザーに表示し、デバイスコード(XXXX-XXXX のような短い英数字の文字列)を探すよう案内します。これは GitHub OAuth デバイスフロー用の一時的な使い捨てデバイスコードであり、長期間有効な認証情報ではありません。ユーザーはターミナルの出力から直接コードを読み取り、自分で https://github.com/login/device に入力します。たとえば、次のように案内します。

GitHub へのログインが必要です!

上記の出力から、1 回限りのコード(形式:XXXX-XXXX)を探してください。 ブラウザーで https://github.com/login/device を開き、コードを入力してください。

ブラウザーでの認証を完了し、完了したら確認するようユーザーに伝えます。

認証の確認

ユーザーから完了の確認を受けた後、次を実行して確認します。

gh auth status

リポジトリの初期化

セットアップ一式

初期化スクリプトを実行する前に、リモートがすでに設定されているか確認してください。

git remote get-url origin 2>/dev/null

origin がすでに設定されている場合、リポジトリの設定は完了しています。名前や公開設定をユーザーに尋ねず、初期化スクリプトも実行しないでください。

リモートが設定されていない場合は、次の情報をユーザーに尋ねます。

  • リポジトリ名 — デフォルト:現在のフォルダー名。
  • 公開設定 — private(デフォルト)または public。

次に初期化スクリプトを実行します。このスキルに含まれるスクリプトは scripts/repo-init.sh にあります。これは、この SKILL.md が置かれているディレクトリからの相対パスです。現在の作業ディレクトリではなく、スキル自体のディレクトリを基準に見つけて、bash で実行してください。

bash <this-skill-dir>/scripts/repo-init.sh <repo-name> [private|public]

スクリプトは次の処理を行います。

  1. .git/ が存在しない場合、ローカルの git リポジトリを初期化します。
  2. リポジトリにコミットがない場合、空の初期コミットを作成します。
  3. origin がローカルですでに設定されている場合、リモートの作成をスキップします。
  4. リポジトリがすでに GitHub に存在する場合、それを origin として追加し、プッシュします。
  5. それ以外の場合、指定された名前と公開設定(デフォルト:private)で GitHub リポジトリを作成し、それを origin として追加してプッシュします。
手動での手順

より細かく制御する必要がある場合は、各手順を個別に実行します。

# Initialize local repo
git init

# Create remote and link it (from the project directory)
gh repo create <repo-name> --private --source=. --remote=origin --push

重要事項

  • リポジトリを作成する前に認証が必要です。 gh auth status が失敗する場合は、最初に認証フローを実行してください。
  • gh auth login では --web フラグを使用しないでください。ブラウザーを開こうとするため、動作しない場合があります。デバイスコードフロー(--web を省略した場合のデフォルト)のほうが確実です。
  • デフォルトの公開設定は private です。 公開リポジトリを作成する前に、必ずユーザーに確認してください。

同梱リソース

スクリプト
  • scripts/repo-init.sh — ローカルの git リポジトリを初期化し、対応する GitHub リモートを 1 回の手順で作成します

コメント