Browse free open source Go Command Line Tools and projects below. Use the toggles on the left to filter open source Go Command Line Tools by OS, license, language, programming language, and project status.

  • Inventory and Order Management Software for Multichannel Sellers Icon
    Inventory and Order Management Software for Multichannel Sellers

    Avoid stockouts, overselling, and losing control as your business grows.

    We are the most powerful inventory and order management platform for Amazon, Walmart, and multichannel product sellers. Centralize orders, product information, and fulfillment operations to run more efficiently, sell more products, and stay compliant with marketplace requirements so you can grow profitably.
    Learn More
  • AestheticsPro Medical Spa Software Icon
    AestheticsPro Medical Spa Software

    Our new software release will dramatically improve your medspa business performance while enhancing the customer experience

    AestheticsPro is the most complete Aesthetics Software on the market today. HIPAA Cloud Compliant with electronic charting, integrated POS, targeted marketing and results driven reporting; AestheticsPro delivers the tools you need to manage your medical spa business. It is our mission To Provide an All-in-One Cutting Edge Software to the Aesthetics Industry.
    Learn More
  • 1
    IPATool

    IPATool

    Command-line tool that allows searching and downloading app packages

    ipatool is a command line tool that allows you to search for iOS apps on the App Store and download a copy of the app package, known as an ipa file. Supported operating system (Windows, Linux or macOS). Apple ID is set up to use the App Store. To authenticate with the App Store, use the auth command. To search for apps on the App Store, use the search command. To obtain a license for an app, use the purchase command. To download a copy of the ipa file, use the download command.
    Downloads: 103 This Week
    Last Update:
    See Project
  • 2
    NextDNS

    NextDNS

    NextDNS CLI client (DoH Proxy)

    NextDNS protects you from all kinds of security threats, blocks ads and trackers on websites and in apps and provides a safe and supervised Internet for kids, on all devices and on all networks. Determine your threat model and fine-tune your security strategy by enabling 10+ different types of protections. Use the most trusted threat intelligence feeds containing millions of malicious domains, all updated in real-time. Go beyond the domain, we analyze DNS questions and answers on-the-fly (in a matter of nanoseconds) in order to detect and block malicious behavior. With usually only a few hours between domain registration and the start of an attack, our threat intelligence system is built to catch malicious domains earlier than classic security solutions. Block ads and trackers on websites and in apps, including the most devious ones. Use the most popular ads & trackers blocklists, millions of domains all updated in real-time.
    Downloads: 86 This Week
    Last Update:
    See Project
  • 3
    gogcli

    gogcli

    Google Suite CLI: Gmail, GCal, GDrive, GContacts

    gogcli is a command-line interface tool that provides developers and power users with direct terminal access to a wide range of Google services without needing to leave the shell. This CLI tool covers several Google Workspace APIs including Gmail for email management, Google Calendar for scheduling and events, Google Drive for file operations, and Google Contacts for personal and corporate contact management. gogcli makes it possible to script repetitive tasks, automate workflows, and fetch or modify data from Google services in environments where GUI access isn’t practical. It’s particularly useful for developers who want to build integrations, handle bulk operations, or build tooling that interacts with Google APIs in CI/CD pipelines or automation scripts.
    Downloads: 54 This Week
    Last Update:
    See Project
  • 4
    GitHub CLI

    GitHub CLI

    GitHub’s official command line tool

    GitHub CLI is a free and open-source tool that brings GitHub functionality directly to the command line. It allows developers to manage repositories, pull requests, issues, and releases without leaving the terminal. With simple commands, users can perform common GitHub tasks such as checking out pull requests or creating issues locally. The CLI helps eliminate context switching by enabling a full GitHub workflow from the terminal environment. Developers can also interact with the GitHub API to automate tasks and create custom scripts or command aliases. Additionally, GitHub CLI supports connections to both GitHub.com and GitHub Enterprise Server for enterprise-ready workflows.
    Downloads: 49 This Week
    Last Update:
    See Project
  • Skillfully - The future of skills based hiring Icon
    Skillfully - The future of skills based hiring

    Realistic Workplace Simulations that Show Applicant Skills in Action

    Skillfully transforms hiring through AI-powered skill simulations that show you how candidates actually perform before you hire them. Our platform helps companies cut through AI-generated resumes and rehearsed interviews by validating real capabilities in action. Through dynamic job specific simulations and skill-based assessments, companies like Bloomberg and McKinsey have cut screening time by 50% while dramatically improving hire quality.
    Learn More
  • 5
    arduino-cli

    arduino-cli

    Arduino command line tool

    Arduino CLI is an all-in-one solution that provides Boards/Library Managers, sketch builders, board detection, uploader, and many other tools needed to use any Arduino compatible board and platform from the command line or machine interfaces. In addition to being a standalone tool, Arduino CLI is the heart of all official Arduino development software (Arduino IDE, Arduino Web Editor). The script requires sh, which is always available on Linux and macOS. sh is not available by default on Windows, though it is available as part of Git for Windows (Git Bash). If you don't have sh available, use the "Download" installation option. If you would like to use the arduino-cli command from any location, install Arduino CLI to a directory already in your PATH or add the Arduino CLI installation path to your PATH environment variable.
    Downloads: 44 This Week
    Last Update:
    See Project
  • 6
    fzf

    fzf

    A command-line fuzzy finder

    fzf is a general-purpose command-line fuzzy finder. It's an interactive Unix filter for command-line that can be used with any list; files, command history, processes, hostnames, bookmarks, git commits, etc. fzf will launch an interactive finder, read the list from STDIN, and write the selected item to STDOUT. Without STDIN pipe, fzf will use find command to fetch the list of files excluding hidden ones. (You can override the default command with FZF_DEFAULT_COMMAND). fzf by default starts in fullscreen mode, but you can make it start below the cursor with the height option. Unless otherwise specified, fzf starts in "extended-search mode" where you can type in multiple search terms delimited by spaces. Fuzzy completion for files and directories can be triggered if the word before the cursor ends with the trigger sequence, which is by default **. Fuzzy completion for PIDs is provided for the kill command. In this case, there is no trigger sequence.
    Downloads: 43 This Week
    Last Update:
    See Project
  • 7
    sq data wrangler

    sq data wrangler

    sq data wrangler

    sq is a command line tool that provides jq-style access to structured data sources: SQL databases, or document formats like CSV or Excel. sq executes jq-like queries, or database-native SQL. It can join across sources: join a CSV file to a Postgres table, or MySQL with Excel. sq outputs to a multitude of formats including JSON, Excel, CSV, HTML, Markdown and XML, and can insert query results directly to a SQL database. sq can also inspect sources to view metadata about the source structure (tables, columns, size). You can use sq diff to compare tables, or entire databases. sq has commands for common database operations to copy, truncate, and drop tables.
    Downloads: 38 This Week
    Last Update:
    See Project
  • 8
    Fortio

    Fortio

    Fortio load testing library, command line tool, advanced echo server

    Fortio (Φορτίο) started as, and is, Istio’s load testing tool and later (2018) graduated to be its own open-source project. Fortio runs at a specified query per second (qps) and records an histogram of execution time and calculates percentiles (e.g. p99 ie the response time such as 99% of the requests take less than that number (in seconds, SI unit)). It can run for a set duration, for a fixed number of calls, or until interrupted (at a constant target QPS, or max speed/load per connection/thread). Fortio is a fast, small (4Mb docker image, minimal dependencies), reusable, embeddable go library as well as a command line tool and server process, the server includes a simple web UI and REST API to trigger run and see graphical representation of the results (both a single latency graph and a multiple results comparative min, max, avg, qps and percentiles graphs).
    Downloads: 32 This Week
    Last Update:
    See Project
  • 9
    Pluto

    Pluto

    A cli tool to help discover deprecated apiVersions in Kubernetes

    Kubernetes sometimes deprecates API versions. Most notably, a large number of deprecations happened in the 1.16 release. This is fine, and it's a fairly easy thing to deal with. However, it can be difficult to find all the places where you might have used a version that will be deprecated in your next upgrade. You might think, "I'll just ask the api-server to tell me!", but this is fraught with danger. If you ask the API-server to give you deployments.v1.apps, and the deployment was deployed as deployments.v1beta1.extensions, the API-server will quite happily convert the API version and return a manifest with apps/v1. This is fairly well outlined in the discussion of this issue.
    Downloads: 26 This Week
    Last Update:
    See Project
  • Rezku Point of Sale Icon
    Rezku Point of Sale

    Designed for Real-World Restaurant Operations

    Rezku is an all-inclusive ordering platform and management solution for all types of restaurant and bar concepts. You can now get a fully custom branded downloadable smartphone ordering app for your restaurant exclusively from Rezku.
    Learn More
  • 10
    yamlfmt

    yamlfmt

    An extensible command line tool or library to format yaml files

    yamlfmt is an extensible formatter that makes YAML files consistent and easy to read across large repositories. It focuses on practical concerns unique to YAML—multi-document streams, anchors and aliases, comments, and block scalars—so a reformat doesn’t destroy semantics or helpful annotations. The tool ships as a single, distributable binary and can also be used as a library, making it simple to drop into CI and editor workflows. Configuration is file-based, allowing teams to pin indentation, line wrapping, and other house-style choices repo-wide. By normalizing structure while preserving meaning, it reduces diff noise and merge friction in configs, Kubernetes manifests, and automation playbooks. The project is intentionally extensible, so organizations can add custom formatters or rules without forking.
    Downloads: 20 This Week
    Last Update:
    See Project
  • 11
    Gum

    Gum

    A tool for glamorous shell scripts

    A tool for glamorous shell scripts. Leverage the power of Bubbles and Lip Gloss in your scripts and aliases without writing any Go code! Gum provides highly configurable, ready-to-use utilities to help you write useful shell scripts and dotfiles aliases with just a few lines of code. Let's build a simple script to help you write Conventional Commits for your dotfiles. Use a package manager. gum is designed to be embedded in scripts and supports all sorts of use cases. Components are configurable and customizable to fit your theme and use case. You can customize with --flags. See gum <command> --help for a full view of each command's customization and configuration options. You can also use ENVIRONMENT_VARIABLES to customize gum by default, this is useful to keep a consistent theme for all your gum commands.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 12
    saml2aws

    saml2aws

    CLI tool which enables you to login and retrieve AWS credentials

    CLI tool which enables you to log in and retrieve AWS temporary credentials using ADFS or PingFederate Identity Providers. Aside from Okta, most of the providers in this project are using screen scraping to log users into SAML, this isn't ideal and hopefully, vendors make this easier in the future.
    Downloads: 18 This Week
    Last Update:
    See Project
  • 13
    wush

    wush

    Simplest & fastest way to transfer files between computers

    wush is a command line tool that lets you easily transfer files and open shells over a peer-to-peer WireGuard connection. No requirement to set up or trust a relay server for authentication. Powered by WireGuard for secure, fast, and reliable connections. Automatic peer-to-peer connections over UDP. Endless possibilities; rsync, ssh, etc.
    Downloads: 18 This Week
    Last Update:
    See Project
  • 14
    Helmify

    Helmify

    Creates Helm chart from Kubernetes yaml

    CLI that creates Helm charts from Kubernetes manifests. Helmify reads a list of supported k8s objects from stdin and converts it to a helm chart. Designed to generate charts for k8s operators but not limited to. See examples of charts generated by Helmify.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 15
    pv-migrate

    pv-migrate

    CLI tool to easily migrate Kubernetes persistent volumes

    pv-migrate is a CLI tool/kubectl plugin to easily migrate the contents of one Kubernetes PersistentVolumeClaim to another. On Kubernetes, if you need to rename a resource (like a Deployment) or to move it to a different namespace, you can simply create a copy of its manifest with the new namespace and/or name and apply it. However, it is not as simple with PersistentVolumeClaim resources: They are not only metadata, but they also store data in the underlying storage backend. In these cases, moving the data stored in the PVC can become a problem, making migrations more difficult.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 16
    Dbmate

    Dbmate

    A lightweight, framework-agnostic database migration tool

    Dbmate is a database migration tool, to keep your database schema in sync across multiple developers and your production servers. It is a standalone command line tool, which can be used with Go, Node.js, Python, Ruby, PHP, or any other language or framework you are using to write database-backed applications. This is especially helpful if you are writing many services in different languages, and want to maintain some sanity with consistent development tools. Supports MySQL, PostgreSQL, SQLite, and ClickHouse. Uses plain SQL for writing schema migrations. Migrations are timestamp-versioned, to avoid version number conflicts with multiple developers. Migrations are run atomically inside a transaction. Supports creating and dropping databases (handy in development/test). Supports saving a schema.sql file to easily diff schema changes in git. Database connection URL is defined using an environment variable (DATABASE_URL by default), or specified on the command line.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 17
    GoForge

    GoForge

    GoForge is a command-line interface (CLI) tool

    A Go-based CLI tool for building, testing, and managing secure web applications.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 18
    GeoIP

    GeoIP

    This project automatically generates GeoIP files in multiple formats

    GeoIP is a community-maintained project that generates and publishes enhanced GeoIP/Geo-database and IP-location/routing data in multiple formats (e.g. V2Ray .dat, MaxMind .mmdb, and others) to support proxy, VPN, or routing tools requiring IP-to-country/region resolution. Rather than depending solely on the official GeoLite2 data, geoip augments and merges data sources (especially for certain regions) to improve coverage or tailor by use-case (e.g. proxy-specific rules, private networks, or region-based classification). The repo provides automated, periodic releases (e.g. weekly or on schedule) and also offers a CLI tool so users can regenerate or customize geo data in the format they need — for example, producing a .dat file for V2Ray / Xray-core, or a MaxMind-compatible .mmdb.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 19
    Kubefirst CLI

    Kubefirst CLI

    The Kubefirst Open Source Platform

    kubefirst is a free, fully automated, and instantly operational open source platform that includes some of the most popular open source tools available in the Kubernetes space, all working together in a click. By running our installer in your cloud, you'll get a GitOps cloud management and application delivery ecosystem complete with automated Terraform workflows, Vault secrets management, GitLab or GitHub integrations with Argo, and a demo application that demonstrates how it all pieces together. With kubefirst k3d, you can explore some of the best parts of the kubefirst platform running for free on a local k3d cluster in 5 minutes - without any cloud costs or domain prerequisites. Our AWS cloud platform can accommodate all the needs of your enterprise. All you need is a domain in addition to a hosted zone, and within 35 minutes of running a single command, you'll have a secure EKS infrastructure management and application delivery platform.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 20
    lark-cli

    lark-cli

    A command-line tool for Lark/Feishu Open Platform

    lark-cli is a command-line tool designed to interact with the Lark (Feishu) ecosystem, enabling developers to manage and automate workflows within the platform directly from the terminal. It provides utilities for handling applications, bots, messaging, and other services offered by Lark, making it easier to integrate enterprise collaboration features into development pipelines. The tool is designed for efficiency, allowing users to perform operations quickly without relying on graphical interfaces. It supports authentication, configuration management, and API interactions, streamlining the process of building and deploying Lark-based applications. The CLI also facilitates automation by enabling scripting and integration with CI/CD workflows. It is particularly useful for teams that rely on Lark for communication and want to extend its functionality programmatically.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 21
    Chart Testing

    Chart Testing

    CLI tool for linting and testing Helm charts

    ct is the tool for testing Helm charts. It is meant to be used for linting and testing pull requests. It automatically detects charts changed against the target branch.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 22
    Swagger 2.0

    Swagger 2.0

    Swagger 2.0 implementation for go

    This package contains a golang implementation of Swagger 2.0 (aka OpenAPI 2.0), it knows how to serialize and deserialize swagger specifications. With the largest ecosystem of API tooling on the planet, thousands of developers are supporting Swagger in almost every modern programming language and deployment environment. With a Swagger-enabled API, you get interactive documentation, client SDK generation and discoverability. We created Swagger to help fulfill the promise of APIs. Swagger helps companies like Apigee, Getty Images, Intuit, LivingSocial, McKesson, Microsoft, Morningstar, and PayPal build the best possible services with RESTful APIs. Now in version 2.0, Swagger is more enabling than ever. And it's 100% open-source software. go-swagger brings to the go community a complete suite of fully-featured, high-performance, API components to work with a Swagger API, server, client, and data model.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 23
    jaggr

    jaggr

    JSON Aggregation CLI

    Jaggr is a command line tool to aggregate in real time a series of JSON logs. The main goal of this tool is to prepare data for plotting with jplot. So here we give a stream of real-time requests to jaggr standard input and request the aggregation of the code and latency fields. For the code, we request a histogram with some known error codes with an "other" bucket defined by *. The latency field is aggregated using minimum, maximum, and mean. In addition, @count adds an extra field indicating the total number of lines aggregated. The = sign can be used on any field to rename it, here we use it to say that the count is an rps as we are using the default aggregation time of 1 second.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 24
    Diun

    Diun

    Receive notifications when an image is updated on a Docker registry

    Diun is a CLI application written in Go and delivered as a single executable (and a Docker image) to receive notifications when a Docker image is updated on a Docker registry. With Go, this can be done with an independent binary distribution across all platforms and architectures that Go supports. This support includes Linux, macOS, and Windows, on architectures like amd64, i386, ARM, PowerPC, and others.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 25
    PingMe

    PingMe

    PingMe is a CLI which provides the ability to send messages or alerts

    PingMe is a personal project to satisfy my need to have alerts, most major platforms have integration to send alerts but it's not always useful, either you are stuck with one particular platform, or you have to do a lot of integrations. I needed a small utility that I could just call from my backup scripts, cron jobs, CI/CD pipelines, or from anywhere to send a message with particular information. And I can ship it everywhere with ease. Hence, the birth of PingMe. Everything is configurable via environment variables, and you can simply export the logs or messages to a variable that will be sent as a message, most of all this serves as a swiss army knife sort of tool that supports multiple platforms.
    Downloads: 11 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next
MongoDB Logo MongoDB