mcpField
G
glab-packages

glab-packages

github.com/vince-winkintelDevelopment49105 installsUpdated 1d ago
Repository

About glab-packages

glab-packages is a glab command-line skill for managing package registry entries in GitLab projects. It lists packages, uploads and downloads generic package files, and deletes entries by ID or name and version.

Key features

  1. 01List and filter project packages
  2. 02Upload generic package files
  3. 03Download generic package files
  4. 04Delete packages by ID or name and version
  5. 05Use pagination and JSON filtering

Use cases

  1. 01Find packages by name or type
  2. 02Publish a generic package file to a project
  3. 03Download a package file with checksum verification
  4. 04Remove a verified package registry entry

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/vince-winkintel/gitlab-cli-skills --skill glab-packages

After installing, type/glab-packagesin Claude Code to confirm it loaded.

Bundled filesreferences/commands.md

Details

From the project README

glab packages

List packages in a GitLab project's package registry, upload/download generic package files, and delete package registry entries by numeric ID or by --name/--version.

glab packages list / ls lists project package registries. The current command surface also includes upload / ul for generic package uploads, download / dl for generic package downloads, and delete / rm for package deletion by numeric ID or by --name/--version.

Delete by name and version

glab packages delete --name example-generic --version 1.0.0 resolves the package in the selected project; --package-type defaults to generic. Supply the type explicitly for another ecosystem. --name and --version are required together. A positional numeric ID, --id, and --name are alternative selectors; do not combine them. The rm alias accepts the same options.

Preview the exact project, package name, version, type, and resolved ID before approving deletion. Deletion is permanent and prompts interactively; non-interactive use requires --yes, which must only follow explicit approval.

Quick start

# List all packages in the current project
glab packages list

# Alias
glab packages ls

# List packages from another project
glab packages list -R owner/repo

# Upload a file as a generic package version
glab packages upload ./build/app.zip --name my-package --version 1.0.0

# Download a generic package file
glab packages download --name my-package --version 1.0.0 --filename app.zip

# Delete a package by numeric ID after listing packages
glab packages delete 12345 --yes

Filtering

# Filter by package name substring
glab packages list --name my-package

# Filter by package type
glab packages list --package-type npm
glab packages list --package-type maven
glab packages list --package-type generic

Supported package types from glab help:

composer, conan, debian, generic, golang, helm, maven, npm, nuget, pypi, terraform_module

Pagination and automation

# Select a page and page size
glab packages list --page 2 --per-page 10

# JSON output filtering is available through the global --jq support on this command
glab packages list --jq '.[].name'

Use -R/--repo when running outside the target project's Git checkout. Prefer structured output/--jq for scripts rather than parsing text tables.

Upload generic package files

# Upload a local file under its original filename
glab packages upload ./build/app.zip --name my-package --version 1.0.0

# Store the uploaded file under a different package filename
glab packages upload ./build/app.zip --name my-package --version 1.0.0 --filename release.zip

# Alias and explicit target project
glab packages ul ./build/app.zip -n my-package --version 1.0.0 -R owner/repo

Upload stores the file as a generic package in the target project's package registry. --name and --version are required; --filename defaults to the local file basename. Use -R/--repo for uploads outside the target project checkout.

Download generic package files

# Download a package file to the current directory
glab packages download --name my-package --version 1.0.0 --filename app.zip

# Download into a directory, keeping the original file name
glab packages download -n my-package --version 1.0.0 --filename app.zip --path ./downloads/

# Download to an exact path, renaming the file
glab packages download -n my-package --version 1.0.0 --filename app.zip --path ./downloads/renamed.zip

# Download to an absolute path (missing parent directories are created)
glab packages download -n my-package --version 1.0.0 --filename app.zip --path /tmp/downloads/app.zip

# Skip checksum verification only when you intentionally accept the integrity risk
glab packages download -n my-package --version 1.0.0 --filename app.zip --no-verify

# Alias, overwrite an existing target, and explicit project targeting
glab packages dl -n my-package --version 1.0.0 --filename app.zip --force -R owner/repo

Download is limited to generic package files and requires --name, --version, and --filename. By default glab verifies the downloaded file against registry checksum metadata and fails if the destination already exists. Use --path for a relative or absolute directory/exact output filename; glab creates missing parent directories. Use --force to overwrite and --no-verify only when checksum verification is intentionally bypassed.

For downloads with duplicate filenames, checksum verification uses the newest matching package file (the highest file ID).

Delete packages

# Find the package ID first
glab packages list --name my-package

# Delete by numeric package ID; prompts for confirmation
glab packages delete 12345

# Skip confirmation for automation after independently confirming the ID
glab packages delete 12345 --yes

# Alias
glab packages rm 12345

Delete accepts a numeric ID or the --name/--version pair described above. Use glab packages list (preferably with JSON/--jq in scripts) to identify the ID, then pass --yes only when the target package has been verified.

Reference

See references/commands.md for command synopsis and flags.

Comments

Markdown supported