# cli/cli

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cli-cli).**

42,638 stars · 7,961 forks · Go · mit

## Links

- GitHub: https://github.com/cli/cli
- Homepage: https://cli.github.com
- awesome-repositories: https://awesome-repositories.com/repository/cli-cli.md

## Topics

`cli` `git` `github-api-v4` `golang`

## Description

This project is a command-line interface that bridges local development workflows with remote platform services. It functions as a terminal-based platform client, enabling users to manage repositories, issues, and pull requests directly from their command line through authenticated API interactions. The tool provides a modular environment that supports custom binary extensions and command aliases, allowing developers to tailor their terminal experience to specific project needs.

Beyond standard repository management, the tool serves as a remote development manager, offering capabilities to provision, configure, and connect to cloud-based development environments. It also functions as a software supply chain security utility, providing features to verify the authenticity and integrity of software artifacts through cryptographic signatures and signed attestations. Users can further streamline their operations by utilizing natural language processing to translate plain English prompts into executable shell commands.

The platform supports comprehensive workflow orchestration, including the ability to monitor continuous integration pipelines, manage workflow runs, and handle build artifacts. It also includes extensive administrative tools for project tracking, organization membership management, and repository governance, such as ruleset checking and label synchronization.

The tool is designed for integration into automated pipelines, allowing for task execution without requiring manual authentication. It maintains stateful configuration and supports credential-helper integration to manage authentication tokens securely across different development environments.

## Tags

### Development Tools & Productivity

