mcpField
G
gitlab-repo

gitlab-repo

github.com/grandcamel開発498 回インストール41 週間前に更新
リポジトリ

gitlab-repo について

gitlab-repoは、glab CLIを使ってGitLabのリポジトリやプロジェクトを管理するスキルです。クローンや検索から移管、削除までを扱い、操作のリスクも示します。

主な機能

  1. 01リポジトリのクローンとグループ単位の一括取得
  2. 02リポジトリのフォークと作成
  3. 03プロジェクトの表示と検索
  4. 04リポジトリのアーカイブ、削除、移管
  5. 05リポジトリのコントリビューター一覧

活用シーン

  1. 01チームのグループリポジトリを一括クローン
  2. 02上流プロジェクトをフォークして貢献
  3. 03GitLabプロジェクトを作成またはアーカイブ

インストール

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

$npx skills add https://github.com/grandcamel/gitlab-assistant-skills --skill gitlab-repo

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

詳細

リポジトリスキル

glab CLI を使用した GitLab のリポジトリおよびプロジェクト操作。

クイックリファレンス

操作コマンドリスク
リポジトリのクローンglab repo clone <repo>-
リポジトリのフォークglab repo fork <repo>⚠️
リポジトリの表示glab repo view-
リポジトリの作成glab repo create⚠️
リポジトリの検索glab repo search <query>-
リポジトリのアーカイブglab repo archive⚠️⚠️
リポジトリの削除glab repo delete⚠️⚠️⚠️
コントリビューターの一覧表示glab repo contributors-

リスクの凡例:- 安全 | ⚠️ 注意 | ⚠️⚠️ 警告 | ⚠️⚠️⚠️ 危険

このスキルを使用する場面

必ず使用する場合:

  • ユーザーがリポジトリのクローン、フォーク、作成を希望している
  • ユーザーが「repo」「repository」「project」「clone」「fork」に言及している
  • ユーザーがプロジェクト設定の管理を希望している

使用しない場合:

  • ユーザーが特定のリポジトリの内容を操作したい場合(git を直接使用してください)
  • ユーザーがデプロイキーの管理を希望している場合(gitlab-deploy-key スキルを使用してください)

利用可能なコマンド

リポジトリのクローン
glab repo clone <repo> [directory] [options]

引数:

  • <repo> - リポジトリのパス、URL、またはプロジェクト ID
  • [directory] - 省略可能なローカルディレクトリ名

オプション:

フラグ説明
-g, --group=<group>グループ内のすべてのリポジトリをクローン
-p, --preserve-namespace名前空間に基づくサブディレクトリにクローン
-a, --archived=<bool>アーカイブ済みリポジトリを含める/除外する(-g と併用)
--paginateプロジェクトのすべてのページを取得(-g と併用)

例:

# Clone by path
glab repo clone gitlab-org/cli

# Clone by URL
glab repo clone https://gitlab.com/gitlab-org/cli

# Clone into specific directory
glab repo clone gitlab-org/cli my-glab

# Clone by project ID
glab repo clone 4356677

# Clone preserving namespace structure
glab repo clone gitlab-org/cli -p
# Creates: gitlab-org/cli/

# Clone all repos in a group
glab repo clone -g mygroup --paginate

# Clone only non-archived repos from group
glab repo clone -g mygroup --archived=false --paginate
リポジトリのフォーク
glab repo fork <repo> [options]

オプション:

フラグ説明
-c, --clone作成後にフォークをクローン
-n, --name=<name>フォークしたプロジェクトの名前
-p, --path=<path>フォークしたプロジェクトのパス
--remoteフォーク用のリモートを追加

例:

# Fork a repository
glab repo fork owner/repo

# Fork and clone
glab repo fork owner/repo --clone

# Fork with custom name
glab repo fork owner/repo --name="my-fork"

# Fork and add remote
glab repo fork owner/repo --remote
リポジトリの表示
glab repo view [repo] [options]

