Skip to content

Adding Tools to the Marketplace

The klim marketplace is open source — anyone can add a tool by submitting a PR.

Each tool is defined in its own YAML file at marketplace/tools/<name>.yaml:

name: mytool
display_name: My Tool
description: A brief description of what the tool does
category: CLI
tags: [automation, devops]
binary_names: [mytool]
packages:
brew: "mytool"
winget: "Publisher.MyTool"
scoop: "mytool"
apt: "mytool"
snap: "mytool"
choco: "mytool"
npm: "mytool"
# Optional: enables GitHub metadata enrichment (stars, license, etc.)
github: owner/repo
FieldDescription
nameUnique identifier (lowercase, no spaces)
display_nameHuman-readable name
categoryOne of the predefined categories
binary_namesList of executable names to detect on PATH
FieldDescription
descriptionShort description
tagsList of tags for filtering
packagesPackage IDs per package manager
githubGitHub owner/repo for metadata enrichment

Only include package IDs for managers where the tool is actually available:

ManagerFormatExample
brewFormula or cask name"kubectl"
wingetPublisher.Package"Microsoft.AzureCLI"
scoopBucket/package or just package"kubectl"
aptPackage name"kubectl"
snapSnap name"kubectl"
chocoPackage name"kubernetes-cli"
npmnpm package name"typescript"
  1. Create the YAML file:

    Terminal window
    # In the repository root
    touch marketplace/tools/mytool.yaml
  2. Fill in the tool definition using the format above.

  3. Validate your changes:

    Terminal window
    make marketplace-validate
  4. Submit a PR to the klim repository.

Available categories include:

  • CLI — General command-line tools
  • Cloud — Cloud provider CLIs (AWS, Azure, GCP)
  • Containers — Docker, Podman, container tools
  • Database — Database clients and tools
  • IaC — Infrastructure as Code (Terraform, Pulumi)
  • Kubernetes — K8s ecosystem tools
  • Languages — Programming language runtimes
  • Monitoring — Observability and monitoring
  • Networking — Network tools
  • Security — Security scanners and tools
  • Version Control — Git and related tools

CI automatically validates every PR that touches marketplace/:

  • Schema validation — all required fields present and correct types
  • Uniqueness — no duplicate tool names or binary names
  • Cross-references — pack references point to existing tools

When you set the github field, the CI assembly workflow automatically fetches:

  • Star count
  • Repository description
  • Homepage URL
  • License
  • Topics
  • Last push date

This metadata is included in the published marketplace.yaml. Never set github_info manually — it’s generated at build time.