- [Extensible Command-Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/extensible-command-line-interfaces.md) — A modular terminal environment that supports custom binary extensions and command aliases to tailor development workflows.
- [Pull Request Management Tools](https://awesome-repositories.com/f/development-tools-productivity/pull-request-management-tools.md) — Enables checking out pull requests locally for review and testing. ([source](https://cli.github.com/manual/gh_pr_checkout))
- [Remote Development Environments](https://awesome-repositories.com/f/development-tools-productivity/remote-development-environments.md) — GitHub CLI creates a new cloud-based development environment with custom hardware, branch settings, and automated lifecycle management like idle timeouts. ([source](https://cli.github.com/manual/gh_codespace_create))
- [Remote Resource Management Tools](https://awesome-repositories.com/f/development-tools-productivity/remote-resource-management-tools.md) — GitHub CLI controls remote workflows and settings directly from the terminal by executing specialized commands for repositories, issues, and pull requests. ([source](https://cli.github.com/manual/gh))
- [Issue Management Tools](https://awesome-repositories.com/f/development-tools-productivity/issue-management-tools.md) — GitHub CLI generates a new issue by providing a title, body, labels, and assignees through command-line flags or interactive prompts. ([source](https://cli.github.com/manual/gh_issue_create))
- [CLI Extension Managers](https://awesome-repositories.com/f/development-tools-productivity/cli-extension-managers.md) — GitHub CLI adds custom command-line extensions from remote or local sources to expand functionality with prebuilt binaries or scripts. ([source](https://cli.github.com/manual/gh_extension_install))
- [Command Line Productivity Tools](https://awesome-repositories.com/f/development-tools-productivity/command-line-productivity-tools.md) — Enhancing terminal productivity by creating custom aliases, installing extensions, and using AI assistants to streamline repetitive development tasks.
- [Extension Runners](https://awesome-repositories.com/f/development-tools-productivity/extension-runners.md) — GitHub CLI runs installed extensions by name to allow for seamless integration of custom tools into the standard command-line workflow. ([source](https://cli.github.com/manual/gh_extension_exec))
- [Issue Management Utilities](https://awesome-repositories.com/f/development-tools-productivity/issue-management-utilities.md) — Provides command-line operations to delete repository issues. ([source](https://cli.github.com/manual/gh_issue_delete))
- [Natural Language Interfaces](https://awesome-repositories.com/f/development-tools-productivity/natural-language-interfaces.md) — GitHub CLI translates plain English prompts into executable shell commands to accelerate development tasks directly within the terminal environment. ([source](https://cli.github.com/manual/gh_copilot))
- [Pull Request Review Interfaces](https://awesome-repositories.com/f/development-tools-productivity/pull-request-review-interfaces.md) — GitHub CLI submits a review for a pull request by approving, commenting, or requesting changes with custom review bodies. ([source](https://cli.github.com/manual/gh_pr_review))
- [Release Management](https://awesome-repositories.com/f/development-tools-productivity/release-management.md) — Generates new releases with tags, assets, and automated release notes. ([source](https://cli.github.com/manual/gh_release_create))
- [Remote Access Protocols](https://awesome-repositories.com/f/development-tools-productivity/remote-access-protocols.md) — GitHub CLI accesses a remote development environment via SSH with automatic key management and configuration support for secure connections. ([source](https://cli.github.com/manual/gh_codespace_ssh))
- [Repository Management Tools](https://awesome-repositories.com/f/development-tools-productivity/repository-management-tools.md) — GitHub CLI displays the description and README of a repository in the terminal. ([source](https://cli.github.com/manual/gh_repo_view))
- [Repository Management Utilities](https://awesome-repositories.com/f/development-tools-productivity/repository-management-utilities.md) — Creates forks of remote repositories directly from the command line. ([source](https://cli.github.com/manual/gh_repo_fork))
- [Task Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/task-automation-tools.md) — Executes automated task sequences to streamline development workflows. ([source](https://cli.github.com/manual/gh_agent-task_create))
- [Version Control CLI Tools](https://awesome-repositories.com/f/development-tools-productivity/version-control-cli-tools.md) — Managing issues, pull requests, and repository settings directly from the command line to maintain development flow without switching contexts.
- [Workflow Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools.md) — A set of commands for managing issues, pull requests, and continuous integration pipelines to streamline project maintenance tasks.
- [Workflow Automation Utilities](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-utilities.md) — GitHub CLI executes command line tasks within automated pipelines to interact with repository services without requiring manual authentication during continuous integration processes. ([source](https://cdn.jsdelivr.net/gh/cli/cli@trunk/README.md))
- [Development Environment Configurations](https://awesome-repositories.com/f/development-tools-productivity/development-environment-configurations.md) — GitHub CLI modifies settings for an existing remote development environment, such as display names or hardware specifications, using command-line flags. ([source](https://cli.github.com/manual/gh_codespace_edit))
- [Extension Managers](https://awesome-repositories.com/f/development-tools-productivity/extension-managers.md) — GitHub CLI provides an interactive interface to explore, install, or remove command-line extensions with support for accessible list rendering. ([source](https://cli.github.com/manual/gh_extension_browse))
- [Pull Request Listing Tools](https://awesome-repositories.com/f/development-tools-productivity/pull-request-listing-tools.md) — GitHub CLI displays pull requests in a repository using filters like author or state, with options for JSON output. ([source](https://cli.github.com/manual/gh_pr_list))
- [Pull Request Merging Tools](https://awesome-repositories.com/f/development-tools-productivity/pull-request-merging-tools.md) — GitHub CLI combines a pull request using strategies like squash or rebase, with options to auto-merge and delete branches. ([source](https://cli.github.com/manual/gh_pr_merge))
- [Pull Request Reversion Utilities](https://awesome-repositories.com/f/development-tools-productivity/pull-request-reversion-utilities.md) — GitHub CLI undoes a merged pull request by creating a new request that reverses the changes with custom titles and bodies. ([source](https://cli.github.com/manual/gh_pr_revert))
- [Search & Discovery Tools](https://awesome-repositories.com/f/development-tools-productivity/search-discovery-tools.md) — Searches for code snippets across repositories using advanced filters. ([source](https://cli.github.com/manual/gh_search_code))
- [Command Aliasing Tools](https://awesome-repositories.com/f/development-tools-productivity/command-aliasing-tools.md) — GitHub CLI displays all configured command-line shortcuts to review the current mappings between custom commands and their underlying instructions. ([source](https://cli.github.com/manual/gh_alias_list))
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — A command-line application that bridges local development workflows with remote platform services through authenticated API interactions.
- [Continuous Integration Status Trackers](https://awesome-repositories.com/f/development-tools-productivity/continuous-integration-status-trackers.md) — GitHub CLI displays the continuous integration status for a pull request, with options to watch for completion or output JSON. ([source](https://cli.github.com/manual/gh_pr_checks))
- [Project Management Utilities](https://awesome-repositories.com/f/development-tools-productivity/project-management-utilities.md) — Duplicates project boards across different owners. ([source](https://cli.github.com/manual/gh_project_copy))
- [Pull Request Viewing Tools](https://awesome-repositories.com/f/development-tools-productivity/pull-request-viewing-tools.md) — GitHub CLI displays pull request details like title and status in the terminal or opens in a web browser. ([source](https://cli.github.com/manual/gh_pr_view))
- [Release Management Tools](https://awesome-repositories.com/f/development-tools-productivity/release-management-tools.md) — GitHub CLI removes a specific asset from a release by tag and asset name, with options to skip confirmation prompts. ([source](https://cli.github.com/manual/gh_release_delete-asset))
- [Remote Development Interfaces](https://awesome-repositories.com/f/development-tools-productivity/remote-development-interfaces.md) — GitHub CLI launches a remote development environment in a browser-based notebook to perform data analysis or code editing. ([source](https://cli.github.com/manual/gh_codespace_jupyter))
- [Repository Cloning Tools](https://awesome-repositories.com/f/development-tools-productivity/repository-cloning-tools.md) — GitHub CLI downloads a repository to a local directory, automatically configuring remotes and supporting custom git flags. ([source](https://cli.github.com/manual/gh_repo_clone))
- [Repository Configuration](https://awesome-repositories.com/f/development-tools-productivity/repository-configuration.md) — Sets the default remote repository for a local project to streamline interactions. ([source](https://cli.github.com/manual/gh_repo_set-default))
- [Shell Completion](https://awesome-repositories.com/f/development-tools-productivity/shell-completion.md) — GitHub CLI creates auto-completion scripts for various shell environments to enable tab-based suggestions for commands, flags, and arguments. ([source](https://cli.github.com/manual/gh_completion))
- [API Interaction Utilities](https://awesome-repositories.com/f/development-tools-productivity/api-interaction-utilities.md) — GitHub CLI sends authenticated network requests to remote endpoints using custom methods and automatic data replacement to interact with external services. ([source](https://cli.github.com/manual/gh_api))
- [Attestation Verification Tools](https://awesome-repositories.com/f/development-tools-productivity/attestation-verification-tools.md) — GitHub CLI confirms that a release is accompanied by a valid signed attestation by checking metadata and asset digests. ([source](https://cli.github.com/manual/gh_release_verify))
- [Command Aliases](https://awesome-repositories.com/f/development-tools-productivity/command-aliases.md) — GitHub CLI imports custom command shortcuts from a file or standard input to maintain consistent development environments across different machines. ([source](https://cli.github.com/manual/gh_alias_import))
- [Command Line Aliases](https://awesome-repositories.com/f/development-tools-productivity/command-line-aliases.md) — GitHub CLI removes custom command shortcuts from the configuration by name or clears all existing aliases at once. ([source](https://cli.github.com/manual/gh_alias_delete))
- [Configuration Management Tools](https://awesome-repositories.com/f/development-tools-productivity/configuration-management-tools.md) — GitHub CLI modifies configuration values by assigning new data to specific keys, with support for host-specific overrides. ([source](https://cli.github.com/manual/gh_config_set))
- [Deploy Key Management](https://awesome-repositories.com/f/development-tools-productivity/deploy-key-management.md) — GitHub CLI registers a public SSH key to a repository as a deploy key, optionally granting write access. ([source](https://cli.github.com/manual/gh_repo_deploy-key_add))
- [Development Environment Utilities](https://awesome-repositories.com/f/development-tools-productivity/development-environment-utilities.md) — GitHub CLI displays configuration, state, and usage metrics for a specific development environment using filters to refine the output. ([source](https://cli.github.com/manual/gh_codespace_view))
- [Gist Management Tools](https://awesome-repositories.com/f/development-tools-productivity/gist-management-tools.md) — GitHub CLI generates a new gist from local files or standard input, with options to set visibility and add descriptions. ([source](https://cli.github.com/manual/gh_gist_create))
- [Issue Moderation Utilities](https://awesome-repositories.com/f/development-tools-productivity/issue-moderation-utilities.md) — GitHub CLI restricts an issue conversation by number or URL, optionally providing a reason such as spam or resolved. ([source](https://cli.github.com/manual/gh_issue_lock))
- [Issue Trackers](https://awesome-repositories.com/f/development-tools-productivity/issue-trackers.md) — GitHub CLI displays a summary of issues assigned to or opened by the current user to track relevant development work. ([source](https://cli.github.com/manual/gh_issue_status))
- [Pull Request Management](https://awesome-repositories.com/f/development-tools-productivity/pull-request-management.md) — Unlocks locked pull request conversations to allow further community contributions. ([source](https://cli.github.com/manual/gh_pr_unlock))
- [Pull Request State Modifiers](https://awesome-repositories.com/f/development-tools-productivity/pull-request-state-modifiers.md) — GitHub CLI marks a pull request as ready for review or converts it back to a draft state. ([source](https://cli.github.com/manual/gh_pr_ready))
- [Release Verification Tools](https://awesome-repositories.com/f/development-tools-productivity/release-verification-tools.md) — GitHub CLI checks the integrity of a release asset by comparing its cryptographic signature against associated release metadata. ([source](https://cli.github.com/manual/gh_release_verify-asset))
- [Remote File Synchronization](https://awesome-repositories.com/f/development-tools-productivity/remote-file-synchronization.md) — GitHub CLI copies files and directories between a local machine and a remote development environment using standard command-line syntax. ([source](https://cli.github.com/manual/gh_codespace_cp))
- [Repository Label Management](https://awesome-repositories.com/f/development-tools-productivity/repository-label-management.md) — GitHub CLI updates the name, color, or description of an existing label by providing the current name and new attributes. ([source](https://cli.github.com/manual/gh_label_edit))
- [Repository Provisioning Tools](https://awesome-repositories.com/f/development-tools-productivity/repository-provisioning-tools.md) — GitHub CLI generates a new repository interactively, with options to clone locally and configure visibility or licenses. ([source](https://cli.github.com/manual/gh_repo_create))

### Security & Cryptography

- [Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/authentication-strategies.md) — GitHub CLI connects to a remote host using browser flows, access tokens, or environment variables to securely store credentials for future use. ([source](https://cli.github.com/manual/gh_auth_login))
- [Git Credential Helpers](https://awesome-repositories.com/f/security-cryptography/git-credential-helpers.md) — GitHub CLI configures the local environment to handle authentication automatically for all version control operations by acting as a credential helper. ([source](https://cli.github.com/manual/gh_auth_setup-git))
- [Signature Verification Tools](https://awesome-repositories.com/f/security-cryptography/signature-verification-tools.md) — GitHub CLI checks digital signatures against established security policies to confirm that software packages remain untampered and safe for use. ([source](https://cli.github.com/manual/gh_attestation_verify))
- [Credential Management Integrations](https://awesome-repositories.com/f/security-cryptography/credential-management-integrations.md) — Interfaces with local system security stores to manage and inject authentication tokens into outgoing network requests automatically.
- [Provenance Verification Services](https://awesome-repositories.com/f/security-cryptography/provenance-verification-services.md) — GitHub CLI downloads cryptographically signed information for local files or container images to confirm their origin and integrity in restricted environments. ([source](https://cli.github.com/manual/gh_attestation_download))
- [Supply Chain Security Tools](https://awesome-repositories.com/f/security-cryptography/supply-chain-security-tools.md) — A utility for verifying the authenticity and integrity of software artifacts using cryptographic signatures and signed attestations.
- [Artifact Attestation Tools](https://awesome-repositories.com/f/security-cryptography/artifact-attestation-tools.md) — GitHub CLI creates local security files containing verified public keys and trust anchors to establish a foundation for validating software authenticity. ([source](https://cli.github.com/manual/gh_attestation_trusted-root))
- [Artifact Verification Tools](https://awesome-repositories.com/f/security-cryptography/artifact-verification-tools.md) — Validates the authenticity and provenance of software artifacts by comparing their digital signatures against established security policies.
- [Credential Retrieval Tools](https://awesome-repositories.com/f/security-cryptography/credential-retrieval-tools.md) — GitHub CLI fetches the current access token for a specific account or host for use in external scripts or manual operations. ([source](https://cli.github.com/manual/gh_auth_token))
- [GPG Key Management](https://awesome-repositories.com/f/security-cryptography/gpg-key-management.md) — GitHub CLI registers a GPG key to an account by providing a key file and an optional title for identification. ([source](https://cli.github.com/manual/gh_gpg-key_add))
- [Session Management](https://awesome-repositories.com/f/security-cryptography/session-management.md) — GitHub CLI removes stored authentication credentials for a specific account or host from the local machine to clear active sessions. ([source](https://cli.github.com/manual/gh_auth_logout))

### DevOps & Infrastructure

- [Workflow Automation Tools](https://awesome-repositories.com/f/devops-infrastructure/workflow-automation-tools.md) — Provides commands to cancel active workflow runs to stop unnecessary automation execution. ([source](https://cli.github.com/manual/gh_run_cancel))
- [Workflow Orchestration Tools](https://awesome-repositories.com/f/devops-infrastructure/workflow-orchestration-tools.md) — Controlling continuous integration pipelines, managing workflow runs, and handling build artifacts through terminal commands for faster automation.
- [Workflow Run Management](https://awesome-repositories.com/f/devops-infrastructure/workflow-run-management.md) — Monitors workflow run progress in real-time from the terminal. ([source](https://cli.github.com/manual/gh_run_watch))
- [Remote Development Environments](https://awesome-repositories.com/f/devops-infrastructure/remote-development-environments.md) — Provisioning, connecting to, and managing cloud-based development environments directly from the terminal to enable consistent coding setups.
- [Environment Provisioning Tools](https://awesome-repositories.com/f/devops-infrastructure/environment-provisioning-tools.md) — GitHub CLI defines tool requirements within container configuration files to ensure consistent environment setup and automated installation of necessary software. ([source](https://cdn.jsdelivr.net/gh/cli/cli@trunk/README.md))
- [Workflow Cache Management](https://awesome-repositories.com/f/devops-infrastructure/workflow-cache-management.md) — Deletes workflow caches to manage storage and pipeline performance. ([source](https://cli.github.com/manual/gh_cache_delete))

### Networking & Communication

- [Port Forwarding Tools](https://awesome-repositories.com/f/networking-communication/port-forwarding-tools.md) — GitHub CLI redirects remote ports from a development environment to a local machine to access services directly from a browser. ([source](https://cli.github.com/manual/gh_codespace_ports_forward))

### Software Engineering & Architecture

- [Governance & Compliance Tools](https://awesome-repositories.com/f/software-engineering-architecture/governance-compliance-tools.md) — Checks active branch rulesets to ensure compliance with repository policies. ([source](https://cli.github.com/manual/gh_ruleset_check))
- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/plugin-architectures.md) — Loads external binaries or scripts dynamically to allow users to add custom commands that integrate with the core interface.