オプション:

フラグ説明
-w, --webブラウザーでリポジトリを開く
-b, --branch=<branch>特定のブランチを表示

例:

# View current repository info
glab repo view

# View specific repo
glab repo view gitlab-org/cli

# Open in browser
glab repo view --web

# View specific branch
glab repo view --branch=develop
リポジトリの作成
glab repo create [name] [options]

オプション:

フラグ説明
-n, --name=<name>リポジトリ名
-d, --description=<desc>リポジトリの説明
-g, --group=<group>指定したグループ/名前空間に作成
--publicリポジトリを公開にする
--privateリポジトリを非公開にする
--internalリポジトリを内部公開にする
--readmeREADME を初期化する
-c, --clone作成後にクローン

例:

# Create repository interactively
glab repo create

# Create with name and description
glab repo create my-project -d "My awesome project"

# Create public repo in group
glab repo create my-project --group=myteam --public

# Create and clone
glab repo create my-project --clone --readme
リポジトリの検索
glab repo search <query> [options]

オプション:

フラグ説明
-P, --per-page=<n>1 ページあたりの結果数
--allすべての結果を取得

例:

# Search for repos
glab repo search "cli tools"

# Search with more results
glab repo search "gitlab" --per-page=50
リポジトリのアーカイブ
glab repo archive [repo] [options]

リポジトリをアーカイブします(読み取り専用にします)。

例:

# Archive current repo
glab repo archive

# Archive specific repo
glab repo archive owner/repo
リポジトリの削除
glab repo delete [repo] [options]

警告: リポジトリとそのすべてのデータが完全に削除されます!

オプション:

フラグ説明
-y, --yes確認プロンプトをスキップ

例:

# Delete repo (will prompt for confirmation)
glab repo delete owner/repo

# Delete without confirmation (dangerous!)
glab repo delete owner/repo --yes
コントリビューターの一覧表示
glab repo contributors [repo] [options]

オプション:

フラグ説明
-P, --per-page=<n>1 ページあたりの結果数
--order=<order>並べ替え順:name、email、commits

例:

# List contributors for current repo
glab repo contributors

# List with sorting
glab repo contributors --order=commits
リポジトリの移管
glab repo transfer <repo> <new-namespace>

リポジトリを別の名前空間に移管します。

例:

# Transfer to different group
glab repo transfer myrepo newgroup

よくあるワークフロー

ワークフロー 1:フォークしてコントリビュートする
# 1. Fork the repository
glab repo fork upstream/project --clone

# 2. Add upstream remote
cd project
git remote add upstream https://gitlab.com/upstream/project.git

# 3. Create feature branch
git checkout -b feature/my-change

# 4. Make changes, commit, push
git add . && git commit -m "Add feature"
git push -u origin feature/my-change

# 5. Create MR to upstream
glab mr create --target-branch=main
ワークフロー 2:チームのリポジトリをまとめてクローンする
# Clone all non-archived repos from team group
glab repo clone -g myteam --archived=false --paginate -p

# This creates:
# myteam/
#   repo1/
#   repo2/
#   ...
ワークフロー 3:新しいプロジェクトを作成する
# 1. Create the repository
glab repo create awesome-project \
  -d "An awesome new project" \
  --group=myteam \
  --readme \
  --clone

# 2. Set up the project
cd awesome-project
# Add initial files...

# 3. View it in browser
glab repo view --web

トラブルシューティング

問題原因解決策
認証に失敗するトークンが無効または期限切れglab auth login を実行
リポジトリが見つからないパスが無効、またはアクセス権がないリポジトリのパスと権限を確認
クローンに失敗するSSH キーが設定されていないHTTPS を使用するか、SSH キーを設定
フォークできないすでにフォーク済み、または権限がない既存のフォークを確認
削除できないオーナーまたはメンテナーではないオーナーに削除を依頼

Related Documentation

コメント