Loading...
Loading...
GitLab repository operations. ALWAYS use this skill when user wants to: (1) clone repositories, (2) fork projects, (3) view repo info, (4) create new projects, (5) archive/delete repos, (6) manage repo settings.
npx skill4agent add grandcamel/gitlab-assistant-skills gitlab-repoglab| Operation | Command | Risk |
|---|---|---|
| Clone repo | | - |
| Fork repo | | ⚠️ |
| View repo | | - |
| Create repo | | ⚠️ |
| Search repos | | - |
| Archive repo | | ⚠️⚠️ |
| Delete repo | | ⚠️⚠️⚠️ |
| List contributors | | - |
glab repo clone <repo> [directory] [options]<repo>[directory]| Flag | Description |
|---|---|
| Clone all repos in a group |
| Clone into subdirectory based on namespace |
| Include/exclude archived repos (with -g) |
| Fetch all pages of projects (with -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 --paginateglab repo fork <repo> [options]| Flag | Description |
|---|---|
| Clone the fork after creating |
| Name for the forked project |
| Path for the forked project |
| Add a remote for the fork |
# 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 --remoteglab repo view [repo] [options]| Flag | Description |
|---|---|
| Open repository in browser |
| View specific 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=developglab repo create [name] [options]| Flag | Description |
|---|---|
| Repository name |
| Repository description |
| Create in specific group/namespace |
| Make repository public |
| Make repository private |
| Make repository internal |
| Initialize with README |
| Clone after creation |
# 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 --readmeglab repo search <query> [options]| Flag | Description |
|---|---|
| Results per page |
| Get all results |
# Search for repos
glab repo search "cli tools"
# Search with more results
glab repo search "gitlab" --per-page=50glab repo archive [repo] [options]# Archive current repo
glab repo archive
# Archive specific repo
glab repo archive owner/repoglab repo delete [repo] [options]| Flag | Description |
|---|---|
| Skip confirmation prompt |
# Delete repo (will prompt for confirmation)
glab repo delete owner/repo
# Delete without confirmation (dangerous!)
glab repo delete owner/repo --yesglab repo contributors [repo] [options]| Flag | Description |
|---|---|
| Results per page |
| Sort order: name, email, commits |
# List contributors for current repo
glab repo contributors
# List with sorting
glab repo contributors --order=commitsglab repo transfer <repo> <new-namespace># Transfer to different group
glab repo transfer myrepo newgroup# 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# Clone all non-archived repos from team group
glab repo clone -g myteam --archived=false --paginate -p
# This creates:
# myteam/
# repo1/
# repo2/
# ...# 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| Issue | Cause | Solution |
|---|---|---|
| Authentication failed | Invalid/expired token | Run |
| Repo not found | Invalid path or no access | Check repo path and permissions |
| Clone failed | SSH keys not configured | Use HTTPS or configure SSH keys |
| Cannot fork | Already forked or no permission | Check existing forks |
| Cannot delete | Not owner or maintainer | Request owner to delete |